diff options
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/autocmds.lua | 4 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/lsp.lua | 28 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/lsp/handlers.lua | 6 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins/gruvbox.lua | 2 |
4 files changed, 23 insertions, 17 deletions
diff --git a/nvim/.config/nvim/lua/tobyvin/autocmds.lua b/nvim/.config/nvim/lua/tobyvin/autocmds.lua index 2d2a840..b50491f 100644 --- a/nvim/.config/nvim/lua/tobyvin/autocmds.lua +++ b/nvim/.config/nvim/lua/tobyvin/autocmds.lua @@ -82,8 +82,8 @@ vim.api.nvim_create_autocmd("FileType", { group = augroup, pattern = "help", callback = function() - vim.wo.colorcolumn = nil - vim.cmd("wincmd L") + vim.opt_local.colorcolumn = nil + vim.cmd.wincmd("L") end, desc = "Vertical help window", }) diff --git a/nvim/.config/nvim/lua/tobyvin/lsp.lua b/nvim/.config/nvim/lua/tobyvin/lsp.lua index 0c59368..ee85ae9 100644 --- a/nvim/.config/nvim/lua/tobyvin/lsp.lua +++ b/nvim/.config/nvim/lua/tobyvin/lsp.lua @@ -10,14 +10,6 @@ vim.api.nvim_create_autocmd("LspAttach", { callback = function(args) local client = vim.lsp.get_client_by_id(args.data.client_id) - if client.server_capabilities.definitionProvider then - vim.bo[args.buf].tagfunc = "v:lua.vim.lsp.tagfunc" - end - - if client.server_capabilities.documentFormattingProvider then - vim.api.nvim_buf_set_option(args.buf, "formatexpr", "v:lua.vim.lsp.formatexpr()") - end - if client.server_capabilities.documentHighlightProvider then vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, { group = augroup, @@ -34,6 +26,22 @@ vim.api.nvim_create_autocmd("LspAttach", { }) end + if client.server_capabilities.hoverProvider then + require("tobyvin.utils.hover").register(vim.lsp.buf.hover, { + desc = "lsp hover", + buffer = args.buf, + priority = 1, + }) + end + + if client.server_capabilities.experimental.externalDocs then + require("tobyvin.utils.documentation").register(vim.lsp.buf.external_docs, { + desc = "lsp external_docs", + buffer = args.buf, + priority = 1, + }) + end + vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, { desc = "signature help", buffer = args.buf }) vim.keymap.set("n", "gd", vim.lsp.buf.definition, { desc = "definition", buffer = args.buf }) vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { desc = "declaration", buffer = args.buf }) @@ -45,9 +53,5 @@ vim.api.nvim_create_autocmd("LspAttach", { vim.keymap.set("n", "<leader>lr", vim.lsp.buf.rename, { desc = "rename", buffer = args.buf }) vim.keymap.set("n", "<leader>la", vim.lsp.buf.code_action, { desc = "code action", buffer = args.buf }) vim.keymap.set("n", "<leader>ll", vim.lsp.codelens.run, { desc = "codelens", buffer = args.buf }) - - local register_opts = { desc = "lsp", buffer = args.buf, priority = 1 } - require("tobyvin.utils.hover").register(vim.lsp.buf.hover, register_opts) - require("tobyvin.utils.documentation").register(vim.lsp.buf.external_docs, register_opts) end, }) diff --git a/nvim/.config/nvim/lua/tobyvin/lsp/handlers.lua b/nvim/.config/nvim/lua/tobyvin/lsp/handlers.lua index e53c371..12c5c3b 100644 --- a/nvim/.config/nvim/lua/tobyvin/lsp/handlers.lua +++ b/nvim/.config/nvim/lua/tobyvin/lsp/handlers.lua @@ -1,8 +1,9 @@ local augroup = vim.api.nvim_create_augroup("lsp_workspace", {}) -local handlers = vim.lsp.handlers +local handlers = vim.deepcopy(vim.lsp.handlers) function vim.lsp.buf.external_docs() - local params = vim.lsp.util.make_position_params(nil, "") + ---@diagnostic disable-next-line: missing-parameter + local params = vim.lsp.util.make_position_params() return vim.lsp.buf_request(0, "experimental/externalDocs", params) end @@ -50,6 +51,7 @@ return { elseif result then vim.fn["netrw#BrowseX"](result, 0) end + return result, err end, ["window/showMessage"] = function(_, result, ctx) diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/gruvbox.lua b/nvim/.config/nvim/lua/tobyvin/plugins/gruvbox.lua index 3d17086..eb3742c 100644 --- a/nvim/.config/nvim/lua/tobyvin/plugins/gruvbox.lua +++ b/nvim/.config/nvim/lua/tobyvin/plugins/gruvbox.lua @@ -44,7 +44,7 @@ function M.config(_, opts) require("gruvbox").setup(opts) - vim.cmd([[colorscheme gruvbox]]) + vim.cmd.colorscheme("gruvbox") end return M |