nix/homes/modules/programs/neovim/lua/plugins/telescope.lua

103 lines
2.2 KiB
Lua
Raw Normal View History

2026-02-12 18:53:24 +00:00
return {
2026-02-21 19:05:00 +00:00
{
"telescope.nvim",
enabled = nixCats("telescope.enable") or false,
2026-02-21 19:05:00 +00:00
cmd = { "Telescope" },
keys = {
{
"<leader>f",
function()
return require("telescope.builtin").find_files()
end,
mode = { "n" },
desc = "Telescope search [F]iles",
},
{
"<leader>tr",
function()
return require("telescope.builtin").oldfiles()
end,
mode = { "n" },
desc = "[T]elescope search [R]ecent files",
},
{
"<leader>ts",
function()
return require("telescope.builtin").live_grep()
end,
mode = { "n" },
desc = "[T]elescope [S]earch cwd with grep",
},
{
"<leader>tw",
function()
return require("telescope.builtin").grep_string()
end,
mode = { "n" },
desc = "[T]elescope search current [W]ord",
},
{
"<leader>tk",
function()
return require("telescope.builtin").keymaps()
end,
mode = { "n" },
desc = "[T]elescope search [K]eymaps",
},
{
"<leader>tb",
function()
return require("telescope.builtin").buffers()
end,
mode = { "n" },
desc = "[T]elescope search [B]uffers",
},
{
"<leader>th",
function()
return require("telescope.builtin").highlights()
end,
mode = { "n" },
desc = "[T]elescope [H]ighlights",
},
2026-02-21 19:05:00 +00:00
},
load = function(name)
vim.cmd.packadd(name)
if nixCats("telescope.fzf") then
vim.cmd.packadd("telescope-fzf-native.nvim")
end
if nixCats("telescope.zf") then
vim.cmd.packadd("telescope-zf-native.nvim")
end
2026-02-21 19:05:00 +00:00
end,
after = function(plugin)
local telescope = require("telescope")
local actions = require("telescope.actions")
2026-02-12 18:53:24 +00:00
2026-02-21 19:05:00 +00:00
telescope.setup({
defaults = {
border = true,
borderchars = { "", "", "", "", "", "", "", "" },
2026-02-21 19:05:00 +00:00
mappings = {
i = {
["<C-k>"] = actions.move_selection_previous, -- move to prev result
["<C-j>"] = actions.move_selection_next, -- move to next result
["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
},
},
},
})
2026-02-12 18:53:24 +00:00
if nixCats("telescope.fzf") then
telescope.load_extension("fzf")
end
if nixCats("telescope.zf") then
telescope.load_extension("zf-native")
end
2026-02-21 19:05:00 +00:00
end,
},
2026-02-12 18:53:24 +00:00
}