aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/decorations_spec.lua
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2024-02-23 11:38:27 +0100
committerbfredl <bjorn.linse@gmail.com>2024-02-23 11:41:09 +0100
commitb97d5038f16b1be4e413c4215e90818c05fb7ea1 (patch)
tree3b0ac3511f1fd269a928fa8cfc51b841afe834ac /test/functional/ui/decorations_spec.lua
parente2e63bd045491f36e12c924fddbe76b3ef884b38 (diff)
downloadrneovim-b97d5038f16b1be4e413c4215e90818c05fb7ea1.tar.gz
rneovim-b97d5038f16b1be4e413c4215e90818c05fb7ea1.tar.bz2
rneovim-b97d5038f16b1be4e413c4215e90818c05fb7ea1.zip
fix(marktree): some marks counted twice when checking for overlap
fixes #27046
Diffstat (limited to 'test/functional/ui/decorations_spec.lua')
-rw-r--r--test/functional/ui/decorations_spec.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/functional/ui/decorations_spec.lua b/test/functional/ui/decorations_spec.lua
index b6e1a776e8..e57e719192 100644
--- a/test/functional/ui/decorations_spec.lua
+++ b/test/functional/ui/decorations_spec.lua
@@ -5387,6 +5387,30 @@ l5
|
]]}
end)
+
+ it('correct number of signs after deleting text (#27046)', function()
+ command('call setline(1, ["foo"]->repeat(31))')
+ api.nvim_buf_set_extmark(0, ns, 0, 0, {end_row = 0, sign_text = 'S1'})
+ api.nvim_buf_set_extmark(0, ns, 0, 0, {end_row = 0, end_col = 3, hl_group = 'Error'})
+ api.nvim_buf_set_extmark(0, ns, 9, 0, {end_row = 9, sign_text = 'S2'})
+ api.nvim_buf_set_extmark(0, ns, 9, 0, {end_row = 9, end_col = 3, hl_group = 'Error'})
+ api.nvim_buf_set_extmark(0, ns, 19, 0, {end_row = 19, sign_text = 'S3'})
+ api.nvim_buf_set_extmark(0, ns, 19, 0, {end_row = 19, end_col = 3, hl_group = 'Error'})
+ api.nvim_buf_set_extmark(0, ns, 29, 0, {end_row = 29, sign_text = 'S4'})
+ api.nvim_buf_set_extmark(0, ns, 29, 0, {end_row = 29, end_col = 3, hl_group = 'Error'})
+ api.nvim_buf_set_extmark(0, ns, 30, 0, {end_row = 30, sign_text = 'S5'})
+ api.nvim_buf_set_extmark(0, ns, 30, 0, {end_row = 30, end_col = 3, hl_group = 'Error'})
+ command('0d29')
+
+ screen:expect{grid=[[
+ S1S2S3S4{4:^foo} |
+ S5{1: }{4:foo} |
+ {2:~ }|*7
+ 29 fewer lines |
+ ]]}
+
+ api.nvim_buf_clear_namespace(0, ns, 0, -1)
+ end)
end)
describe('decorations: virt_text', function()