gitea源码

codesearch.go 969B

12345678910111213141516171819202122232425262728293031323334
  1. // Copyright 2024 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package common
  4. import (
  5. "code.gitea.io/gitea/modules/indexer"
  6. code_indexer "code.gitea.io/gitea/modules/indexer/code"
  7. "code.gitea.io/gitea/modules/setting"
  8. "code.gitea.io/gitea/services/context"
  9. )
  10. func PrepareCodeSearch(ctx *context.Context) (ret struct {
  11. Keyword string
  12. Language string
  13. SearchMode indexer.SearchModeType
  14. },
  15. ) {
  16. ret.Language = ctx.FormTrim("l")
  17. ret.Keyword = ctx.FormTrim("q")
  18. ret.SearchMode = indexer.SearchModeType(ctx.FormTrim("search_mode"))
  19. ctx.Data["Keyword"] = ret.Keyword
  20. ctx.Data["Language"] = ret.Language
  21. ctx.Data["SelectedSearchMode"] = string(ret.SearchMode)
  22. if setting.Indexer.RepoIndexerEnabled {
  23. ctx.Data["SearchModes"] = code_indexer.SupportedSearchModes()
  24. } else {
  25. ctx.Data["SearchModes"] = indexer.GitGrepSupportedSearchModes()
  26. }
  27. ctx.Data["IsRepoIndexerEnabled"] = setting.Indexer.RepoIndexerEnabled
  28. return ret
  29. }