diff options
author | luukvbaal <luukvbaal@gmail.com> | 2023-08-26 15:10:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-26 21:10:04 +0800 |
commit | afd0c648a89ff88c9bff1b24c37e139813ec13c9 (patch) | |
tree | f5eb311f76d6198897a439345abe07a9a3a6b166 | |
parent | 965ed579fe3ab9ded0e5ab20b54a5a8607188dac (diff) | |
download | rneovim-afd0c648a89ff88c9bff1b24c37e139813ec13c9.tar.gz rneovim-afd0c648a89ff88c9bff1b24c37e139813ec13c9.tar.bz2 rneovim-afd0c648a89ff88c9bff1b24c37e139813ec13c9.zip |
fix(statuscolumn): force full redraw when signcolumn is invalid (#24859)
Fix #24655
-rw-r--r-- | src/nvim/drawscreen.c | 2 | ||||
-rw-r--r-- | test/functional/ui/statuscolumn_spec.lua | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c index 30a5755297..bd177884fb 100644 --- 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 index 35cd479bb9..ee235cd6b5 100644 --- 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') |