aboutsummaryrefslogtreecommitdiff
path: root/internal/action/action.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/action/action.go')
-rw-r--r--internal/action/action.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/internal/action/action.go b/internal/action/action.go
index 44f27f8..5e66708 100644
--- a/internal/action/action.go
+++ b/internal/action/action.go
@@ -1,5 +1,28 @@
package action
+import "strings"
+
+func WordPrefixMatch(input, name string) bool {
+ inputWords := strings.Fields(strings.ToLower(input))
+ if len(inputWords) == 0 {
+ return false
+ }
+ nameWords := strings.Fields(strings.ToLower(name))
+ for _, iw := range inputWords {
+ found := false
+ for _, nw := range nameWords {
+ if strings.HasPrefix(nw, iw) || strings.HasPrefix(iw, nw) {
+ found = true
+ break
+ }
+ }
+ if !found {
+ return false
+ }
+ }
+ return true
+}
+
type Action struct {
Type string
TargetID string