summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorewy <ewy0@protonmail.com>2026-08-25 18:16:55 +0200
committerewy <ewy0@protonmail.com>2026-08-25 18:16:55 +0200
commit820fab7a675235caf9dfb14ac3fb06020a71ed96 (patch)
treed0f65d4660294dbb22804616c93bac457aef1cee
parent7dfe24e9571a1bb86739cf136970abd939a847ee (diff)
using search, first targets match search terms for respective source
-rw-r--r--menu/model.go19
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