fix search by type

This commit is contained in:
Weidi Deng 2021-01-05 17:36:10 +08:00
parent 43e0d4a856
commit 76c74d9fd5

View File

@ -29,6 +29,8 @@ func Search(fs afero.Fs, scope, query string, checker rules.Checker, found func(
originalPath = strings.TrimPrefix(originalPath, "/") originalPath = strings.TrimPrefix(originalPath, "/")
originalPath = "/" + originalPath originalPath = "/" + originalPath
path := originalPath path := originalPath
originalPath = strings.TrimPrefix(originalPath, scope)
originalPath = strings.TrimPrefix(originalPath, "/")
if path == scope { if path == scope {
return nil return nil
@ -43,25 +45,18 @@ func Search(fs afero.Fs, scope, query string, checker rules.Checker, found func(
} }
if len(search.Conditions) > 0 { if len(search.Conditions) > 0 {
match := false
for _, t := range search.Conditions { for _, t := range search.Conditions {
if t(path) { if t(path) {
match = true return found(originalPath, f)
break
} }
} }
if !match {
return nil return nil
} }
}
if len(search.Terms) > 0 { if len(search.Terms) > 0 {
for _, term := range search.Terms { for _, term := range search.Terms {
if strings.Contains(path, term) { if strings.Contains(path, term) {
originalPath = strings.TrimPrefix(originalPath, scope)
originalPath = strings.TrimPrefix(originalPath, "/")
return found(originalPath, f) return found(originalPath, f)
} }
} }