aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/lua/vim/lsp.lua15
-rw-r--r--src/nvim/eval/funcs.c1
2 files changed, 7 insertions, 9 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua
index c7de2df25f..c01b5d8e0c 100644
--- a/runtime/lua/vim/lsp.lua
+++ b/runtime/lua/vim/lsp.lua
@@ -1017,21 +1017,18 @@ function lsp.get_log_path()
return log.get_filename()
end
-local function define_default_sign(name, properties)
- if not vim.fn.sign_getdefined(name) then
- vim.fn.sign_define(name, properties)
- end
-end
-
-- Define the LspDiagnostics signs if they're not defined already.
-local function define_default_lsp_diagnostics_signs()
+do
+ local function define_default_sign(name, properties)
+ if vim.tbl_isempty(vim.fn.sign_getdefined(name)) then
+ vim.fn.sign_define(name, properties)
+ end
+ end
define_default_sign('LspDiagnosticsErrorSign', {text='E', texthl='LspDiagnosticsError', linehl='', numhl=''})
define_default_sign('LspDiagnosticsWarningSign', {text='W', texthl='LspDiagnosticsWarning', linehl='', numhl=''})
define_default_sign('LspDiagnosticsInformationSign', {text='I', texthl='LspDiagnosticsInformation', linehl='', numhl=''})
define_default_sign('LspDiagnosticsHintSign', {text='H', texthl='LspDiagnosticsHint', linehl='', numhl=''})
end
-define_default_lsp_diagnostics_signs()
-
return lsp
-- vim:sw=2 ts=2 et
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c
index 10f9d51599..bbe6f6de9d 100644
--- a/src/nvim/eval/funcs.c
+++ b/src/nvim/eval/funcs.c
@@ -8489,6 +8489,7 @@ static void f_sign_define(typval_T *argvars, typval_T *rettv, FunPtr fptr)
xfree(linehl);
xfree(text);
xfree(texthl);
+ xfree(numhl);
}
/// "sign_getdefined()" function