aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/lsp.txt6
-rw-r--r--runtime/doc/news.txt2
-rw-r--r--runtime/lua/vim/lsp/handlers.lua16
3 files changed, 13 insertions, 11 deletions
diff --git a/runtime/doc/lsp.txt b/runtime/doc/lsp.txt
index 40a80b1261..5b2b8d6341 100644
--- a/runtime/doc/lsp.txt
+++ b/runtime/doc/lsp.txt
@@ -544,14 +544,14 @@ LspNotify *LspNotify*
LspProgress *LspProgress*
Upon receipt of a progress notification from the server. Notifications can
be polled from a `progress` ring buffer of a |vim.lsp.Client| or use
- |vim.lsp.status()| to get an aggregate message
+ |vim.lsp.status()| to get an aggregate message.
If the server sends a "work done progress", the `pattern` is set to `kind`
(one of `begin`, `report` or `end`).
When used from Lua, the event contains a `data` table with `client_id` and
- `result` properties. `result` will contain the request params sent by the
- server.
+ `params` properties. `params` will contain the request params sent by the
+ server (see `lsp.ProgressParams`).
Example: >vim
autocmd LspProgress * redrawstatus
diff --git a/runtime/doc/news.txt b/runtime/doc/news.txt
index ed994472ac..6f13e505f1 100644
--- a/runtime/doc/news.txt
+++ b/runtime/doc/news.txt
@@ -178,6 +178,8 @@ cycle (Nvim HEAD, the "master" branch).
• Renamed vim.snippet.exit() to vim.snippet.stop().
+• Changed |event-data| table for |LspProgress|: renamed `result` to `params`.
+
==============================================================================
NEW FEATURES *news-features*
diff --git a/runtime/lua/vim/lsp/handlers.lua b/runtime/lua/vim/lsp/handlers.lua
index 4672d94105..620eebeeb4 100644
--- a/runtime/lua/vim/lsp/handlers.lua
+++ b/runtime/lua/vim/lsp/handlers.lua
@@ -22,16 +22,16 @@ M[ms.workspace_executeCommand] = function(_, _, _, _)
end
--- @see # https://microsoft.github.io/language-server-protocol/specifications/specification-current/#progress
----@param result lsp.ProgressParams
+---@param params lsp.ProgressParams
---@param ctx lsp.HandlerContext
-M[ms.dollar_progress] = function(_, result, ctx)
+M[ms.dollar_progress] = function(_, params, ctx)
local client = vim.lsp.get_client_by_id(ctx.client_id)
if not client then
err_message('LSP[id=', tostring(ctx.client_id), '] client has shut down during progress update')
return vim.NIL
end
local kind = nil
- local value = result.value
+ local value = params.value
if type(value) == 'table' then
kind = value.kind
@@ -39,21 +39,21 @@ M[ms.dollar_progress] = function(_, result, ctx)
-- So that consumers always have it available, even if they consume a
-- subset of the full sequence
if kind == 'begin' then
- client.progress.pending[result.token] = value.title
+ client.progress.pending[params.token] = value.title
else
- value.title = client.progress.pending[result.token]
+ value.title = client.progress.pending[params.token]
if kind == 'end' then
- client.progress.pending[result.token] = nil
+ client.progress.pending[params.token] = nil
end
end
end
- client.progress:push(result)
+ client.progress:push(params)
api.nvim_exec_autocmds('LspProgress', {
pattern = kind,
modeline = false,
- data = { client_id = ctx.client_id, result = result },
+ data = { client_id = ctx.client_id, params = params },
})
end