fix(lsp): include missing LSP methods and update type annotations

This commit is contained in:
Davidyz
2025-10-14 22:07:52 +08:00
committed by Lewis Russell
parent 0791594101
commit b459bf5961
2 changed files with 8 additions and 1 deletions

View File

@@ -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',

View File

@@ -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