commit df399ea0d20e86027d0b59ca4bbd445c1d035a67
parent b514edcdf4747b2ebf00a97f89f310d6d4f090f5
Author: Luuk van Baal <luukvbaal@gmail.com>
Date: Thu, 23 Nov 2023 16:23:26 +0100
fix(column): reset decor state before starting from top
Diffstat:
2 files changed, 10 insertions(+), 14 deletions(-)
diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c
@@ -2335,6 +2335,7 @@ static void win_update(win_T *wp, DecorProviders *providers)
lnum = wp->w_topline;
wp->w_lines_valid = 0;
wp->w_valid &= ~VALID_WCOL;
+ decor_redraw_reset(wp, &decor_state);
decor_providers_invoke_win(wp, providers, &line_providers);
continue;
}
diff --git a/test/functional/ui/statuscolumn_spec.lua b/test/functional/ui/statuscolumn_spec.lua
@@ -46,22 +46,17 @@ describe('statuscolumn', function()
end)
it("widens with irregular 'statuscolumn' width", function()
- command([[set stc=%{v:relnum?v:relnum:(v:lnum==5?'bbbbb':v:lnum)}]])
- command('norm 5G | redraw!')
- screen:expect([[
- 1 aaaaa |
+ screen:try_resize(screen._width, 4)
+ command([=[
+ set stc=%{v:relnum?v:relnum:(v:lnum==5?'bbbbb':v:lnum)}
+ let ns = nvim_create_namespace('')
+ call nvim_buf_set_extmark(0, ns, 3, 0, {'virt_text':[['virt_text']]})
+ norm 5G | redraw!
+ ]=])
+ screen:expect([[
+ 1 aaaaa virt_text |
bbbbba^eaaa |
1 aaaaa |
- 2 aaaaa |
- 3 aaaaa |
- 4 aaaaa |
- 5 aaaaa |
- 6 aaaaa |
- 7 aaaaa |
- 8 aaaaa |
- 9 aaaaa |
- 10 aaaaa |
- 11 aaaaa |
|
]])
end)