fix(lsp): preserve trigger chars on completion #39850

Problem:
After 767fbd8, typing trigger chars would open completion but the
chars were removed.

Solution:
Use filterText fallback so selected item respects typed trigger chars.
This commit is contained in:
glepnir
2026-05-18 17:25:41 +08:00
committed by GitHub
parent d7164eced6
commit 3ffe29d679
2 changed files with 16 additions and 15 deletions

View File

@@ -457,10 +457,14 @@ describe('vim.lsp.completion: item conversion', function()
it('works on non word prefix', function()
local completion_list = {
{ label = ' foo', insertText = '->foo' },
{ label = ' foo', insertText = '->foo', sortText = '1' },
{ label = ' bar', insertText = '->bar', filterText = 'bar', sortText = '2' },
}
local result = complete('wp.|', completion_list, 0, 2)
eq({ { abbr = ' foo', word = '->foo' } }, extract_word_abbr(result.items))
eq({
{ abbr = ' foo', word = '->foo' },
{ abbr = ' bar', word = '->bar' },
}, extract_word_abbr(result.items))
end)
it('trims trailing newline or tab from textEdit', function()