65 lines
1.8 KiB
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,
|
|
}
|