mirror of
https://github.com/go-gitea/gitea.git
synced 2025-04-20 20:32:11 +02:00
Each "indexer" should provide the "search modes" they support by themselves. And we need to remove the "fuzzy" search for code.
34 lines
969 B
Go
34 lines
969 B
Go
// Copyright 2024 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package common
|
|
|
|
import (
|
|
"code.gitea.io/gitea/modules/indexer"
|
|
code_indexer "code.gitea.io/gitea/modules/indexer/code"
|
|
"code.gitea.io/gitea/modules/setting"
|
|
"code.gitea.io/gitea/services/context"
|
|
)
|
|
|
|
func PrepareCodeSearch(ctx *context.Context) (ret struct {
|
|
Keyword string
|
|
Language string
|
|
SearchMode indexer.SearchModeType
|
|
},
|
|
) {
|
|
ret.Language = ctx.FormTrim("l")
|
|
ret.Keyword = ctx.FormTrim("q")
|
|
ret.SearchMode = indexer.SearchModeType(ctx.FormTrim("search_mode"))
|
|
|
|
ctx.Data["Keyword"] = ret.Keyword
|
|
ctx.Data["Language"] = ret.Language
|
|
ctx.Data["SelectedSearchMode"] = string(ret.SearchMode)
|
|
if setting.Indexer.RepoIndexerEnabled {
|
|
ctx.Data["SearchModes"] = code_indexer.SupportedSearchModes()
|
|
} else {
|
|
ctx.Data["SearchModes"] = indexer.GitGrepSupportedSearchModes()
|
|
}
|
|
ctx.Data["IsRepoIndexerEnabled"] = setting.Indexer.RepoIndexerEnabled
|
|
return ret
|
|
}
|