feat(lsp): use stricter types for methods

This change modifies gen_lsp.lua so alias types are generated for
various types of lsp methods to distinguish between notifications
and requests:
 - vim.lsp.protocol.Method.ServerToClient.Request
 - vim.lsp.protocol.Method.ServerToClient.Notification
 - vim.lsp.protocol.Method.ClientToServer.Request
 - vim.lsp.protocol.Method.ClientToServer.Notification

 These types are then used instead of `string` where appropriate.
This commit is contained in:
Lewis Russell
2025-04-17 10:21:41 +01:00
committed by Lewis Russell
parent 34b4df774d
commit d7e0d46ffa
8 changed files with 104 additions and 104 deletions

View File

@@ -427,6 +427,9 @@ end
--- @param generics? table<string,string>
--- @param default? string
local function render_type(ty, generics, default)
-- TODO(lewis6991): Document LSP protocol types
ty = ty:gsub('vim%.lsp%.protocol%.Method.[%w.]+', 'string')
if generics then
ty = replace_generics(ty, generics)
end