Code Search

Forgejo supports code search through an indexer and git-grep as a fallback when REPO_INDEXER_ENABLED is disabled.

Basic (git-grep)

Code search results page using git-grep

If REPO_INDEXER_ENABLED is set to false, the code search function will be limited to a single repository and will use git-grep.

Currently, only fixed strings are supported and any case differences are ignored. The search results will include the matched line, along with a single line before and after the match.

Since, the searches are performed on the fly they may be performed on any valid branch or tag.

The active branch/tag will be displayed as the default value on the dropdown present just above the search bar, which may also be used to easily switch between branches and tags.

Indexer

Code search results page using indexer

For advanced search queries and searching across an entire organisation or instance, REPO_INDEXER_ENABLED: true enables code search via bleve/elasticsearch.

However, search results are limited to the HEAD of the repository.