[nvim] func to add descriptions to keymap opts tables

This commit is contained in:
2025-03-16 21:35:17 +03:00
parent 836a80c332
commit de04ddd511
2 changed files with 15 additions and 4 deletions

View File

@@ -6,3 +6,14 @@ function Contains(list, element)
end
return false
end
---comment
---@param list table
---@param key string
---@param value any
---@return table
function Append(list, key, value)
local new_list = {unpack(list)}
new_list[key] = value
return new_list
end

View File

@@ -29,11 +29,11 @@ local on_attach = function(client, bufnr)
-- See `:help vim.lsp.*` for documentation on any of the below functions
local bufopts = { noremap = true, silent = true, buffer = bufnr }
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, bufopts)
vim.keymap.set("n", "gd", vim.lsp.buf.definition, bufopts)
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, Append(bufopts, "desc", 'Go to declaration'))
vim.keymap.set("n", "gd", vim.lsp.buf.definition, Append(bufopts, "desc", "Go to definition"))
vim.keymap.set("n", "K", vim.lsp.buf.hover, bufopts)
vim.keymap.set("n", "gi", vim.lsp.buf.implementation, bufopts)
vim.keymap.set("n", "gr", vim.lsp.buf.references, bufopts)
vim.keymap.set("n", "gi", vim.lsp.buf.implementation, Append(bufopts, "desc", "Go to implementation"))
vim.keymap.set("n", "gr", vim.lsp.buf.references, Append(bufopts, "desc", "Go to references"))
vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, bufopts)
vim.keymap.set("n", "<leader>wa", vim.lsp.buf.add_workspace_folder, bufopts)
vim.keymap.set("n", "<leader>wr", vim.lsp.buf.remove_workspace_folder, bufopts)