aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp.lua
diff options
context:
space:
mode:
authorMathias Fußenegger <mfussenegger@users.noreply.github.com>2023-06-22 10:18:49 +0200
committerGitHub <noreply@github.com>2023-06-22 10:18:49 +0200
commit4d3a04279d32bc97d18ab2883c678c94f80487bc (patch)
tree9af2f5d34744ecb982ef682108bf463824c937fe /runtime/lua/vim/lsp.lua
parenta41883bfbea990c9f8b29060b21580139970afc1 (diff)
downloadrneovim-4d3a04279d32bc97d18ab2883c678c94f80487bc.tar.gz
rneovim-4d3a04279d32bc97d18ab2883c678c94f80487bc.tar.bz2
rneovim-4d3a04279d32bc97d18ab2883c678c94f80487bc.zip
perf(lsp): remove grouping logic from lsp.status (#24096)
With the title carry-over logic in the `$/progress` handler it's not necessary to group again in vim.lsp.status
Diffstat (limited to 'runtime/lua/vim/lsp.lua')
-rw-r--r--runtime/lua/vim/lsp.lua22
1 files changed, 3 insertions, 19 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua
index ea81244c68..38e0e34790 100644
--- a/runtime/lua/vim/lsp.lua
+++ b/runtime/lua/vim/lsp.lua
@@ -902,18 +902,13 @@ end
---@return string
function lsp.status()
local percentage = nil
- local groups = {}
+ local messages = {}
for _, client in ipairs(vim.lsp.get_active_clients()) do
for progress in client.progress do
local value = progress.value
if type(value) == 'table' and value.kind then
- local group = groups[progress.token]
- if not group then
- group = {}
- groups[progress.token] = group
- end
- group.title = value.title or group.title
- group.message = value.message or group.message
+ local message = value.message and (value.title .. ': ' .. value.message) or value.title
+ messages[#messages + 1] = message
if value.percentage then
percentage = math.max(percentage or 0, value.percentage)
end
@@ -922,17 +917,6 @@ function lsp.status()
-- Just ignore it as there is no sensible way to display it
end
end
- local messages = {}
- for _, group in pairs(groups) do
- if group.title then
- table.insert(
- messages,
- group.message and (group.title .. ': ' .. group.message) or group.title
- )
- elseif group.message then
- table.insert(messages, group.message)
- end
- end
local message = table.concat(messages, ', ')
if percentage then
return string.format('%3d%%: %s', percentage, message)