diff --git a/.config/nvim/lua/user/which_key.lua b/.config/nvim/lua/user/which_key.lua index a203430..897abda 100644 --- a/.config/nvim/lua/user/which_key.lua +++ b/.config/nvim/lua/user/which_key.lua @@ -14,7 +14,6 @@ which_key.setup({ -- the presets plugin, adds help for a bunch of default keybindings in Neovim -- No actual key bindings are created presets = { - operators = false, -- adds help for operators like d, y, ... motions = false, -- adds help for motions text_objects = false, -- help for text objects triggered after entering an operator windows = false, -- default bindings on @@ -25,24 +24,14 @@ which_key.setup({ }, -- add operators that will trigger motion and text object completion -- to enable all native operators, set the preset / operators plugin above - operators = { gc = "Comments" }, - key_labels = { - -- override the label used to display some keys. It doesn't effect WK in any other way. - -- For example: - -- [""] = "SPC", - -- [""] = "RET", - -- [""] = "TAB", - }, - popup_mappings = { - scroll_down = "", -- binding to scroll down inside the popup - scroll_up = "", -- binding to scroll up inside the popup - }, - window = { + win = { border = "single", -- none, single, double, shadow position = "bottom", -- bottom, top margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left] padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left] - winblend = 0, + wo = { + winblend = 0, + } }, layout = { height = { min = 4, max = 25 }, -- min and max height of the columns @@ -50,19 +39,13 @@ which_key.setup({ spacing = 3, -- spacing between columns align = "left", -- align columns left, center or right }, - ignore_missing = true, -- enable this to hide mappings for which you didn't specify a label - hidden = { "", "", "", "", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate + -- hidden = { "", "", "", "", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate show_help = true, -- show help message on the command line when the popup is visible show_keys = true, -- show the currently pressed key and its label as a message in the command line - triggers = "auto", -- automatically setup triggers + triggers = { + { "", mode = "nxsot" }, + }, -- triggers = {""} -- or specify a list manually - triggers_blacklist = { - -- list of mode / prefixes that should never be hooked by WhichKey - -- this is mostly relevant for key maps that start with a native binding - -- most people should not need to change this - i = { "j", "k" }, - v = { "j", "k" }, - }, -- disable the WhichKey popup for certain buf types and file types. -- Disabled by default for Telescope disable = { @@ -71,121 +54,43 @@ which_key.setup({ }, }) -which_key.register({ - name = "Hotkeys", - o = { - ":Oil --float ", - "Oil nvim toggle", - }, - e = { - ":Neotree toggle ", - "File tree toggle", - }, - F = { - ":lua vim.lsp.buf.format() ", - "Format file", - }, - f = { - name = "Find", - f = { - "lua require'telescope.builtin'.find_files(require('telescope.themes').get_dropdown({ previewer = false }))", - "Find file", - }, - w = { - "lua require'telescope.builtin'.live_grep()", - "Grep file", - }, - b = { - "lua require'telescope.builtin'.buffers()", - "Find buffer", - }, - }, - c = { - name = "Code actions", - a = { - "lua vim.lsp.buf.code_action()", - "Show code actions", - }, - }, - l = { - "lua vim.diagnostic.setloclist()", - "Show diagnostic list", - }, - d = { - name = "DAP", - r = { - "DapContinue", - "DapContinue", - }, - j = { - "DapStepInto", - "StepInto", - }, - l = { - "DapStepOver", - "StepOver", - }, - k = { - "DapStepOut", - "StepOut", - }, - b = { - "DapToggleBreakpoint", - "Toggle breakpoint", - }, - s = { - "DapTerminate", - "Terminate", - }, - }, - t = { - name = "Tabs", - n = { - "tabnew", - "New tab", - }, - q = { - "tabclose", - "Close tab", - }, - }, -}, { prefix = "" }) +which_key.add({ + { "", group = "Hotkeys" }, + { "F", ":lua vim.lsp.buf.format() ", desc = "Format file" }, + { "c", group = "Code actions" }, + { "ca", "lua vim.lsp.buf.code_action()", desc = "Show code actions" }, + { "d", group = "DAP" }, + { "db", "DapToggleBreakpoint", desc = "Toggle breakpoint" }, + { "dj", "DapStepInto", desc = "StepInto" }, + { "dk", "DapStepOut", desc = "StepOut" }, + { "dl", "DapStepOver", desc = "StepOver" }, + { "dr", "DapContinue", desc = "DapContinue" }, + { "ds", "DapTerminate", desc = "Terminate" }, + { "e", ":Neotree toggle ", desc = "File tree toggle" }, + { "f", group = "Find" }, + { "fb", "lua require'telescope.builtin'.buffers()", desc = "Find buffer" }, + { "ff", "lua require'telescope.builtin'.find_files(require('telescope.themes').get_dropdown({ previewer = false }))", desc = "Find file" }, + { "fw", "lua require'telescope.builtin'.live_grep()", desc = "Grep file" }, + { "l", "lua vim.diagnostic.setloclist()", desc = "Show diagnostic list" }, + { "o", ":Oil --float ", desc = "Oil nvim toggle" }, + { "t", group = "Tabs" }, + { "tn", "tabnew", desc = "New tab" }, + { "tq", "tabclose", desc = "Close tab" }, + } +) -which_key.register({ - name = "LSP Actions", - D = { - "lua vim.lsp.buf.declaration()", - "Go to declaration", - }, - d = { - "lua vim.lsp.buf.definition()", - "Go to definition", - }, - i = { - "lua vim.lsp.buf.implementation()", - "Show implementations", - }, - rr = { - "lua vim.lsp.buf.rename()", - "Rename", - }, - r = { - "lua vim.lsp.buf.references()", - "Show references", - }, - l = { - "lua vim.diagnostic.open_float({ border = 'rounded' })", - "Show diagnostic at line", - }, -}, { prefix = "g" }) +which_key.add({ + { "g", group = "LSP Actions" }, + { "gD", "lua vim.lsp.buf.declaration()", desc = "Go to declaration" }, + { "gd", "lua vim.lsp.buf.definition()", desc = "Go to definition" }, + { "gi", "lua vim.lsp.buf.implementation()", desc = "Show implementations" }, + { "gl", "lua vim.diagnostic.open_float({ border = 'rounded' })", desc = "Show diagnostic at line" }, + { "gr", "lua vim.lsp.buf.references()", desc = "Show references" }, + { "grr", "lua vim.lsp.buf.rename()", desc = "Rename" }, + } +) -which_key.register({ - [""] = { - "lua vim.lsp.buf.signature_help()", - "Signature help", - }, - ["K"] = { - "lua vim.lsp.buf.hover()", - "Signature help", - }, -}, {}) +which_key.add({ + { "", "lua vim.lsp.buf.signature_help()", desc = "Signature help" }, + { "K", "lua vim.lsp.buf.hover()", desc = "Signature help" }, + })