fix(lsp): fix reverse sorting of same position text edits (#29212)

Problem:
Text edits with the same position (both line and character) were being
reverse sorted prior to being applied which differs from the lsp spec

Solution:
Change the sort order for just the same position edits
This commit is contained in:
Al Colmenar authored and GitHub committed 2024-06-07 11:54:43 +02:00
1 parent 6e45cd7f00
commit 2ce4a4d91e
2 files changed
+7 -7

No files matched your search

+1 -1
View File
@@ -391,7 +391,7 @@ function M.apply_text_edits(text_edits, bufnr, offset_encoding)
return a.range.start.character > b.range.start.character
end
if a._index ~= b._index then
return a._index > b._index
return a._index < b._index
end
end)
+6 -6
View File
@@ -1789,9 +1789,9 @@ describe('LSP', function()
}
exec_lua('vim.lsp.util.apply_text_edits(...)', edits, 1, 'utf-16')
eq({
'',
'123',
'fooFbar',
'3',
'foo',
'12Fbar',
'123irst guy',
'baz line of text',
'The next line of text',
@@ -1813,9 +1813,9 @@ describe('LSP', function()
}
exec_lua('vim.lsp.util.apply_text_edits(...)', edits, 1, 'utf-16')
eq({
'',
'123',
'fooFbar',
'3',
'foo',
'12Fbar',
'123irst guy',
'baz line of text',
'The next line of text',