--- @type LazyPluginSpec return { "nvim-telescope/telescope.nvim", tag = "0.1.4", dependencies = { "nvim-lua/plenary.nvim", "nvim-telescope/telescope-file-browser.nvim", "nvim-telescope/telescope-project.nvim", { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, }, config = function() local telescope = require("telescope") local builtin = require("telescope.builtin") local command = { "fd", "-I", "-H", "--type", "file" } local ignored = { "node_modules", ".git", "dist" } for i, v in ipairs(ignored) do table.insert(command, "--exclude") table.insert(command, v) end telescope.load_extension("project") telescope.setup({ pickers = { find_files = { find_command = command, }, }, extensions = { project = { -- sync_with_nvim_tree = true, -- on_project_selected = function() -- require("nvim-tree.api").tree.change_root(vim.fn.getcwd()) -- end, }, file_browser = { hidden = { file_browser = true, folder_browser = true, }, }, fzf = { fuzzy = true, -- false will only do exact matching override_generic_sorter = true, -- override the generic sorter override_file_sorter = true, -- override the file sorter case_mode = "smart_case", -- or "ignore_case" or "respect_case" }, }, }) telescope.load_extension("file_browser") telescope.load_extension("fzf") vim.keymap.set("n", "ff", "Telescope find_files", { silent = true, desc = "Find files" }) vim.keymap.set("n", "fg", "Telescope live_grep", { silent = true, desc = "Live grep" }) vim.keymap.set("n", "fB", "Telescope builtin", { silent = true, desc = "Find builtins" }) vim.keymap.set("n", "fh", "Telescope help_tags", { silent = true, desc = "Help tags" }) vim.keymap.set("n", "fd", "Telescope file_browser", { silent = true, desc = "File browser" }) vim.keymap.set("n", "fr", "Telescope reloader", { silent = true, desc = "Reload config" }) vim.keymap.set("n", "fc", "Telescope commands", { silent = true, desc = "Commands" }) end, }