fix(lsp): unclear error on malformed server responses #40422

Problem:
Malformed server responses with `null` (vim.NIL) values, do not show
clear error messages.


Solution:
Assert two known, specific cases, to avoid user confusion.
This commit is contained in:
Kim A. Brandt
2026-07-12 18:52:10 +02:00
committed by GitHub
parent 58b6310adc
commit 543a96e491
4 changed files with 34 additions and 0 deletions

View File

@@ -3657,6 +3657,22 @@ describe('vim.diagnostic', function()
)
end)
it('errors when LSP relatedInformation is null', function()
matches(
'server response has invalid %(null%) relatedInformation',
pcall_err(
exec_lua,
[[
local diagnostic = _G.make_warning('Some warning', 1, 1, 1, 3)
diagnostic.user_data = { lsp = { relatedInformation = vim.NIL } }
vim.api.nvim_win_set_buf(0, _G.diagnostic_bufnr)
vim.diagnostic.set(_G.diagnostic_ns, _G.diagnostic_bufnr, { diagnostic })
vim.diagnostic.open_float({ header = false, scope = 'buffer' })
]]
)
)
end)
it('works with the old signature', function()
eq(
{ '1. Syntax error' },