mirror of
https://github.com/Llewellynvdm/fzf.git
synced 2024-12-23 11:29:01 +00:00
Fix --with-nth option when query is non-empty
This commit is contained in:
parent
f670f4f076
commit
4f40314433
@ -235,9 +235,10 @@ func (p *Pattern) fuzzyMatch(chunk *Chunk) []*Item {
|
||||
input := p.prepareInput(item)
|
||||
if sidx, eidx := p.iter(FuzzyMatch, input, p.text); sidx >= 0 {
|
||||
matches = append(matches, &Item{
|
||||
text: item.text,
|
||||
offsets: []Offset{Offset{int32(sidx), int32(eidx)}},
|
||||
rank: Rank{0, 0, item.rank.index}})
|
||||
text: item.text,
|
||||
origText: item.origText,
|
||||
offsets: []Offset{Offset{int32(sidx), int32(eidx)}},
|
||||
rank: Rank{0, 0, item.rank.index}})
|
||||
}
|
||||
}
|
||||
return matches
|
||||
@ -262,9 +263,10 @@ func (p *Pattern) extendedMatch(chunk *Chunk) []*Item {
|
||||
}
|
||||
if len(offsets) == len(p.terms) {
|
||||
matches = append(matches, &Item{
|
||||
text: item.text,
|
||||
offsets: offsets,
|
||||
rank: Rank{0, 0, item.rank.index}})
|
||||
text: item.text,
|
||||
origText: item.origText,
|
||||
offsets: offsets,
|
||||
rank: Rank{0, 0, item.rank.index}})
|
||||
}
|
||||
}
|
||||
return matches
|
||||
|
@ -85,3 +85,21 @@ func TestCaseSensitivity(t *testing.T) {
|
||||
t.Error("Invalid case conversion")
|
||||
}
|
||||
}
|
||||
|
||||
func TestOrigText(t *testing.T) {
|
||||
strptr := func(str string) *string {
|
||||
return &str
|
||||
}
|
||||
|
||||
pattern := BuildPattern(MODE_EXTENDED, CASE_SMART, []Range{}, nil, []rune("jg"))
|
||||
for _, fun := range []func(*Chunk) []*Item{pattern.fuzzyMatch, pattern.extendedMatch} {
|
||||
chunk := Chunk{
|
||||
&Item{text: strptr("junegunn"), origText: strptr("junegunn.choi")},
|
||||
}
|
||||
matches := fun(&chunk)
|
||||
if *matches[0].text != "junegunn" || *matches[0].origText != "junegunn.choi" ||
|
||||
matches[0].offsets[0][0] != 0 || matches[0].offsets[0][1] != 5 {
|
||||
t.Error("Invalid match result", matches)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user