aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/option.c
diff options
context:
space:
mode:
authorluukvbaal <31730729+luukvbaal@users.noreply.github.com>2023-03-07 01:45:08 +0100
committerGitHub <noreply@github.com>2023-03-07 08:45:08 +0800
commitbf4eada2c83f5402fc56370fd22af11029a4a3aa (patch)
treedc9c8e9ac0f61f7530ac7b6c26dc415bbce63c0b /src/nvim/option.c
parent39096f48f0a632870f0792955b37dc32e77458fb (diff)
downloadrneovim-bf4eada2c83f5402fc56370fd22af11029a4a3aa.tar.gz
rneovim-bf4eada2c83f5402fc56370fd22af11029a4a3aa.tar.bz2
rneovim-bf4eada2c83f5402fc56370fd22af11029a4a3aa.zip
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".)
Diffstat (limited to 'src/nvim/option.c')
-rw-r--r--src/nvim/option.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nvim/option.c b/src/nvim/option.c
index be82cf22c7..5ad2929a91 100644
--- a/src/nvim/option.c
+++ b/src/nvim/option.c
@@ -2176,6 +2176,10 @@ static char *set_bool_option(const int opt_idx, char *const varp, const int valu
if (curwin->w_p_spell) {
errmsg = did_set_spelllang(curwin);
}
+ } else if ((int *)varp == &curwin->w_p_nu && *curwin->w_p_stc != NUL) {
+ // When 'statuscolumn' is set and 'number' is changed:
+ curwin->w_nrwidth_line_count = 0; // make sure width is reset
+ curwin->w_statuscol_line_count = 0; // make sure width is re-estimated
}
if ((int *)varp == &curwin->w_p_arab) {