From 972e5f9c68cc433c5fc26adf92cd25b293a3776a Mon Sep 17 00:00:00 2001 From: brustybee Date: Mon, 9 Mar 2026 17:02:03 +0530 Subject: One shot upload --- lua/plugins/picker.lua | 142 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 lua/plugins/picker.lua (limited to 'lua/plugins/picker.lua') diff --git a/lua/plugins/picker.lua b/lua/plugins/picker.lua new file mode 100644 index 0000000..478a689 --- /dev/null +++ b/lua/plugins/picker.lua @@ -0,0 +1,142 @@ +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, + }, +} -- cgit v1.3.1