diff options
Diffstat (limited to 'modules/indexer/code/internal')
-rw-r--r-- | modules/indexer/code/internal/indexer.go | 8 | ||||
-rw-r--r-- | modules/indexer/code/internal/util.go | 12 | ||||
-rw-r--r-- | modules/indexer/code/internal/util_test.go | 30 |
3 files changed, 8 insertions, 42 deletions
diff --git a/modules/indexer/code/internal/indexer.go b/modules/indexer/code/internal/indexer.go index c259fcd26e..6c9a8af635 100644 --- a/modules/indexer/code/internal/indexer.go +++ b/modules/indexer/code/internal/indexer.go @@ -9,6 +9,7 @@ import ( "code.gitea.io/gitea/models/db" repo_model "code.gitea.io/gitea/models/repo" + "code.gitea.io/gitea/modules/indexer" "code.gitea.io/gitea/modules/indexer/internal" ) @@ -18,6 +19,7 @@ type Indexer interface { Index(ctx context.Context, repo *repo_model.Repository, sha string, changes *RepoChanges) error Delete(ctx context.Context, repoID int64) error Search(ctx context.Context, opts *SearchOptions) (int64, []*SearchResult, []*SearchResultLanguages, error) + SupportedSearchModes() []indexer.SearchMode } type SearchOptions struct { @@ -25,7 +27,7 @@ type SearchOptions struct { Keyword string Language string - IsKeywordFuzzy bool + SearchMode indexer.SearchModeType db.Paginator } @@ -41,6 +43,10 @@ type dummyIndexer struct { internal.Indexer } +func (d *dummyIndexer) SupportedSearchModes() []indexer.SearchMode { + return nil +} + func (d *dummyIndexer) Index(ctx context.Context, repo *repo_model.Repository, sha string, changes *RepoChanges) error { return fmt.Errorf("indexer is not ready") } diff --git a/modules/indexer/code/internal/util.go b/modules/indexer/code/internal/util.go index 46e631166d..fa958be473 100644 --- a/modules/indexer/code/internal/util.go +++ b/modules/indexer/code/internal/util.go @@ -10,9 +10,7 @@ import ( "code.gitea.io/gitea/modules/log" ) -const ( - filenameMatchNumberOfLines = 7 // Copied from github search -) +const filenameMatchNumberOfLines = 7 // Copied from GitHub search func FilenameIndexerID(repoID int64, filename string) string { return internal.Base36(repoID) + "_" + filename @@ -48,11 +46,3 @@ func FilenameMatchIndexPos(content string) (int, int) { } return 0, len(content) } - -func ParseKeywordAsPhrase(keyword string) (string, bool) { - if strings.HasPrefix(keyword, `"`) && strings.HasSuffix(keyword, `"`) && len(keyword) > 1 { - // only remove the prefix and suffix quotes, no need to decode the content at the moment - return keyword[1 : len(keyword)-1], true - } - return "", false -} diff --git a/modules/indexer/code/internal/util_test.go b/modules/indexer/code/internal/util_test.go deleted file mode 100644 index 457936296b..0000000000 --- a/modules/indexer/code/internal/util_test.go +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2025 The Gitea Authors. All rights reserved. -// SPDX-License-Identifier: MIT - -package internal - -import ( - "testing" - - "github.com/stretchr/testify/assert" -) - -func TestParseKeywordAsPhrase(t *testing.T) { - cases := []struct { - keyword string - phrase string - isPhrase bool - }{ - {``, "", false}, - {`a`, "", false}, - {`"`, "", false}, - {`"a`, "", false}, - {`"a"`, "a", true}, - {`""\"""`, `"\""`, true}, - } - for _, c := range cases { - phrase, isPhrase := ParseKeywordAsPhrase(c.keyword) - assert.Equal(t, c.phrase, phrase, "keyword=%q", c.keyword) - assert.Equal(t, c.isPhrase, isPhrase, "keyword=%q", c.keyword) - } -} |