aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/decorations_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/ui/decorations_spec.lua')
-rw-r--r--test/functional/ui/decorations_spec.lua135
1 files changed, 134 insertions, 1 deletions
diff --git a/test/functional/ui/decorations_spec.lua b/test/functional/ui/decorations_spec.lua
index 2f83e7b97a..0f0aa3a5ed 100644
--- a/test/functional/ui/decorations_spec.lua
+++ b/test/functional/ui/decorations_spec.lua
@@ -4949,7 +4949,6 @@ if (h->n_buckets < new_n_buckets) { // expand
]]}
end)
-
it('works with hard TABs', function()
insert(example_text2)
feed 'gg'
@@ -5020,6 +5019,140 @@ if (h->n_buckets < new_n_buckets) { // expand
]]}
end)
+ it('scrolls horizontally with virt_lines_overflow = "scroll" #31000', function()
+ command('set nowrap signcolumn=yes')
+ insert('abcdefghijklmnopqrstuvwxyz')
+ api.nvim_buf_set_extmark(0, ns, 0, 0, {
+ virt_lines = {
+ { { '12αβ̳γ̲口=', 'Special' }, { '❤️345678', 'Special' } },
+ { { '123\t45\t678', 'NonText' } },
+ },
+ virt_lines_overflow = 'scroll',
+ })
+ screen:expect([[
+ {7: }abcdefghijklmnopqrstuvwxy^z |
+ {7: }{16:12αβ̳γ̲口=❤️345678} |
+ {7: }{1:123 45 678} |
+ {1:~ }|*8
+ |
+ ]])
+ feed('zl')
+ screen:expect([[
+ {7: }bcdefghijklmnopqrstuvwxy^z |
+ {7: }{16:2αβ̳γ̲口=❤️345678} |
+ {7: }{1:23 45 678} |
+ {1:~ }|*8
+ |
+ ]])
+ feed('zl')
+ screen:expect([[
+ {7: }cdefghijklmnopqrstuvwxy^z |
+ {7: }{16:αβ̳γ̲口=❤️345678} |
+ {7: }{1:3 45 678} |
+ {1:~ }|*8
+ |
+ ]])
+ feed('zl')
+ screen:expect([[
+ {7: }defghijklmnopqrstuvwxy^z |
+ {7: }{16:β̳γ̲口=❤️345678} |
+ {7: }{1: 45 678} |
+ {1:~ }|*8
+ |
+ ]])
+ feed('zl')
+ screen:expect([[
+ {7: }efghijklmnopqrstuvwxy^z |
+ {7: }{16:γ̲口=❤️345678} |
+ {7: }{1: 45 678} |
+ {1:~ }|*8
+ |
+ ]])
+ feed('zl')
+ screen:expect([[
+ {7: }fghijklmnopqrstuvwxy^z |
+ {7: }{16:口=❤️345678} |
+ {7: }{1: 45 678} |
+ {1:~ }|*8
+ |
+ ]])
+ feed('zl')
+ screen:expect([[
+ {7: }ghijklmnopqrstuvwxy^z |
+ {7: }{16: =❤️345678} |
+ {7: }{1: 45 678} |
+ {1:~ }|*8
+ |
+ ]])
+ feed('zl')
+ screen:expect([[
+ {7: }hijklmnopqrstuvwxy^z |
+ {7: }{16:=❤️345678} |
+ {7: }{1: 45 678} |
+ {1:~ }|*8
+ |
+ ]])
+ feed('zl')
+ screen:expect([[
+ {7: }ijklmnopqrstuvwxy^z |
+ {7: }{16:❤️345678} |
+ {7: }{1:45 678} |
+ {1:~ }|*8
+ |
+ ]])
+ feed('zl')
+ screen:expect([[
+ {7: }jklmnopqrstuvwxy^z |
+ {7: }{16: 345678} |
+ {7: }{1:5 678} |
+ {1:~ }|*8
+ |
+ ]])
+ feed('zl')
+ screen:expect([[
+ {7: }klmnopqrstuvwxy^z |
+ {7: }{16:345678} |
+ {7: }{1: 678} |
+ {1:~ }|*8
+ |
+ ]])
+ feed('zl')
+ screen:expect([[
+ {7: }lmnopqrstuvwxy^z |
+ {7: }{16:45678} |
+ {7: }{1: 678} |
+ {1:~ }|*8
+ |
+ ]])
+ feed('zl')
+ screen:expect([[
+ {7: }mnopqrstuvwxy^z |
+ {7: }{16:5678} |
+ {7: }{1: 678} |
+ {1:~ }|*8
+ |
+ ]])
+ api.nvim_buf_set_extmark(0, ns, 0, 1, {
+ virt_lines = { { { '123\t45\t67', 'NonText' } } },
+ virt_lines_leftcol = true,
+ virt_lines_overflow = 'trunc',
+ })
+ api.nvim_buf_set_extmark(0, ns, 0, 2, {
+ virt_lines = { { { '123\t45\t6', 'NonText' } } },
+ virt_lines_leftcol = false,
+ virt_lines_overflow = 'trunc',
+ })
+ screen:expect([[
+ {7: }mnopqrstuvwxy^z |
+ {7: }{16:5678} |
+ {7: }{1: 678} |
+ {1:123 45 67} |
+ {7: }{1:123 45 6} |
+ {1:~ }|*6
+ |
+ ]])
+ end)
+
it('does not show twice if end_row or end_col is specified #18622', function()
screen:try_resize(50, 8)
insert([[