mirror of
https://github.com/neovim/neovim.git
synced 2026-04-28 10:14:06 +00:00
fix(column): issues with 'statuscolumn' width (#22542)
Problem: 'statuscolumn' width can be incorrect when toggling 'number'
or setting 'statuscolumn'.
Solution: Make sure the width is reset and re-estimated when
'statuscolumn' and 'number' are set. (When 'relativenumber'
is set this already happens because it always changes
"nrwidth_line_count".)
This commit is contained in:
@@ -520,4 +520,42 @@ describe('statuscolumn', function()
|
||||
: |
|
||||
]])
|
||||
end)
|
||||
|
||||
it("has correct width when toggling '(relative)number'", function()
|
||||
screen:try_resize(screen._width, 6)
|
||||
command('call setline(1, repeat(["aaaaa"], 100))')
|
||||
command('set relativenumber')
|
||||
command([[set stc=%{!&nu&&!&rnu?'':&rnu?v:relnum?v:relnum:&nu?v:lnum:'0':v:lnum}]])
|
||||
screen:expect([[
|
||||
1 aaaaa |
|
||||
8 ^aaaaa |
|
||||
1 aaaaa |
|
||||
2 aaaaa |
|
||||
3 aaaaa |
|
||||
|
|
||||
]])
|
||||
-- width correctly estimated with "w_nrwidth_line_count" when setting 'stc'
|
||||
command([[set stc=%{!&nu&&!&rnu?'':&rnu?v:relnum?v:relnum:&nu?v:lnum:'0':v:lnum}]])
|
||||
screen:expect_unchanged()
|
||||
-- zero width when disabling 'number'
|
||||
command('set norelativenumber nonumber')
|
||||
screen:expect([[
|
||||
aaaaa |
|
||||
^aaaaa |
|
||||
aaaaa |
|
||||
aaaaa |
|
||||
aaaaa |
|
||||
|
|
||||
]])
|
||||
-- width correctly estimated with "w_nrwidth_line_count" when setting 'nu'
|
||||
command('set number')
|
||||
screen:expect([[
|
||||
7 aaaaa |
|
||||
8 ^aaaaa |
|
||||
9 aaaaa |
|
||||
10 aaaaa |
|
||||
11 aaaaa |
|
||||
|
|
||||
]])
|
||||
end)
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user