From 834aa76ce7ca3574d6b8c565079817702f07f168 Mon Sep 17 00:00:00 2001 From: Oscar Wallberg Date: Fri, 31 Jan 2025 15:35:39 +0100 Subject: [PATCH] fix: deprecated lua calls --- lua/lsp/keymap.lua | 62 +++++++++++++++++++++++++++++++++++++++------- lua/lsp/server.lua | 13 +++------- 2 files changed, 57 insertions(+), 18 deletions(-) diff --git a/lua/lsp/keymap.lua b/lua/lsp/keymap.lua index e5afda5..37bd97f 100644 --- a/lua/lsp/keymap.lua +++ b/lua/lsp/keymap.lua @@ -24,17 +24,49 @@ M.new = {} function M:init(server, bufnr) self.old[bufnr] = {} for _, mode in ipairs(MODE_TYPES) do - vim.tbl_extend("error", self.old[bufnr], vim.api.nvim_buf_get_keymap(bufnr, mode)) + vim.tbl_extend( + "error", + self.old[bufnr], + vim.api.nvim_buf_get_keymap(bufnr, mode) + ) end self.new[bufnr] = { { mode = { "n" }, lhs = "df", rhs = vim.diagnostic.open_float }, - { mode = { "n" }, lhs = "[d", rhs = vim.diagnostic.goto_prev }, - { mode = { "n" }, lhs = "]d", rhs = vim.diagnostic.goto_next }, + { + mode = { "n" }, + lhs = "[d", + rhs = function() + vim.diagnostic.jump({ count = -1, float = true }) + end, + }, + { + mode = { "n" }, + lhs = "]d", + rhs = function() + vim.diagnostic.jump({ count = 1, float = true }) + end, + }, { mode = { "n" }, lhs = "gD", rhs = vim.lsp.buf.declaration }, - { mode = { "n", "i" }, lhs = "", rhs = vim.lsp.buf.hover }, - { mode = { "n", "i" }, lhs = "", rhs = vim.lsp.buf.signature_help }, - { mode = { "n", "i" }, lhs = "", rhs = vim.lsp.buf.document_highlight }, + { + mode = { "n", "i" }, + lhs = "", + rhs = function() + vim.lsp.buf.hover({ border = "single" }) + end, + }, + { + mode = { "n", "i" }, + lhs = "", + rhs = function() + vim.lsp.buf.signature_help({ border = "single" }) + end, + }, + { + mode = { "n", "i" }, + lhs = "", + rhs = vim.lsp.buf.document_highlight, + }, { mode = { "n" }, lhs = "lr", rhs = vim.lsp.buf.rename }, { mode = { "n" }, lhs = "la", rhs = vim.lsp.buf.code_action }, { mode = { "n", "x" }, lhs = "lf", rhs = vim.lsp.buf.format }, @@ -63,7 +95,11 @@ function M:init(server, bufnr) if telescope then vim.list_extend(self.new[bufnr], { { mode = "n", lhs = "dl", rhs = telescope.diagnostics }, - { mode = "n", lhs = "lD", rhs = telescope.lsp_type_definitions }, + { + mode = "n", + lhs = "lD", + rhs = telescope.lsp_type_definitions, + }, { mode = "n", lhs = "gd", rhs = telescope.lsp_definitions }, { mode = "n", lhs = "gi", rhs = telescope.lsp_implementations }, { mode = "n", lhs = "gr", rhs = telescope.lsp_references }, @@ -71,7 +107,11 @@ function M:init(server, bufnr) else vim.list_extend(self.new[bufnr], { { mode = "n", lhs = "dl", rhs = vim.diagnostic.setloclist }, - { mode = "n", lhs = "ld", rhs = vim.lsp.buf.type_definition }, + { + mode = "n", + lhs = "ld", + rhs = vim.lsp.buf.type_definition, + }, { mode = "n", lhs = "gd", rhs = vim.lsp.buf.definition }, { mode = "n", lhs = "gi", rhs = vim.lsp.buf.implementation }, { mode = "n", lhs = "gr", rhs = vim.lsp.buf.references }, @@ -83,7 +123,11 @@ function M:init(server, bufnr) end for _, keymap in ipairs(self.new[bufnr]) do - keymap.opts = vim.tbl_extend("force", keymap.opts or {}, { buffer = bufnr, remap = true }) + keymap.opts = vim.tbl_extend( + "force", + keymap.opts or {}, + { buffer = bufnr, remap = true } + ) vim.keymap.set(keymap.mode, keymap.lhs, keymap.rhs, keymap.opts) end end diff --git a/lua/lsp/server.lua b/lua/lsp/server.lua index 15ca513..075c304 100644 --- a/lua/lsp/server.lua +++ b/lua/lsp/server.lua @@ -58,10 +58,10 @@ function M.validate(name, config) for _, key in ipairs(f) do local o, r = pcall(vim.validate, { - mode = { key.mode, { "s", "t" } }, - lhs = { key.lhs, "s" }, - rhs = { key.rhs, { "s", "f" } }, - opts = { key.opts, "t", true }, + mode = { key.mode, { "string", "table" } }, + lhs = { key.lhs, "string" }, + rhs = { key.rhs, { "string", "function" } }, + opts = { key.opts, "table", true }, }) if not o then @@ -116,11 +116,6 @@ function M:on_attach(client, bufnr) vim.cmd.highlight({ "link LspReferenceText Visual", bang = true }) vim.cmd.highlight({ "link LspReferenceWrite Visual", bang = true }) - vim.lsp.handlers["textDocument/hover"] = - vim.lsp.with(vim.lsp.handlers.hover, { border = "single" }) - vim.lsp.handlers["textDocument/signatureHelp"] = - vim.lsp.with(vim.lsp.handlers.signature_help, { border = "single" }) - ---@alias lsp.Client vim.lsp.Client -- require("lsp_compl").attach(client, bufnr, { -- server_side_fuzzy_completion = true,