mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 03:05:11 -07:00
fix(lsp): check for nil response from server (#29196)
this only changes the error message, so that it is clear that the error is with the LSP server, rather than being a crash inside nvim runtime scripts. We are already doing a lot of validation, it's just that nil was being overlooked here. This fixes issue #27395
This commit is contained in:
parent
29e05cfb7e
commit
81b372fecd
@ -407,7 +407,9 @@ function Client:handle_body(body)
|
|||||||
end
|
end
|
||||||
log.debug('rpc.receive', decoded)
|
log.debug('rpc.receive', decoded)
|
||||||
|
|
||||||
if type(decoded.method) == 'string' and decoded.id then
|
if type(decoded) ~= 'table' then
|
||||||
|
self:on_error(M.client_errors.INVALID_SERVER_MESSAGE, decoded)
|
||||||
|
elseif type(decoded.method) == 'string' and decoded.id then
|
||||||
local err --- @type lsp.ResponseError|nil
|
local err --- @type lsp.ResponseError|nil
|
||||||
-- Schedule here so that the users functions don't trigger an error and
|
-- Schedule here so that the users functions don't trigger an error and
|
||||||
-- we can still use the result.
|
-- we can still use the result.
|
||||||
|
Loading…
Reference in New Issue
Block a user