From b459bf5961fd6bbd7c887d9c3751ff5dbbdcf55d Mon Sep 17 00:00:00 2001 From: Davidyz Date: Tue, 14 Oct 2025 22:07:52 +0800 Subject: [PATCH] fix(lsp): include missing LSP methods and update type annotations --- runtime/lua/vim/lsp/protocol.lua | 4 ++++ src/gen/gen_lsp.lua | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/runtime/lua/vim/lsp/protocol.lua b/runtime/lua/vim/lsp/protocol.lua index 2a45e20cbc..509c203ef7 100644 --- a/runtime/lua/vim/lsp/protocol.lua +++ b/runtime/lua/vim/lsp/protocol.lua @@ -728,6 +728,8 @@ end --- LSP Notification (direction: clientToServer) --- @alias vim.lsp.protocol.Method.ClientToServer.Notification +--- | '$/cancelRequest', +--- | '$/progress', --- | '$/setTrace', --- | 'exit', --- | 'initialized', @@ -773,7 +775,9 @@ end --- LSP Notification (direction: serverToClient) --- @alias vim.lsp.protocol.Method.ServerToClient.Notification +--- | '$/cancelRequest', --- | '$/logTrace', +--- | '$/progress', --- | 'telemetry/event', --- | 'textDocument/publishDiagnostics', --- | 'window/logMessage', diff --git a/src/gen/gen_lsp.lua b/src/gen/gen_lsp.lua index e51e24020e..8984987e67 100755 --- a/src/gen/gen_lsp.lua +++ b/src/gen/gen_lsp.lua @@ -157,7 +157,7 @@ local function write_to_vim_protocol(protocol) output[#output + 1] = ('--- LSP %s (direction: %s)'):format(b.title, dir) output[#output + 1] = ('--- @alias %s.%s'):format(alias, b.title) for _, item in ipairs(b.methods) do - if item.messageDirection == dir then + if item.messageDirection == dir or item.messageDirection == 'both' then output[#output + 1] = ("--- | '%s',"):format(item.method) end end @@ -287,6 +287,9 @@ local anonym_classes = {} --- @return string local function parse_type(type, prefix) if type.kind == 'reference' or type.kind == 'base' then + if type.kind == 'base' and type.name == 'string' and prefix == 'method' then + return 'vim.lsp.protocol.Method' + end if simple_types[type.name] then return type.name end