From 14860072d024b7e6f60dd748d90e5b42e750f9f1 Mon Sep 17 00:00:00 2001 From: jdhao Date: Tue, 6 Sep 2022 21:53:44 +0800 Subject: use local keymap --- lua/config/lsp.lua | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) (limited to 'lua/config/lsp.lua') 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", "", vim.lsp.buf.definition, opts) - vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) - vim.keymap.set("n", "", vim.lsp.buf.signature_help, opts) - vim.keymap.set("n", "wa", vim.lsp.buf.add_workspace_folder, opts) - vim.keymap.set("n", "wr", vim.lsp.buf.remove_workspace_folder, opts) - vim.keymap.set("n", "wl", function() inspect(vim.lsp.buf.list_workspace_folders()) end, opts) - vim.keymap.set("n", "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", "q", function() vim.diagnostic.setqflist({open = true}) end, opts) - vim.keymap.set("n", "ca", vim.lsp.buf.code_action, opts) + keymap.set("n", "gd", vim.lsp.buf.definition, opts) + keymap.set("n", "", vim.lsp.buf.definition, opts) + keymap.set("n", "K", vim.lsp.buf.hover, opts) + keymap.set("n", "", vim.lsp.buf.signature_help, opts) + keymap.set("n", "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", "q", function() vim.diagnostic.setqflist({open = true}) end, opts) + keymap.set("n", "ca", vim.lsp.buf.code_action, opts) + keymap.set("n", "wa", vim.lsp.buf.add_workspace_folder, opts) + keymap.set("n", "wr", vim.lsp.buf.remove_workspace_folder, opts) + keymap.set("n", "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", "f", vim.lsp.buf.formatting_sync, opts) + end + if client.resolved_capabilities.document_range_formatting then + keymap.set("x", "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", "f", vim.lsp.buf.formatting_sync, opts) - end - if client.resolved_capabilities.document_range_formatting then - vim.keymap.set("x", "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([[ -- cgit v1.2.3