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", "sf", 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", "ss", builtin.resume) vim.keymap.set("n", "sS", builtin.pickers) vim.keymap.set("n", "sa", builtin.find_files) vim.keymap.set("n", "sg", builtin.git_files) vim.keymap.set("n", "sb", builtin.buffers) vim.keymap.set("n", "sj", builtin.jumplist) vim.keymap.set("n", "sw", builtin.grep_string) vim.keymap.set("n", "sld", builtin.lsp_definitions) vim.keymap.set("n", "slt", builtin.lsp_type_definitions) vim.keymap.set("n", "slr", builtin.lsp_references) vim.keymap.set("n", "sli", builtin.lsp_implementations) vim.keymap.set("n", "sls", builtin.lsp_dynamic_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 = "../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", "si", shroud.open_default) vim.keymap.set("n", "sI", shroud.open_narrow) end } }