diff options
-rw-r--r-- | lua/lvim/lsp/handlers.lua | 10 | ||||
-rw-r--r-- | lua/lvim/lsp/init.lua | 13 |
2 files changed, 13 insertions, 10 deletions
diff --git a/lua/lvim/lsp/handlers.lua b/lua/lvim/lsp/handlers.lua index 59f15c1c..27ce8589 100644 --- a/lua/lvim/lsp/handlers.lua +++ b/lua/lvim/lsp/handlers.lua @@ -36,16 +36,6 @@ function M.setup() if not vim.api.nvim_buf_is_loaded(bufnr) then return end - - local sign_names = { - "DiagnosticSignError", - "DiagnosticSignWarn", - "DiagnosticSignInfo", - "DiagnosticSignHint", - } - for i, sign in ipairs(lvim.lsp.diagnostics.signs.values) do - vim.fn.sign_define(sign_names[i], { texthl = sign_names[i], text = sign.text, numhl = "" }) - end vim_diag.show(namespace, bufnr, diagnostics, config) else vim.lsp.diagnostic.save(diagnostics, bufnr, ctx.client_id) diff --git a/lua/lvim/lsp/init.lua b/lua/lvim/lsp/init.lua index 45ba04e0..d00f75c6 100644 --- a/lua/lvim/lsp/init.lua +++ b/lua/lvim/lsp/init.lua @@ -136,6 +136,13 @@ function M.get_common_opts() } end +local LSP_DEPRECATED_SIGN_MAP = { + ["LspDiagnosticsSignError"] = "DiagnosticSignError", + ["LspDiagnosticsSignWarning"] = "DiagnosticSignWarn", + ["LspDiagnosticsSignHint"] = "DiagnosticSignHint", + ["LspDiagnosticsSignInformation"] = "DiagnosticSignInfo", +} + function M.setup() Log:debug "Setting up LSP support" @@ -144,7 +151,13 @@ function M.setup() return end + local is_neovim_nightly = vim.fn.has "nvim-0.5.1" > 0 + for _, sign in ipairs(lvim.lsp.diagnostics.signs.values) do + local lsp_sign_name = LSP_DEPRECATED_SIGN_MAP[sign.name] + if is_neovim_nightly and lsp_sign_name then + vim.fn.sign_define(lsp_sign_name, { texthl = lsp_sign_name, text = sign.text, numhl = lsp_sign_name }) + end vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = sign.name }) end |