diff options
Diffstat (limited to 'runtime/lua/vim')
-rw-r--r-- | runtime/lua/vim/diagnostic.lua | 24 | ||||
-rw-r--r-- | runtime/lua/vim/lsp/handlers.lua | 5 | ||||
-rw-r--r-- | runtime/lua/vim/lsp/util.lua | 24 |
3 files changed, 11 insertions, 42 deletions
diff --git a/runtime/lua/vim/diagnostic.lua b/runtime/lua/vim/diagnostic.lua index 1ec66d7c55..80ce1f331d 100644 --- a/runtime/lua/vim/diagnostic.lua +++ b/runtime/lua/vim/diagnostic.lua @@ -668,14 +668,10 @@ function M.set(namespace, bufnr, diagnostics, opts) M.show(namespace, bufnr, nil, opts) end - vim.api.nvim_buf_call(bufnr, function() - vim.api.nvim_command( - string.format( - "doautocmd <nomodeline> DiagnosticChanged %s", - vim.fn.fnameescape(vim.api.nvim_buf_get_name(bufnr)) - ) - ) - end) + vim.api.nvim_exec_autocmds("DiagnosticChanged", { + modeline = false, + buffer = bufnr, + }) end --- Get namespace metadata. @@ -1382,14 +1378,10 @@ function M.reset(namespace, bufnr) M.hide(iter_namespace, iter_bufnr) end - vim.api.nvim_buf_call(iter_bufnr, function() - vim.api.nvim_command( - string.format( - "doautocmd <nomodeline> DiagnosticChanged %s", - vim.fn.fnameescape(vim.api.nvim_buf_get_name(iter_bufnr)) - ) - ) - end) + vim.api.nvim_exec_autocmds("DiagnosticChanged", { + modeline = false, + buffer = iter_bufnr, + }) end end diff --git a/runtime/lua/vim/lsp/handlers.lua b/runtime/lua/vim/lsp/handlers.lua index 9871f00677..71b4d33ec0 100644 --- a/runtime/lua/vim/lsp/handlers.lua +++ b/runtime/lua/vim/lsp/handlers.lua @@ -33,7 +33,7 @@ local function progress_handler(_, result, ctx, _) local val = result.value -- unspecified yet local token = result.token -- string or number - + if type(val) ~= 'table' then val = { content=val } end if val.kind then if val.kind == 'begin' then client.messages.progress[token] = { @@ -53,7 +53,8 @@ local function progress_handler(_, result, ctx, _) end end else - table.insert(client.messages, {content = val, show_once = true, shown = 0}) + client.messages.progress[token] = val + client.messages.progress[token].done = true end vim.api.nvim_command("doautocmd <nomodeline> User LspProgressUpdate") diff --git a/runtime/lua/vim/lsp/util.lua b/runtime/lua/vim/lsp/util.lua index 30587afb38..1f1a34b04a 100644 --- a/runtime/lua/vim/lsp/util.lua +++ b/runtime/lua/vim/lsp/util.lua @@ -302,7 +302,6 @@ end function M.get_progress_messages() local new_messages = {} - local msg_remove = {} local progress_remove = {} for _, client in ipairs(vim.lsp.get_active_clients()) do @@ -325,29 +324,6 @@ function M.get_progress_messages() end end - for i, msg in ipairs(data.messages) do - if msg.show_once then - msg.shown = msg.shown + 1 - if msg.shown > 1 then - table.insert(msg_remove, {client = client, idx = i}) - end - end - - table.insert(new_messages, {name = data.name, content = msg.content}) - end - - if next(data.status) ~= nil then - table.insert(new_messages, { - name = data.name, - content = data.status.content, - uri = data.status.uri, - status = true - }) - end - for _, item in ipairs(msg_remove) do - table.remove(client.messages, item.idx) - end - end for _, item in ipairs(progress_remove) do |