From e42581c21904f64510051db65cb5e0bd204238d5 Mon Sep 17 00:00:00 2001 From: Chase Colman <5411+chase@users.noreply.github.com> Date: Wed, 10 Nov 2021 14:56:52 +0800 Subject: fix(lsp): correct map and prevent highlight leak of diagnostic signs in 0.6 (#1934) --- lua/lvim/lsp/init.lua | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'lua/lvim/lsp/init.lua') 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 -- cgit v1.2.3