From df3c5508a39a7dc17fb4a4e16bc9036fb1e07815 Mon Sep 17 00:00:00 2001 From: Patrick Auernig Date: Tue, 11 Jun 2024 16:30:00 +0200 Subject: [PATCH] Add descriptions to most key mappings --- lua/valeth/keymaps.lua | 49 +++++++++++++++---------------- lua/valeth/plugins/dap/ui.lua | 18 +++++++----- lua/valeth/plugins/formatting.lua | 2 +- lua/valeth/plugins/harpoon.lua | 8 ++--- lua/valeth/plugins/lsp.lua | 34 ++++++++++++++------- lua/valeth/plugins/neogit.lua | 4 +-- lua/valeth/plugins/noice.lua | 2 +- lua/valeth/plugins/oil.lua | 2 +- lua/valeth/plugins/telescope.lua | 6 ++-- lua/valeth/plugins/trouble.lua | 2 +- 10 files changed, 72 insertions(+), 55 deletions(-) diff --git a/lua/valeth/keymaps.lua b/lua/valeth/keymaps.lua index f39825b..6bad01b 100644 --- a/lua/valeth/keymaps.lua +++ b/lua/valeth/keymaps.lua @@ -1,33 +1,32 @@ -local map = vim.keymap.set +local maps = { + { "n", "", "noh", { desc = "Clear search highlighting" } }, + { "n", "U", "redo", { desc = "Redo the last action" } }, + { "n", "Y", "y$", { desc = "Yank until the end of the line" } }, + { { "n", "v", "i" }, "", "w", { desc = "Write current file" } }, + { "n", "s", "" }, -map("n", "", "noh") -map("n", "U", "redo") -map("n", "Y", "y$") -map({ "n", "v", "i" }, "", "w") -map("n", "s", "") + -- Yank to clipboard + { { "n", "v" }, "y", [["+y]], { desc = "Yank to clipboard" } }, + { { "n", "v" }, "Y", [["+Y]], { desc = "Yank line to clipboard" } }, --- Yank to clipboard -map({ "n", "v" }, "y", [["+y]]) -map({ "n", "v" }, "Y", [["+Y]]) + -- Move up and down visual lines for the few times I need wrapping + { "n", "j", "gj" }, + { "n", "k", "gk" }, --- Move up and down visual lines for the few times I need wrapping -map("n", "j", "gj") -map("n", "k", "gk") + { { "n", "v" }, "H", "^", { desc = "Move to start of line" } }, + { { "n", "v" }, "L", "$", { desc = "Move to end of line" } }, --- More sensible start and end of line -map({ "n", "v" }, "H", "^") -map({ "n", "v" }, "L", "$") + { "i", "jk", "l", { desc = "Exit insert mode", silent = true } }, --- Exit insert mode by quickly pressing jk -map("i", "jk", "l", { silent = true }) + { { "n", "v" }, "", "q", { desc = "Record a macro" } }, + { { "n", "v" }, "q", "" }, --- This avoids accidentially recording a macro -map({ "n", "v" }, "", "q") -map({ "n", "v" }, "q", "") + { "v", "J", ":move '>+1gv=gv", { desc = "Move selected lines down" } }, + { "v", "K", ":move '<-2gv=gv", { desc = "Move selected lines up" } }, --- Move selected lines up or down -map("v", "J", ":move '>+1gv=gv") -map("v", "K", ":move '<-2gv=gv") + { "n", "J", "mzJ`z", { desc = "Join lines without moving the cursor" } }, +} --- Join lines without moving the cursor -map("n", "J", "mzJ`z") +for _, m in pairs(maps) do + vim.keymap.set(m[1], m[2], m[3], m[4]) +end diff --git a/lua/valeth/plugins/dap/ui.lua b/lua/valeth/plugins/dap/ui.lua index ce4d1ce..1bf446a 100644 --- a/lua/valeth/plugins/dap/ui.lua +++ b/lua/valeth/plugins/dap/ui.lua @@ -8,13 +8,17 @@ spec.dependencies = { } spec.keys = { - { "dbg", "DapContinue"}, - { "dbr", "DapToggleBreakpoint" }, - { "dso", "DapStepOver" }, - { "dq", "DapTerminate" }, - { "dt", function() - require("dapui").toggle() - end} + { "dbg", "DapContinue", desc = "Continue DAP session" }, + { "dbr", "DapToggleBreakpoint", desc = "Toggle breakpoint" }, + { "dso", "DapStepOver", desc = "Step over" }, + { "dq", "DapTerminate", desc = "Terminate DAP ssession" }, + { + "dt", + function() + require("dapui").toggle() + end, + desc = "Toggle DAP UI" + } } spec.config = function() diff --git a/lua/valeth/plugins/formatting.lua b/lua/valeth/plugins/formatting.lua index a68b03f..aaf5702 100644 --- a/lua/valeth/plugins/formatting.lua +++ b/lua/valeth/plugins/formatting.lua @@ -28,7 +28,7 @@ local function format_file() end end -vim.keymap.set("n", "fmt", format_file) +vim.keymap.set("n", "fmt", format_file, { desc = "Format the current buffer" }) -- Format on save autocmd("BufWritePost", { diff --git a/lua/valeth/plugins/harpoon.lua b/lua/valeth/plugins/harpoon.lua index bb06d4c..95d229f 100644 --- a/lua/valeth/plugins/harpoon.lua +++ b/lua/valeth/plugins/harpoon.lua @@ -8,7 +8,7 @@ spec.dependencies = { } spec.keys = { - { "fh", "Telescope harpoon marks" }, + { "fh", "Telescope harpoon marks", desc = "Show harpoon marks" }, } spec.config = function() @@ -19,9 +19,9 @@ spec.config = function() local harpoon_mark = require("harpoon.mark") local harpoon_ui = require("harpoon.ui") - vim.keymap.set("n", "am", harpoon_mark.add_file) - vim.keymap.set("n", "gn", harpoon_ui.nav_next) - vim.keymap.set("n", "gp", harpoon_ui.nav_prev) + vim.keymap.set("n", "am", harpoon_mark.add_file, { desc = "Add a file to marks" }) + vim.keymap.set("n", "gn", harpoon_ui.nav_next, { desc = "Go to next mark" }) + vim.keymap.set("n", "gp", harpoon_ui.nav_prev, { desc = "Go to previous mark" }) end return spec diff --git a/lua/valeth/plugins/lsp.lua b/lua/valeth/plugins/lsp.lua index 680dc96..d0758ac 100644 --- a/lua/valeth/plugins/lsp.lua +++ b/lua/valeth/plugins/lsp.lua @@ -54,6 +54,21 @@ local function toggle_inlay_hints() vim.notify("Inlay hints " .. status, vim.log.levels.INFO) end +---@param buf buffer +---@param mode string | string[] +---@param rhs string +---@param lhs string | function +---@param desc? string +local function bufmap(buf, mode, rhs, lhs, desc) + local opts = { + buffer = buf, + remap = false, + desc = desc + } + + vim.keymap.set(mode, rhs, lhs, opts) +end + spec.config = function() local neoconf = require("neoconf") @@ -95,16 +110,15 @@ spec.config = function() group = autogroup("LspAttachConfig", {}), callback = function(event) local tsb = require("telescope.builtin") - local opts = { buffer = event.buf, remap = false } - - vim.keymap.set("n", "gd", tsb.lsp_definitions, opts) - vim.keymap.set("n", "gr", tsb.lsp_references, opts) - vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) - vim.keymap.set("n", "ca", vim.lsp.buf.code_action, opts) - vim.keymap.set("n", "ci", vim.diagnostic.open_float, opts) - vim.keymap.set("n", "re", vim.lsp.buf.rename, opts) - vim.keymap.set({ "n", "i" }, "", vim.lsp.buf.signature_help, opts) - vim.keymap.set("n", "", toggle_inlay_hints, opts) + local buf = event.buf + bufmap(buf, "n", "gd", tsb.lsp_definitions, "Go to definition") + bufmap(buf, "n", "gr", tsb.lsp_references, "Go to reference") + bufmap(buf, "n", "K", vim.lsp.buf.hover, "Show documentation in hover") + bufmap(buf, "n", "ca", vim.lsp.buf.code_action, "Run a code action") + bufmap(buf, "n", "ci", vim.diagnostic.open_float, "Show diagnostics") + bufmap(buf, "n", "re", vim.lsp.buf.rename, "Rename item under cursor") + bufmap(buf, { "n", "i" }, "", vim.lsp.buf.signature_help, "Open signature help") + bufmap(buf, "n", "", toggle_inlay_hints, "Toggle LSP inlay hints") end }) diff --git a/lua/valeth/plugins/neogit.lua b/lua/valeth/plugins/neogit.lua index 8822d52..a032e92 100644 --- a/lua/valeth/plugins/neogit.lua +++ b/lua/valeth/plugins/neogit.lua @@ -7,8 +7,8 @@ spec.dependencies = { } spec.keys = { - { "vs", "Neogit" }, - { "vc", "Neogit commit" }, + { "vs", "Neogit", desc = "Open NeoGit" }, + { "vc", "Neogit commit", desc = "Open NeoGit commit" }, } spec.config = true diff --git a/lua/valeth/plugins/noice.lua b/lua/valeth/plugins/noice.lua index a84cbc3..9b67b73 100644 --- a/lua/valeth/plugins/noice.lua +++ b/lua/valeth/plugins/noice.lua @@ -19,7 +19,7 @@ spec.opts = { } spec.keys = { - { "nd", "NoiceDismiss" }, + { "nd", "NoiceDismiss", desc = "Dismiss all noice messages"}, } spec.dependencies = { diff --git a/lua/valeth/plugins/oil.lua b/lua/valeth/plugins/oil.lua index 5cb2277..34ebaea 100644 --- a/lua/valeth/plugins/oil.lua +++ b/lua/valeth/plugins/oil.lua @@ -71,7 +71,7 @@ spec.lazy = false spec.cmd = { "Oil" } spec.keys = { - { "ft", "Oil", mode = "n" } + { "ft", "Oil", mode = "n", desc = "Open oil file table" } } return spec diff --git a/lua/valeth/plugins/telescope.lua b/lua/valeth/plugins/telescope.lua index e5afd87..bcc8642 100644 --- a/lua/valeth/plugins/telescope.lua +++ b/lua/valeth/plugins/telescope.lua @@ -9,9 +9,9 @@ spec.dependencies = { } spec.keys = { - { "ff", "Telescope find_files" }, - { "fb", "Telescope buffers" }, - { "fg", "Telescope live_grep" }, + { "ff", "Telescope find_files", desc = "Find in files" }, + { "fb", "Telescope buffers", desc = "Find in buffers" }, + { "fg", "Telescope live_grep", desc = "Find by grepping" }, } spec.config = function() diff --git a/lua/valeth/plugins/trouble.lua b/lua/valeth/plugins/trouble.lua index 6132b0c..f3eb3da 100644 --- a/lua/valeth/plugins/trouble.lua +++ b/lua/valeth/plugins/trouble.lua @@ -7,7 +7,7 @@ spec.dependencies = { } spec.keys = { - { "ct", "TroubleToggle" }, + { "ct", "TroubleToggle", desc = "Toggle trouble window" }, } return spec