mirror of
https://github.com/neovim/neovim.git
synced 2026-08-29 10:31:48 +00:00
fix(lsp): unify get_completion_word for textEdits/insertText
Problem: After https://github.com/neovim/neovim/pull/32377 selecting snippets provided by luals inserted the multi-line text before accepting the candidates. That's inconsistent with servers who provide `textEdit` instead of `insertText` and having lines shift up/down while cycling through the completion candidates is a bit irritating. Solution: Use the logic used for `textEdit` snippets also for `insertText`
This commit is contained in:
committed by
Mathias Fußenegger
parent
db2c3d1143
commit
8d7eb03040
@@ -562,12 +562,23 @@ describe('vim.lsp.completion: item conversion', function()
|
||||
range = range0,
|
||||
},
|
||||
},
|
||||
-- luals for snippet
|
||||
{
|
||||
insertText = 'for ${1:index}, ${2:value} in ipairs(${3:t}) do\n\t$0\nend',
|
||||
insertTextFormat = 2,
|
||||
kind = 15,
|
||||
label = 'for .. ipairs',
|
||||
},
|
||||
}
|
||||
local expected = {
|
||||
{
|
||||
abbr = 'copyOf(Collection<? extends E> coll) : List<E>',
|
||||
word = 'copyOf',
|
||||
},
|
||||
{
|
||||
abbr = 'for .. ipairs',
|
||||
word = 'for .. ipairs',
|
||||
},
|
||||
{
|
||||
abbr = 'insert',
|
||||
word = 'insert',
|
||||
|
||||
Reference in New Issue
Block a user