diff options
| author | bfredl <bjorn.linse@gmail.com> | 2024-07-21 15:59:12 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-21 15:59:12 +0200 |
| commit | 5c2f8ccc00062a17f790a3a8a4481ef418cb43c1 (patch) | |
| tree | 50b5c162c2e7f025f17e117b1f4424c8831b37c7 /test/functional/api | |
| parent | 4c788b175743e54d0a73248c820d6cf16a854f6e (diff) | |
| parent | 012db2b0f5099909a62c56651acb4dcf62328fc9 (diff) | |
| download | rneovim-5c2f8ccc00062a17f790a3a8a4481ef418cb43c1.tar.gz rneovim-5c2f8ccc00062a17f790a3a8a4481ef418cb43c1.tar.bz2 rneovim-5c2f8ccc00062a17f790a3a8a4481ef418cb43c1.zip | |
Merge pull request #29523 from luukvbaal/invalid
fix(marks): revalidate marks whose position did not change
Diffstat (limited to 'test/functional/api')
| -rw-r--r-- | test/functional/api/extmark_spec.lua | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/test/functional/api/extmark_spec.lua b/test/functional/api/extmark_spec.lua index 7b2fe209ba..a7f4ba25e0 100644 --- a/test/functional/api/extmark_spec.lua +++ b/test/functional/api/extmark_spec.lua @@ -1758,13 +1758,13 @@ describe('API/extmarks', function() command('1d 2') eq(0, #get_extmarks(-1, 0, -1, {})) -- mark is not removed when deleting bytes before the range - set_extmark( - ns, - 3, - 0, - 4, - { invalidate = true, undo_restore = false, hl_group = 'Error', end_col = 7 } - ) + set_extmark(ns, 3, 0, 4, { + invalidate = true, + undo_restore = true, + hl_group = 'Error', + end_col = 7, + right_gravity = false, + }) feed('dw') eq(3, get_extmark_by_id(ns, 3, { details = true })[3].end_col) -- mark is not removed when deleting bytes at the start of the range @@ -1778,15 +1778,18 @@ describe('API/extmarks', function() eq(1, get_extmark_by_id(ns, 3, { details = true })[3].end_col) -- mark is removed when all bytes in the range are deleted feed('hx') - eq({}, get_extmark_by_id(ns, 3, {})) + eq(true, get_extmark_by_id(ns, 3, { details = true })[3].invalid) + -- mark is restored with undo_restore == true if pos did not change + command('undo') + eq(nil, get_extmark_by_id(ns, 3, { details = true })[3].invalid) -- multiline mark is not removed when start of its range is deleted - set_extmark( - ns, - 4, - 1, - 4, - { undo_restore = false, invalidate = true, hl_group = 'Error', end_col = 7, end_row = 3 } - ) + set_extmark(ns, 4, 1, 4, { + undo_restore = false, + invalidate = true, + hl_group = 'Error', + end_col = 7, + end_row = 3, + }) feed('ddDdd') eq({ 0, 0 }, get_extmark_by_id(ns, 4, {})) -- multiline mark is removed when entirety of its range is deleted |