From fb90b6ec9803fdbd603b1d5f1685583218c18909 Mon Sep 17 00:00:00 2001 From: Michael Lingelbach Date: Wed, 30 Dec 2020 14:17:35 -0800 Subject: LSP: implement window/workDoneProgress/create (#13640) --- runtime/lua/vim/lsp/handlers.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'runtime/lua') diff --git a/runtime/lua/vim/lsp/handlers.lua b/runtime/lua/vim/lsp/handlers.lua index 359573beb1..3db62f9dd8 100644 --- a/runtime/lua/vim/lsp/handlers.lua +++ b/runtime/lua/vim/lsp/handlers.lua @@ -63,8 +63,20 @@ local function progress_callback(_, _, params, client_id) vim.api.nvim_command("doautocmd User LspProgressUpdate") end +--@see https://microsoft.github.io/language-server-protocol/specifications/specification-current/#progress M['$/progress'] = progress_callback +--@see https://microsoft.github.io/language-server-protocol/specifications/specification-current/#window_workDoneProgress_create +M['window/workDoneProgress/create'] = function(_, _, params, client_id) + local client = vim.lsp.get_client_by_id(client_id) + local token = params.token -- string or number + if not client then + err_message("LSP[", client_id, "] client has shut down after sending the message") + end + client.messages.progress[token] = {} + return vim.NIL +end + --@see https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_codeAction M['textDocument/codeAction'] = function(_, _, actions) if actions == nil or vim.tbl_isempty(actions) then -- cgit