mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge pull request #14622 from mfussenegger/unmute-error-responses
lsp: Only mute RequestCancelled or ContentModified, but not other errors
This commit is contained in:
commit
109fb51589
@ -523,14 +523,21 @@ local function start(cmd, cmd_args, dispatchers, extra_spawn_params)
|
||||
decoded.error = convert_NIL(decoded.error)
|
||||
decoded.result = convert_NIL(decoded.result)
|
||||
|
||||
-- We sent a number, so we expect a number.
|
||||
local result_id = tonumber(decoded.id)
|
||||
|
||||
-- Do not surface RequestCancelled or ContentModified to users, it is RPC-internal.
|
||||
if decoded.error then
|
||||
local mute_error = false
|
||||
if decoded.error.code == protocol.ErrorCodes.RequestCancelled then
|
||||
local _ = log.debug() and log.debug("Received cancellation ack", decoded)
|
||||
mute_error = true
|
||||
elseif decoded.error.code == protocol.ErrorCodes.ContentModified then
|
||||
local _ = log.debug() and log.debug("Received content modified ack", decoded)
|
||||
mute_error = true
|
||||
end
|
||||
local result_id = tonumber(decoded.id)
|
||||
|
||||
if mute_error then
|
||||
-- Clear any callback since this is cancelled now.
|
||||
-- This is safe to do assuming that these conditions hold:
|
||||
-- - The server will not send a result callback after this cancellation.
|
||||
@ -541,9 +548,8 @@ local function start(cmd, cmd_args, dispatchers, extra_spawn_params)
|
||||
end
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
-- We sent a number, so we expect a number.
|
||||
local result_id = tonumber(decoded.id)
|
||||
local callback = message_callbacks[result_id]
|
||||
if callback then
|
||||
message_callbacks[result_id] = nil
|
||||
|
Loading…
Reference in New Issue
Block a user