diff options
| author | ewy <ewy0@protonmail.com> | 2026-08-25 18:16:55 +0200 |
|---|---|---|
| committer | ewy <ewy0@protonmail.com> | 2026-08-25 18:16:55 +0200 |
| commit | 820fab7a675235caf9dfb14ac3fb06020a71ed96 (patch) | |
| tree | d0f65d4660294dbb22804616c93bac457aef1cee /menu | |
| parent | 7dfe24e9571a1bb86739cf136970abd939a847ee (diff) | |
using search, first targets match search terms for respective source
Diffstat (limited to 'menu')
| -rw-r--r-- | menu/model.go | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/menu/model.go b/menu/model.go index 68d55e3..f947a17 100644 --- a/menu/model.go +++ b/menu/model.go @@ -11,6 +11,7 @@ import ( "github.com/charmbracelet/x/term" "github.com/spf13/pflag" "os" + "slices" "strings" ) @@ -34,7 +35,7 @@ func (m *Model) Highlights(src *model.HydratedSource, t model.HydratedTarget) bo return false } - if strings.Contains(t.Target().Label(), val) { + if strings.Contains(strings.Join(append(t.Target().Sub(), t.Target().Label()), " "), val) { return true } @@ -42,8 +43,20 @@ func (m *Model) Highlights(src *model.HydratedSource, t model.HydratedTarget) bo return true } - if strings.Contains(strings.Join(append(t.Target().Sub(), t.Target().Label()), " "), val) { - return true + if slices.Index(src.HydratedTargets, t) != 0 { + return false + } + + srcIds := []string{ + src.Identity.Full, + src.Identity.Reduced, + } + srcIds = append(srcIds, src.Aliases...) + + for _, id := range srcIds { + if src.Is(id) { + return true + } } return false |
