return { { "nvim-telescope/telescope.nvim", enabled = true, lazy = false, cmd = "Telescope", dependencies = { "nvim-lua/plenary.nvim", "nvim-telescope/telescope-ui-select.nvim" }, config = function(_, _) local builtin = require("telescope.builtin") require("telescope").setup({ extensions = { ["ui-select"] = { require("telescope.themes").get_dropdown() } }, defaults = { ["borderchars"] = { "-", "¦", "-", "¦", "⌌", "⌍", "⌏", "⌎" }, layout_strategy = "horizontal", layout_config = { horizontal = { width = { padding = 0 }, height = 0.99 } }, cache_picker = { num_pickers = 100, limit_entries = 100, ignore_empty_prompt = true } }, pickers = { live_grep = { additional_args = function(_) return { "--hidden", "--glob=!**/.git/*" } end } } }) vim.keymap.set("n", "f", function() require("telescope").extensions.file_browser.file_browser({ select_buffer = true, grouped = true, no_ignore = true, hidden = true, respect_gitignore = false, path = vim.fn.expand("%:p:h") }) end, {}) vim.keymap.set("n", "s", builtin.resume) vim.keymap.set("n", "S", builtin.pickers) vim.keymap.set("n", "T", builtin.treesitter) vim.keymap.set("n", "a", builtin.find_files) vim.keymap.set("n", "g", builtin.git_files) vim.keymap.set("n", "G", builtin.git_status) vim.keymap.set("n", "b", builtin.buffers) vim.keymap.set("n", "j", builtin.jumplist) vim.keymap.set("n", "w", builtin.grep_string) vim.keymap.set("n", "ld", builtin.lsp_definitions) vim.keymap.set("n", "lt", builtin.lsp_type_definitions) vim.keymap.set("n", "lr", builtin.lsp_references) vim.keymap.set("n", "li", builtin.lsp_implementations) vim.keymap.set("n", "ls", builtin.lsp_document_symbols) vim.keymap.set("n", "lS", builtin.lsp_workspace_symbols) require("telescope").load_extension("ui-select") require("telescope").load_extension("file_browser") end }, { "nvim-telescope/telescope-file-browser.nvim", dependencies = { "nvim-telescope/telescope.nvim" }, enabled = true, lazy = false, config = function(_, _) require("telescope").setup({ extensions = { file_browser = { respect_gitignore = false, hidden = { file_browser = true, folder_browser = true }, hijack_netrw = true, display_stat = { date = false, size = true, mode = false }, mappings = {} } } }) require("telescope").load_extension("file_browser") end }, { dir = vim.fn.stdpath("config") .. "/custom/telescope-shroud", name = "telescope-shroud", dependencies = { "nvim-telescope/telescope.nvim", "command-palette", "nvim-lua/plenary.nvim" }, enabled = true, config = function(_, _) local shroud = require("telescope-shroud") local palette = require("command-palette") palette.add({ { "Telescope Shroud", "Telescope `grep` filter management", { { "Populate", "Reload the list of filter options", shroud.populate }, { "Clear default", "Reset the default filters", function() shroud.set_default({}) end }, { "Set default", "Set the default filters", shroud.set_default }, { "Open default", "Set the default filters", shroud.open_default }, { "Open narrow", "Set the default filters", shroud.open_narrow } } } }) vim.keymap.set("n", "i", shroud.open_default) vim.keymap.set("n", "I", shroud.open_narrow) end } }