aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/sign_spec.lua
diff options
context:
space:
mode:
authorLukas Reineke <lukas.reineke@protonmail.com>2020-12-25 01:33:52 +0900
committerGitHub <noreply@github.com>2020-12-24 17:33:52 +0100
commit88ae03bcdb8992fd91a3efdb61dbd7e2aa395eff (patch)
tree14dc4b5e156bba0380f25af525afb7d2ef6125a7 /test/functional/ui/sign_spec.lua
parent6c28bddfad73c527da5e5629919d617dffdea229 (diff)
downloadrneovim-88ae03bcdb8992fd91a3efdb61dbd7e2aa395eff.tar.gz
rneovim-88ae03bcdb8992fd91a3efdb61dbd7e2aa395eff.tar.bz2
rneovim-88ae03bcdb8992fd91a3efdb61dbd7e2aa395eff.zip
feat(sign):Allow signs to be 0 width (#13290)
Adds support for signs to be 0 cells wide. If all signs of the same group have no width, the signcolumn will not be rendered for that group.
Diffstat (limited to 'test/functional/ui/sign_spec.lua')
-rw-r--r--test/functional/ui/sign_spec.lua66
1 files changed, 66 insertions, 0 deletions
diff --git a/test/functional/ui/sign_spec.lua b/test/functional/ui/sign_spec.lua
index 0ed62b21b2..d1b8de5e4e 100644
--- a/test/functional/ui/sign_spec.lua
+++ b/test/functional/ui/sign_spec.lua
@@ -76,6 +76,28 @@ describe('Signs', function()
]])
end)
+ it('allows signs with no text', function()
+ feed('ia<cr>b<cr><esc>')
+ command('sign define piet1 text= texthl=Search')
+ command('sign place 1 line=1 name=piet1 buffer=1')
+ screen:expect([[
+ a |
+ b |
+ ^ |
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ |
+ ]])
+ end)
+
it('can be called right after :split', function()
feed('ia<cr>b<cr>c<cr><esc>gg')
-- This used to cause a crash due to :sign using a special redraw
@@ -244,6 +266,50 @@ describe('Signs', function()
]]}
end)
+ it('ignores signs with no icon and text when calculting the signcolumn width', function()
+ feed('ia<cr>b<cr>c<cr><esc>')
+ command('set number')
+ command('set signcolumn=auto:2')
+ command('sign define pietSearch text=>> texthl=Search')
+ command('sign define pietError text= texthl=Error')
+ command('sign place 2 line=1 name=pietError buffer=1')
+ -- no signcolumn with only empty sign
+ screen:expect([[
+ {6: 1 }a |
+ {6: 2 }b |
+ {6: 3 }c |
+ {6: 4 }^ |
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ |
+ ]])
+ -- single column with 1 sign with text and one sign without
+ command('sign place 1 line=1 name=pietSearch buffer=1')
+ screen:expect([[
+ {1:>>}{6: 1 }a |
+ {2: }{6: 2 }b |
+ {2: }{6: 3 }c |
+ {2: }{6: ^4 } |
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ |
+ ]])
+ end)
+
it('can have 32bit sign IDs', function()
command('sign define piet text=>> texthl=Search')
command('sign place 100000 line=1 name=piet buffer=1')