aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/screen.c
diff options
context:
space:
mode:
authorluukvbaal <31730729+luukvbaal@users.noreply.github.com>2023-01-09 18:12:06 +0100
committerGitHub <noreply@github.com>2023-01-09 17:12:06 +0000
commit364b131f42509326c912c9b0fef5dfc94ed23b41 (patch)
tree654f24fde95819257002aa9b36990efd6a80535c /src/nvim/screen.c
parent50f03773f4b9f4638489ccfd0503dc9e39e5de78 (diff)
downloadrneovim-364b131f42509326c912c9b0fef5dfc94ed23b41.tar.gz
rneovim-364b131f42509326c912c9b0fef5dfc94ed23b41.tar.bz2
rneovim-364b131f42509326c912c9b0fef5dfc94ed23b41.zip
feat(ui): add 'statuscolumn' option
Problem: Unable to customize the column next to a window ('gutter'). Solution: Add 'statuscolumn' option that follows the 'statusline' syntax, allowing to customize the status column. Also supporting the %@ click execute function label. Adds new items @C and @s which will print the fold and sign columns. Line numbers and signs can be clicked, highlighted, aligned, transformed, margined etc.
Diffstat (limited to 'src/nvim/screen.c')
-rw-r--r--src/nvim/screen.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/nvim/screen.c b/src/nvim/screen.c
index 52ab2ad25e..afdb04ebd8 100644
--- a/src/nvim/screen.c
+++ b/src/nvim/screen.c
@@ -780,6 +780,16 @@ int number_width(win_T *wp)
}
wp->w_nrwidth_line_count = lnum;
+ // make best estimate for 'statuscolumn'
+ if (*wp->w_p_stc != NUL) {
+ char buf[MAXPATHL];
+ wp->w_nrwidth_width = 0;
+ n = build_statuscol_str(wp, true, false, lnum, 0, 0, NUL, buf, NULL, NULL);
+ n = MAX(n, (wp->w_p_nu || wp->w_p_rnu) * (int)wp->w_p_nuw);
+ wp->w_nrwidth_width = MIN(n, MAX_NUMBERWIDTH);
+ return wp->w_nrwidth_width;
+ }
+
n = 0;
do {
lnum /= 10;