Simplify nth comparison when reusing transformed tokens

This commit is contained in:
Junegunn Choi
2025-01-13 17:37:50 +09:00
parent ba0935c71f
commit 56fef7c8df
4 changed files with 14 additions and 19 deletions

View File

@@ -192,11 +192,12 @@ func Run(opts *Options) (int, error) {
}
nth := opts.Nth
nthRevision := 0
patternCache := make(map[string]*Pattern)
patternBuilder := func(runes []rune) *Pattern {
return BuildPattern(cache, patternCache,
opts.Fuzzy, opts.FuzzyAlgo, opts.Extended, opts.Case, opts.Normalize, forward, withPos,
opts.Filter == nil, nth, opts.Delimiter, runes)
opts.Filter == nil, nth, opts.Delimiter, nthRevision, runes)
}
inputRevision := revision{}
snapshotRevision := revision{}
@@ -378,6 +379,7 @@ func Run(opts *Options) (int, error) {
if val.nth != nil {
// Change nth and clear caches
nth = *val.nth
nthRevision++
patternCache = make(map[string]*Pattern)
cache.Clear()
inputRevision.bumpMinor()