local mini = function(key, action, desc) return { key, "Pick " .. action .. "", mode = { "n" }, desc = desc, } end local telescope_builtin = function(key, action, desc) return { key, "Telescope " .. action .. "", mode = { "n" }, desc = desc, } end return { { "mini.pick", for_cat = "core.picker.mini", event = "DeferredUIEnter", keys = { mini("ff", "files", "finde files"), mini("fb", "buffers", "Find open buffers"), mini("fh", "help", "Find help"), mini("/", "grep_live", "Live grep"), -- MiniExtra mini("fd", "diagnostic", "Diagnostics"), mini("fgb", "git_branches", "Git branches"), mini("fc", "git_commits", "Git commits"), -- LSP scopes mini("fr", "lsp scope='references'", "LSP references"), mini("ds", "lsp scope='document_symbol'", "Document symbols"), mini("ws", "lsp scope='workspace_symbol'", "Workspace symbols"), mini("ld", "lsp scope='definition'", "Goto definition"), mini("ltd", "lsp scope='type_definition'", "Goto type definition"), mini("lD", "lsp scope='declaration'", "Goto declaration"), mini("lr", "lsp scope='references'", "Goto references"), mini("lI", "lsp scope='implementation'", "Goto implementation"), }, load = function(name) require("lzextras").loaders.multi({ name, "mini.extra", }) end, after = function() require("mini.pick").setup() end, }, { "telescope.nvim", event = "DeferredUIEnter", for_cat = "core.picker.telescope", keys = { telescope_builtin("ff", "find_files", "Search files in cwd"), telescope_builtin("fb", "buffers", "Search files in cwd"), telescope_builtin("fo", "oldfiles", "Recent files"), telescope_builtin("fr", "registers", "Registers"), telescope_builtin("fj", "jumplist", "Jump list"), telescope_builtin("fm", "marks", "Marks"), telescope_builtin("fq", "quickfix", "Quickfix list"), telescope_builtin("fl", "loclist", "Location list"), telescope_builtin("st", "treesitter", "Treesitter symbols"), telescope_builtin("sc", "commands", "Commands"), telescope_builtin("sp", "spell_suggest", "Spell suggestions"), telescope_builtin("sg", "live_grep", "Search by grep"), telescope_builtin("ss", "grep_string", "Search string"), telescope_builtin("sk", "keymaps", "Search keymaps"), telescope_builtin("sh", "help_tags", "Search help tags"), telescope_builtin("/", "current_buffer_fuzzy_find", "Search in current buffer"), telescope_builtin("gc", "git_commits", "Git commits"), telescope_builtin("gB", "git_branches", "Git branches"), telescope_builtin("gs", "git_status", "Git status"), telescope_builtin("gS", "git_stash", "Git stash"), telescope_builtin("ls", "lsp_document_symbols", "Document symbols"), telescope_builtin("lS", "lsp_workspace_symbols", "Workspace symbols"), telescope_builtin("lds", "lsp_dynamic_workspace_symbols", "Workspace symbols"), telescope_builtin("ld", "diagnostics", "Diagnostics"), telescope_builtin("lD", "lsp_definitions", "LSP definitions"), telescope_builtin("li", "lsp_incoming_calls", "LSP incoming calls"), telescope_builtin("lo", "lsp_outgoing_calls", "LSP outgoing calls"), telescope_builtin("lt", "lsp_type_definitions", "LSP type definitions"), telescope_builtin("grr", "lsp_references", "LSP references"), telescope_builtin("gri", "lsp_implementations", "LSP implementations"), }, load = function(name) require("lzextras").loaders.multi({ name, "telescope-fzf-native.nvim", "telescope-ui-select.nvim", }) end, after = function() require("telescope").setup({ defaults = { mappings = { i = { [""] = "to_fuzzy_refine", }, }, }, pickers = { buffers = { mappings = { i = { -- [""] = "delete_buffer", }, n = { ["d"] = "delete_buffer", }, }, }, }, extensions = { fzf = { fuzzy = true, override_generic_sorter = true, override_file_sorter = true, case_mode = "smart_case", }, ["ui-select"] = { require("telescope.themes").get_dropdown({}), }, }, }) require("telescope").load_extension("fzf") require("telescope").load_extension("ui-select") end, }, }