[nvim] func to add descriptions to keymap opts tables
This commit is contained in:
@@ -6,3 +6,14 @@ function Contains(list, element)
|
|||||||
end
|
end
|
||||||
return false
|
return false
|
||||||
end
|
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
|
||||||
|
|||||||
@@ -29,11 +29,11 @@ local on_attach = function(client, bufnr)
|
|||||||
|
|
||||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||||
local bufopts = { noremap = true, silent = true, buffer = bufnr }
|
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.declaration, Append(bufopts, "desc", 'Go to declaration'))
|
||||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition, bufopts)
|
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", "K", vim.lsp.buf.hover, bufopts)
|
||||||
vim.keymap.set("n", "gi", vim.lsp.buf.implementation, 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, bufopts)
|
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", "<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>wa", vim.lsp.buf.add_workspace_folder, bufopts)
|
||||||
vim.keymap.set("n", "<leader>wr", vim.lsp.buf.remove_workspace_folder, bufopts)
|
vim.keymap.set("n", "<leader>wr", vim.lsp.buf.remove_workspace_folder, bufopts)
|
||||||
|
|||||||
Reference in New Issue
Block a user