diff options
author | luukvbaal <31730729+luukvbaal@users.noreply.github.com> | 2023-01-13 10:41:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-13 09:41:19 +0000 |
commit | 4a12372ccf70236c1c23144129984a3629cc45f3 (patch) | |
tree | 32424128ea775bf73ea171c9e6f20aa48538db00 /src | |
parent | 449c0762d351bca94438813f9226b8906b46adb5 (diff) | |
download | rneovim-4a12372ccf70236c1c23144129984a3629cc45f3.tar.gz rneovim-4a12372ccf70236c1c23144129984a3629cc45f3.tar.bz2 rneovim-4a12372ccf70236c1c23144129984a3629cc45f3.zip |
fix(statuscolumn): make %l/%r respect 'number'/'relativenumber' (#21747)
Resolve https://github.com/neovim/neovim/issues/21745.
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/statusline.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/nvim/statusline.c b/src/nvim/statusline.c index 6857bef810..7647c1fcfb 100644 --- a/src/nvim/statusline.c +++ b/src/nvim/statusline.c @@ -1502,8 +1502,14 @@ int build_stl_str_hl(win_T *wp, char *out, size_t outlen, char *fmt, char *opt_n case STL_LINE: // Overload %l with v:lnum for 'statuscolumn' - num = opt_name != NULL && strcmp(opt_name, "statuscolumn") == 0 ? get_vim_var_nr(VV_LNUM) - : (wp->w_buffer->b_ml.ml_flags & ML_EMPTY) ? 0L : (long)(wp->w_cursor.lnum); + if (opt_name != NULL && strcmp(opt_name, "statuscolumn") == 0) { + if (wp->w_p_nu) { + num = get_vim_var_nr(VV_LNUM); + } + } else { + num = (wp->w_buffer->b_ml.ml_flags & ML_EMPTY) ? 0L : (long)(wp->w_cursor.lnum); + } + break; case STL_NUMLINES: @@ -1603,7 +1609,9 @@ int build_stl_str_hl(win_T *wp, char *out, size_t outlen, char *fmt, char *opt_n case STL_ROFLAG_ALT: // Overload %r with v:relnum for 'statuscolumn' if (opt_name != NULL && strcmp(opt_name, "statuscolumn") == 0) { - num = get_vim_var_nr(VV_RELNUM); + if (wp->w_p_rnu) { + num = get_vim_var_nr(VV_RELNUM); + } } else { itemisflag = true; if (wp->w_buffer->b_p_ro) { |