home/dot_config/nvim/lua/plugins/telescope.lua

69 lines
1.7 KiB
Lua

-- Telescope, and other file picker-related plugins
return {
{
"nvim-telescope/telescope.nvim",
lazy = false,
requires = {
"nvim-lua/plenary.nvim",
"xvzc/chezmoi.nvim",
},
config = function()
local telescope = require("telescope")
telescope.setup({})
telescope.load_extension("chezmoi")
end,
keys = {
{
"<leader><space>",
"<cmd>Telescope find_files<cr>",
desc = "Find files",
},
{
"<leader>ss",
"<cmd>Telescope current_buffer_fuzzy_find<cr>",
desc = "Search in buffer",
},
{
"<leader>cd",
"<cmd>Telescope diagnostics bufnr=0<cr>",
desc = "List diagnostics",
},
{
"<leader>sp",
"<cmd>Telescope live_grep<cr>",
desc = "Search in project",
},
{
"<leader>bb",
"<cmd>Telescope buffers<cr>",
desc = "Find buffer",
},
},
},
{
"xvzc/chezmoi.nvim",
config = function()
require("chezmoi").setup({
-- Treat all files in my chezmoi source directory as source files
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
pattern = { os.getenv("HOME") .. "/.local/share/chezmoi/*" },
callback = function(evt)
local bufnr = evt.buf
local edit_watch = function()
require("chezmoi.commands.__edit").watch(bufnr)
end
vim.schedule(edit_watch)
end,
}),
})
end,
keys = {
{
"<leader>fc",
"<cmd>Telescope chezmoi find_files<cr>",
desc = "Find Chezmoi-managed files",
},
},
},
}