diff options
author | Michael Lingelbach <m.j.lbach@gmail.com> | 2022-03-05 09:17:56 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-05 09:17:56 -0800 |
commit | a5e475fcc269b32a8a487f787af20802cbfabe28 (patch) | |
tree | cdfd6e288cd973b3444d71b91268d78e995f41bc /test/functional/plugin/lsp/incremental_sync_spec.lua | |
parent | 228ea78622c8ae8248400936f12de76f38376d61 (diff) | |
download | rneovim-a5e475fcc269b32a8a487f787af20802cbfabe28.tar.gz rneovim-a5e475fcc269b32a8a487f787af20802cbfabe28.tar.bz2 rneovim-a5e475fcc269b32a8a487f787af20802cbfabe28.zip |
fix(lsp): start incremental sync range at previous newline character (#17610)
This change forces the start of an incremental sync range to begin always on an existing line.
Diffstat (limited to 'test/functional/plugin/lsp/incremental_sync_spec.lua')
-rw-r--r-- | test/functional/plugin/lsp/incremental_sync_spec.lua | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/test/functional/plugin/lsp/incremental_sync_spec.lua b/test/functional/plugin/lsp/incremental_sync_spec.lua index 4e3eddb960..da54f3c649 100644 --- a/test/functional/plugin/lsp/incremental_sync_spec.lua +++ b/test/functional/plugin/lsp/incremental_sync_spec.lua @@ -207,16 +207,16 @@ describe('incremental synchronization', function() { range = { ['start'] = { - character = 0, - line = 1 + character = 11, + line = 0, }, ['end'] = { character = 0, line = 1 } }, - rangeLength = 0, - text = 'hello world\n' + rangeLength = 1, + text = '\nhello world\n' } } test_edit({"hello world"}, {"yyp"}, expected_text_changes, 'utf-16', '\n') @@ -226,19 +226,38 @@ describe('incremental synchronization', function() { range = { ['start'] = { + character = 11, + line = 0 + }, + ['end'] = { character = 0, line = 1 + } + }, + rangeLength = 1, + text = '\n\n' + } + } + test_edit({"hello world"}, {"o"}, expected_text_changes, 'utf-16', '\n') + end) + it('adding a line to an empty buffer', function() + local expected_text_changes = { + { + range = { + ['start'] = { + character = 0, + line = 0 }, ['end'] = { character = 0, line = 1 } }, - rangeLength = 0, - text = '\n' + rangeLength = 1, + text = '\n\n' } } - test_edit({"hello world"}, {"o"}, expected_text_changes, 'utf-16', '\n') + test_edit({""}, {"o"}, expected_text_changes, 'utf-16', '\n') end) end) describe('multi line edit', function() |