dots/config/nvim/lua/aleidk/plugins/telescope.lua

65 lines
1.8 KiB
Lua

-- Fuzzy Finder (files, lsp, etc)
return {
"nvim-telescope/telescope.nvim",
version = "*",
dependencies = {
{ "nvim-lua/plenary.nvim" },
{
-- Blazingly Fast Fuzzy Finder Algorithm for Telescope
"nvim-telescope/telescope-fzf-native.nvim",
build = "make",
cond = function()
return vim.fn.executable("make") == 1
end,
},
},
opts = {
defaults = {
mappings = {
i = {
["<c-u>"] = false,
["<c-d>"] = false,
},
},
},
},
config = function(_, opts)
local telescope = require("telescope")
telescope.setup(opts)
-- Enable telescope fzf native, if installed
pcall(telescope.load_extension, "fzf")
-- See `:help telescope.builtin`
vim.keymap.set(
"n",
"<leader>?",
require("telescope.builtin").oldfiles,
{ desc = "[?] Find recently opened files" }
)
vim.keymap.set(
"n",
"<leader><space>",
require("telescope.builtin").buffers,
{ desc = "[ ] Find existing buffers" }
)
vim.keymap.set("n", "<leader>/", function()
-- You can pass additional configuration to telescope to change theme, layout, etc.
require("telescope.builtin").current_buffer_fuzzy_find(require("telescope.themes").get_dropdown({
winblend = 10,
previewer = false,
}))
end, { desc = "[/] Fuzzily search in current buffer" })
vim.keymap.set("n", "<leader>sf", require("telescope.builtin").find_files, { desc = "[S]earch [F]iles" })
vim.keymap.set("n", "<leader>sh", require("telescope.builtin").help_tags, { desc = "[S]earch [H]elp" })
vim.keymap.set(
"n",
"<leader>sw",
require("telescope.builtin").grep_string,
{ desc = "[S]earch current [W]ord" }
)
vim.keymap.set("n", "<leader>sg", require("telescope.builtin").live_grep, { desc = "[S]earch by [G]rep" })
vim.keymap.set("n", "<leader>sd", require("telescope.builtin").diagnostics, { desc = "[S]earch [D]iagnostics" })
end,
}