fix(lsp): ignore empty response on trigger completion #37663

Problem:
Empty response affects server start boundary computed before.

Solution:
Ignore empty responses. This is mostly micro-optimization that avoids
extending existing results with empty responses.
This commit is contained in:
Tomasz N
2026-02-08 22:25:47 +01:00
committed by GitHub
parent 9c8d06e086
commit eaacdc9bdf
2 changed files with 2 additions and 1 deletions

View File

@@ -583,7 +583,7 @@ local function trigger(bufnr, clients, ctx)
end
local result = response.result
if result then
if result and #result.items > 0 then
Context.isIncomplete = Context.isIncomplete or result.isIncomplete
local encoding = client and client.offset_encoding or 'utf-16'
local client_matches, tmp_server_start_boundary

View File

@@ -1455,6 +1455,7 @@ describe('vim.lsp.completion: integration', function()
end)
create_server('dummy', completion_list)
create_server('dummy2', completion_list2)
create_server('dummy3', { isIncomplete = false, items = {} })
feed('Adiv.foo<C-x><C-O>')
retry(nil, nil, function()
eq(