diff options
-rw-r--r-- | runtime/lua/vim/lsp.lua | 15 | ||||
-rw-r--r-- | src/nvim/eval/funcs.c | 1 |
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 |