commit afd0c648a89ff88c9bff1b24c37e139813ec13c9
parent 965ed579fe3ab9ded0e5ab20b54a5a8607188dac
Author: luukvbaal <luukvbaal@gmail.com>
Date: Sat, 26 Aug 2023 15:10:04 +0200
fix(statuscolumn): force full redraw when signcolumn is invalid (#24859)
Fix #24655
Diffstat:
2 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c
@@ -595,6 +595,8 @@ int update_screen(void)
// Reset 'statuscolumn' if there is no dedicated signcolumn but it is invalid.
if (*wp->w_p_stc != NUL && !wp->w_buffer->b_signcols.valid && win_no_signcol(wp)) {
wp->w_nrwidth_line_count = 0;
+ wp->w_valid &= ~VALID_WCOL;
+ wp->w_redr_type = UPD_NOT_VALID;
}
}
diff --git a/test/functional/ui/statuscolumn_spec.lua b/test/functional/ui/statuscolumn_spec.lua
@@ -727,6 +727,8 @@ describe('statuscolumn', function()
end
return vim.v.lnum .. '%=' .. sign
end
+ vim.o.number = true
+ vim.o.numberwidth = 2
vim.o.statuscolumn = "%!v:lua.StatusCol()"
]])
command('sign place 1 line=2 name=sign')