aboutsummaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
authorjdhao <jdhao@hotmail.com>2022-09-09 19:42:01 +0800
committerjdhao <jdhao@hotmail.com>2022-09-09 19:42:01 +0800
commit0582f26abeee0c7eba66dd01b381b9bd1e6c9fb6 (patch)
treeeba1ec895845c51d671956e2f78940879ac1e8eb /lua
parente209ef686a3ebc0838e21abc4b274005ba9edcd6 (diff)
refactor: lsp mapping
Diffstat (limited to 'lua')
-rw-r--r--lua/config/lsp.lua38
1 files changed, 22 insertions, 16 deletions
diff --git a/lua/config/lsp.lua b/lua/config/lsp.lua
index 43586c2..76436a4 100644
--- a/lua/config/lsp.lua
+++ b/lua/config/lsp.lua
@@ -7,27 +7,33 @@ local utils = require("utils")
local custom_attach = function(client, bufnr)
-- Mappings.
- local opts = { silent = true, buffer = bufnr }
- keymap.set("n", "gd", vim.lsp.buf.definition, opts)
- keymap.set("n", "<C-]>", vim.lsp.buf.definition, opts)
- keymap.set("n", "K", vim.lsp.buf.hover, opts)
- keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, opts)
- keymap.set("n", "<space>rn", vim.lsp.buf.rename, opts)
- keymap.set("n", "gr", vim.lsp.buf.references, opts)
- keymap.set("n", "[d", vim.diagnostic.goto_prev, opts)
- keymap.set("n", "]d", vim.diagnostic.goto_next, opts)
- keymap.set("n", "<space>q", function() vim.diagnostic.setqflist({open = true}) end, opts)
- keymap.set("n", "<space>ca", vim.lsp.buf.code_action, opts)
- keymap.set("n", "<space>wa", vim.lsp.buf.add_workspace_folder, opts)
- keymap.set("n", "<space>wr", vim.lsp.buf.remove_workspace_folder, opts)
- keymap.set("n", "<space>wl", function() inspect(vim.lsp.buf.list_workspace_folders()) end, opts)
+ local map = function(mode, l, r, opts)
+ opts = opts or {}
+ opts.silent = true
+ opts.buffer = bufnr
+ keymap.set(mode, l, r, opts)
+ end
+
+ map("n", "gd", vim.lsp.buf.definition, {desc = 'go to definition'})
+ map("n", "<C-]>", vim.lsp.buf.definition)
+ map("n", "K", vim.lsp.buf.hover)
+ map("n", "<C-k>", vim.lsp.buf.signature_help)
+ map("n", "<space>rn", vim.lsp.buf.rename, { desc = 'varialbe rename' })
+ map("n", "gr", vim.lsp.buf.references, { desc = 'show references' })
+ map("n", "[d", vim.diagnostic.goto_prev, { desc = 'previous diagnostic' })
+ map("n", "]d", vim.diagnostic.goto_next, { desc = 'next diagnostic' })
+ map("n", "<space>q", function() vim.diagnostic.setqflist({open = true}) end, { desc = 'put diagnostic to qf' })
+ map("n", "<space>ca", vim.lsp.buf.code_action, { desc = 'LSP code action' })
+ map("n", "<space>wa", vim.lsp.buf.add_workspace_folder, { desc = 'add workspace folder' } )
+ map("n", "<space>wr", vim.lsp.buf.remove_workspace_folder, { desc = 'remove workspace folder' })
+ map("n", "<space>wl", function() inspect(vim.lsp.buf.list_workspace_folders()) end, { desc = 'list workspace folder' })
-- Set some key bindings conditional on server capabilities
if client.resolved_capabilities.document_formatting then
- keymap.set("n", "<space>f", vim.lsp.buf.formatting_sync, opts)
+ map("n", "<space>f", vim.lsp.buf.formatting_sync, { desc = 'format code' })
end
if client.resolved_capabilities.document_range_formatting then
- keymap.set("x", "<space>f", vim.lsp.buf.range_formatting, opts)
+ map("x", "<space>f", vim.lsp.buf.range_formatting, { desc = 'range format' })
end
api.nvim_create_autocmd("CursorHold", {