mirror of
https://github.com/jdhao/nvim-config.git
synced 2025-06-08 14:14:33 +02:00
refactor: lsp mapping
This commit is contained in:
parent
e209ef686a
commit
0582f26abe
@ -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", {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user