greptile.nvim is a lua plugin for Neovim >= 0.8.0 to search for files in natural language.
demo.mp4
- Search for any file or set of files is natural language with the Greptile API
- Jump directly into the file
- [wip] Navigate directly to the line that's relevant to your query
- [wip] Chat with multiple codebases at once
- Neovim >= 0.8.0 (use the
neovim-pre-0.8.0
branch for older versions) - optional:
- ripgrep and plenary.nvim are used for searching.
- Telescope
This plugin also assumes GREPTILE_API_KEY
and GITHUB_TOKEN
are environment variables. Please see the Greptile Docs for more information.
After creating these keys, you can add them to your environment in the following way:
export GREPTILE_API_KEY=XXX
export GITHUB_TOKEN=XXX
Install the plugin with your preferred package manager:
return {
"rajitkhanna/greptile.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope.nvim",
},
config = function()
local keymap = vim.keymap
keymap.set("n", "<leader>ss", "<cmd>GreptileSearch<cr>", { desc = "Semantic search files" })
end,
}
Semantic Search queries the repo using your query:
:GreptileSearch