commit b459bf5961fd6bbd7c887d9c3751ff5dbbdcf55d
parent 07915941014307b054cbbb131369377647b7fb06
Author: Davidyz <hzjlyz@gmail.com>
Date: Tue, 14 Oct 2025 22:07:52 +0800
fix(lsp): include missing LSP methods and update type annotations
Diffstat:
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git 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
@@ -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