fix(statuscolumn): force full redraw when signcolumn is invalid (#24859)

Fix #24655
This commit is contained in:
luukvbaal 2023-08-26 15:10:04 +02:00 committed by GitHub
parent 965ed579fe
commit afd0c648a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 0 deletions

View File

@ -595,6 +595,8 @@ int update_screen(void)
// Reset 'statuscolumn' if there is no dedicated signcolumn but it is invalid. // 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)) { if (*wp->w_p_stc != NUL && !wp->w_buffer->b_signcols.valid && win_no_signcol(wp)) {
wp->w_nrwidth_line_count = 0; wp->w_nrwidth_line_count = 0;
wp->w_valid &= ~VALID_WCOL;
wp->w_redr_type = UPD_NOT_VALID;
} }
} }

View File

@ -727,6 +727,8 @@ describe('statuscolumn', function()
end end
return vim.v.lnum .. '%=' .. sign return vim.v.lnum .. '%=' .. sign
end end
vim.o.number = true
vim.o.numberwidth = 2
vim.o.statuscolumn = "%!v:lua.StatusCol()" vim.o.statuscolumn = "%!v:lua.StatusCol()"
]]) ]])
command('sign place 1 line=2 name=sign') command('sign place 1 line=2 name=sign')