aboutsummaryrefslogtreecommitdiffstats
path: root/modules/indexer/code/internal
diff options
context:
space:
mode:
Diffstat (limited to 'modules/indexer/code/internal')
-rw-r--r--modules/indexer/code/internal/indexer.go8
-rw-r--r--modules/indexer/code/internal/util.go12
-rw-r--r--modules/indexer/code/internal/util_test.go30
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)
- }
-}