local Util = require("lazyvim.util") local actions = require("telescope.actions") return { { "nvim-telescope/telescope.nvim", dependencies = { { "2kabhishek/nerdy.nvim", dependencies = { "stevearc/dressing.nvim", }, cmd = "Nerdy", }, { "nvim-telescope/telescope-fzf-native.nvim", build = "make", enabled = vim.fn.executable("make") == 1, config = function() Util.on_load("telescope.nvim", function() require("telescope").load_extension("fzf") end) end, }, { "prochri/telescope-all-recent.nvim", dependencies = { "kkharji/sqlite.lua", }, opts = { pickers = { ["workspaces.nvim#workspaces"] = { disable = false, sorting = "frecency", }, ["project.nvim#projects"] = { disable = false, sorting = "frecency", }, ["yanky.nvim#yank_history"] = { disable = true, }, ["zoxide.nvim#zoxide"] = { disable = true, }, }, }, }, { "nvim-telescope/telescope-dap.nvim", config = function() Util.on_load("telescope.nvim", function() require("telescope").load_extension("dap") end) end, }, { "benfowler/telescope-luasnip.nvim", config = function() Util.on_load("telescope.nvim", function() require("telescope").load_extension("luasnip") end) end, }, { "jvgrootveld/telescope-zoxide", config = function() Util.on_load("telescope.nvim", function() require("telescope").load_extension("zoxide") end) end, }, { "tsakirist/telescope-lazy.nvim", config = function() Util.on_load("telescope.nvim", function() require("telescope").load_extension("lazy") end) end, }, }, keys = { { "dm", "Telescope dap commands", desc = "Commands", }, { "df", "Telescope dap frames", desc = "Frames", }, { "dG", "Telescope dap configurations", desc = "Configurations", }, { "dL", "Telescope dap list_breakpoints", desc = "List Breakpoints", }, { "dv", "Telescope dap variables", desc = "Variables", }, { "sz", "Telescope zoxide list", desc = "Zoxide" }, { "sp", "Telescope lazy", desc = "Plugins (Lazy)" }, { "sl", "Telescope luasnip", desc = "Luasnip (Snippets)" }, { "sN", "Nerdy", desc = "Nerd Fonts" }, { "gC", "Telescope git_commits", desc = "Commits" }, { "ssa", Util.telescope("lsp_document_symbols", { symbols = { "Class", "Function", "Method", "Constructor", "Interface", "Module", "Struct", "Trait", "Field", "Property", "Enum", "Constant", }, }), desc = "All", }, { "ssc", Util.telescope("lsp_document_symbols", { symbols = { "Class", }, }), desc = "Class", }, { "ssf", Util.telescope("lsp_document_symbols", { symbols = { "Function", }, }), desc = "Function", }, { "ssm", Util.telescope("lsp_document_symbols", { symbols = { "Method", }, }), desc = "Method", }, { "ssC", Util.telescope("lsp_document_symbols", { symbols = { "Constructor", }, }), desc = "Constructor", }, { "sse", Util.telescope("lsp_document_symbols", { symbols = { "Enum", }, }), desc = "Enum", }, { "ssi", Util.telescope("lsp_document_symbols", { symbols = { "Interface", }, }), desc = "Interface", }, { "ssM", Util.telescope("lsp_document_symbols", { symbols = { "Module", }, }), desc = "Module", }, { "sss", Util.telescope("lsp_document_symbols", { symbols = { "Struct", }, }), desc = "Struct", }, { "sst", Util.telescope("lsp_document_symbols", { symbols = { "Trait", }, }), desc = "Trait", }, { "ssF", Util.telescope("lsp_document_symbols", { symbols = { "Field", }, }), desc = "Field", }, { "ssp", Util.telescope("lsp_document_symbols", { symbols = { "Property", }, }), desc = "Property", }, { "ssv", Util.telescope("lsp_document_symbols", { symbols = { "Variable", "Parameter", }, }), desc = "Variable", }, { "sSa", Util.telescope("lsp_dynamic_workspace_symbols", { symbols = { "Class", "Function", "Method", "Constructor", "Interface", "Module", "Struct", "Trait", "Field", "Property", "Enum", "Constant", }, }), desc = "All", }, { "sSc", Util.telescope("lsp_dynamic_workspace_symbols", { symbols = { "Class", }, }), desc = "Class", }, { "sSf", Util.telescope("lsp_dynamic_workspace_symbols", { symbols = { "Function", }, }), desc = "Function", }, { "sSm", Util.telescope("lsp_dynamic_workspace_symbols", { symbols = { "Method", }, }), desc = "Method", }, { "sSC", Util.telescope("lsp_dynamic_workspace_symbols", { symbols = { "Constructor", }, }), desc = "Constructor", }, { "sSe", Util.telescope("lsp_dynamic_workspace_symbols", { symbols = { "Enum", }, }), desc = "Enum", }, { "sSi", Util.telescope("lsp_dynamic_workspace_symbols", { symbols = { "Interface", }, }), desc = "Interface", }, { "sSM", Util.telescope("lsp_dynamic_workspace_symbols", { symbols = { "Module", }, }), desc = "Module", }, { "sSs", Util.telescope("lsp_dynamic_workspace_symbols", { symbols = { "Struct", }, }), desc = "Struct", }, { "sSt", Util.telescope("lsp_dynamic_workspace_symbols", { symbols = { "Trait", }, }), desc = "Trait", }, { "sSF", Util.telescope("lsp_dynamic_workspace_symbols", { symbols = { "Field", }, }), desc = "Field", }, { "sSp", Util.telescope("lsp_dynamic_workspace_symbols", { symbols = { "Property", }, }), desc = "Property", }, { "sSv", Util.telescope("lsp_dynamic_workspace_symbols", { symbols = { "Variable", "Parameter", }, }), desc = "Variable", }, { "sA", Util.telescope("treesitter"), desc = "Treesitter Symbols", }, }, opts = { defaults = { mappings = { i = { [""] = actions.move_selection_previous, [""] = actions.move_selection_next, [""] = actions.close, [""] = false, [""] = require("telescope.actions.layout").toggle_preview, }, }, file_ignore_patterns = { ".gitignore", "node_modules", "build", "dist", "yarn.lock", "*.git/*", "*/tmp/*", }, pickers = { find_files = { hidden = true, }, }, extensions = { undo = { use_delta = true, side_by_side = true, layout_strategy = "vertical", layout_config = { preview_height = 0.8, }, }, import = { insert_at_top = true, }, fzf = { fuzzy = true, override_generic_sorter = true, override_file_sorter = true, case_mode = "smart_case", }, }, }, }, }, { "folke/which-key.nvim", opts = { defaults = { ["sS"] = { name = "+Goto Symbols (Workspace)" }, ["ss"] = { name = "+Goto Symbols" }, }, }, }, { "axieax/urlview.nvim", cmd = { "UrlView" }, keys = { { "sU", "UrlView", desc = "Search Urls" } }, opts = { default_picker = "telescope", }, }, }