mirror of
https://github.com/neovim/neovim.git
synced 2026-08-25 16:41:52 +00:00
Co-authored-by: Jesse <github@jessebakker.com>
(cherry picked from commit 29c72cdf4a)
This commit is contained in:
@@ -315,11 +315,19 @@ end
|
||||
--- )
|
||||
--- ```
|
||||
---
|
||||
---@param _ lsp.ResponseError?
|
||||
---@param error lsp.ResponseError?
|
||||
---@param result lsp.DocumentDiagnosticReport
|
||||
---@param ctx lsp.HandlerContext
|
||||
---@param config vim.diagnostic.Opts Configuration table (see |vim.diagnostic.config()|).
|
||||
function M.on_diagnostic(_, result, ctx, config)
|
||||
function M.on_diagnostic(error, result, ctx, config)
|
||||
if error ~= nil and error.code == protocol.ErrorCodes.ServerCancelled then
|
||||
if error.data == nil or error.data.retriggerRequest ~= false then
|
||||
local client = assert(vim.lsp.get_client_by_id(ctx.client_id))
|
||||
client.request(ctx.method, ctx.params)
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
if result == nil or result.kind == 'unchanged' then
|
||||
return
|
||||
end
|
||||
|
||||
@@ -716,7 +716,8 @@ for k, fn in pairs(M) do
|
||||
})
|
||||
end
|
||||
|
||||
if err then
|
||||
-- ServerCancelled errors should be propagated to the request handler
|
||||
if err and err.code ~= protocol.ErrorCodes.ServerCancelled then
|
||||
-- LSP spec:
|
||||
-- interface ResponseError:
|
||||
-- code: integer;
|
||||
|
||||
@@ -166,6 +166,7 @@ local constants = {
|
||||
-- Defined by the protocol.
|
||||
RequestCancelled = -32800,
|
||||
ContentModified = -32801,
|
||||
ServerCancelled = -32802,
|
||||
},
|
||||
|
||||
-- Describes the content type that a client supports in various
|
||||
|
||||
Reference in New Issue
Block a user