multiple possible matches
This commit is contained in:
parent
422a0f0d6a
commit
25448a21d9
@ -25,6 +25,7 @@ var (
|
||||
type Suggest struct {
|
||||
Text string
|
||||
Description string
|
||||
AlsoMatch []string
|
||||
}
|
||||
|
||||
// CompletionManager manages which suggestion is now selected.
|
||||
|
16
filter.go
16
filter.go
@ -59,12 +59,16 @@ func filterSuggestions(suggestions []Suggest, sub string, ignoreCase bool, funct
|
||||
|
||||
ret := make([]Suggest, 0, len(suggestions))
|
||||
for i := range suggestions {
|
||||
c := suggestions[i].Text
|
||||
if ignoreCase {
|
||||
c = strings.ToUpper(c)
|
||||
}
|
||||
if function(c, sub) {
|
||||
ret = append(ret, suggestions[i])
|
||||
possibleMatches := append(suggestions[i].AlsoMatch, suggestions[i].Text)
|
||||
for _, possibleMatch := range possibleMatches {
|
||||
c := possibleMatch
|
||||
if ignoreCase {
|
||||
c = strings.ToUpper(c)
|
||||
}
|
||||
if function(c, sub) {
|
||||
ret = append(ret, suggestions[i])
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret
|
||||
|
Loading…
Reference in New Issue
Block a user