aboutsummaryrefslogtreecommitdiff
path: root/lua/config/lsp.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/config/lsp.lua')
-rw-r--r--lua/config/lsp.lua43
1 files changed, 22 insertions, 21 deletions
diff --git a/lua/config/lsp.lua b/lua/config/lsp.lua
index 45b722b..43586c2 100644
--- a/lua/config/lsp.lua
+++ b/lua/config/lsp.lua
@@ -1,5 +1,6 @@
local fn = vim.fn
local api = vim.api
+local keymap = vim.keymap
local lsp = vim.lsp
local utils = require("utils")
@@ -7,19 +8,27 @@ local utils = require("utils")
local custom_attach = function(client, bufnr)
-- Mappings.
local opts = { silent = true, buffer = bufnr }
- vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
- vim.keymap.set("n", "<C-]>", vim.lsp.buf.definition, opts)
- vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
- vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, opts)
- vim.keymap.set("n", "<space>wa", vim.lsp.buf.add_workspace_folder, opts)
- vim.keymap.set("n", "<space>wr", vim.lsp.buf.remove_workspace_folder, opts)
- vim.keymap.set("n", "<space>wl", function() inspect(vim.lsp.buf.list_workspace_folders()) end, opts)
- vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, opts)
- vim.keymap.set("n", "gr", vim.lsp.buf.references, opts)
- vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts)
- vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts)
- vim.keymap.set("n", "<space>q", function() vim.diagnostic.setqflist({open = true}) end, opts)
- vim.keymap.set("n", "<space>ca", vim.lsp.buf.code_action, opts)
+ 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)
+
+ -- 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)
+ end
+ if client.resolved_capabilities.document_range_formatting then
+ keymap.set("x", "<space>f", vim.lsp.buf.range_formatting, opts)
+ end
api.nvim_create_autocmd("CursorHold", {
buffer=bufnr,
@@ -47,14 +56,6 @@ local custom_attach = function(client, bufnr)
end
})
- -- Set some key bindings conditional on server capabilities
- if client.resolved_capabilities.document_formatting then
- vim.keymap.set("n", "<space>f", vim.lsp.buf.formatting_sync, opts)
- end
- if client.resolved_capabilities.document_range_formatting then
- vim.keymap.set("x", "<space>f", vim.lsp.buf.range_formatting, opts)
- end
-
-- The blow command will highlight the current variable and its usages in the buffer.
if client.resolved_capabilities.document_highlight then
vim.cmd([[