return { "nvim-telescope/telescope.nvim", tag = "0.1.8", dependencies = { "nvim-lua/plenary.nvim", "nvim-telescope/telescope-symbols.nvim", { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, }, config = function() require("telescope").setup({ defaults = { file_ignore_patterns = { ".git", ".venv", ".node_modules" }, }, extensions = { file_browser = { theme = "ivy", hijack_netrw = true, }, ["ui-select"] = { require("telescope.themes").get_dropdown({ -- even more opts }), }, }, }) local builtin = require("telescope.builtin") vim.keymap.set("n", "ff", function() builtin.find_files({ hidden = true }) end, { desc = "Telescope find files (current file dir)" }) vim.keymap.set("n", "fn", function() local full_path = vim.api.nvim_buf_get_name(0) local dir = vim.fn.fnamemodify(full_path, ":h") require("telescope").extensions.file_browser.file_browser({ path = dir, }) end) vim.keymap.set("n", "fs", function() -- select sessions MiniSessions.select() end) vim.keymap.set("n", "fd", function() -- select sessions MiniSessions.select("delete") end) vim.keymap.set("n", "fg", function() builtin.live_grep() end, { desc = "Telescope live grep (current file dir)" }) vim.keymap.set("n", "fb", function() builtin.buffers({ cwd = vim.fn.expand("%:p:h") }) -- buffers don’t need cwd, but harmless end, { desc = "Telescope buffers" }) require("telescope").load_extension("file_browser") require("telescope").load_extension("ui-select") require("telescope").load_extension("nerdy") end, }