aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2022-08-27 20:52:08 -0600
committerJosh Rahm <joshuarahm@gmail.com>2022-08-27 20:52:08 -0600
commit718896032196b51684926039746f9288750e9585 (patch)
treeddef7bcd0d34bd0eb4d0d50d021cc5f9a5906be9 /src
parent7a9b5937966d3db852c84b8eb232e77d92d3c355 (diff)
downloadrneovim-718896032196b51684926039746f9288750e9585.tar.gz
rneovim-718896032196b51684926039746f9288750e9585.tar.bz2
rneovim-718896032196b51684926039746f9288750e9585.zip
feat(colorcolchar): add the option "colorcol" to the fillchars setting
This option will let neovim draw a character in the colorcolumn when there is no other character occupying that spot. For example, I'm someone who likes the elegance of seeing a 1px wide line at the 80 character mark, rather than a rectangle the width of a cell at that mark. To accomplish this, I run :set colorcol=80 :set fillchars=colorcol:│ of course ':' and '.' are good ASCII alteratives.
Diffstat (limited to 'src')
-rw-r--r--src/nvim/buffer_defs.h1
-rw-r--r--src/nvim/drawline.c2
-rw-r--r--src/nvim/screen.c1
3 files changed, 4 insertions, 0 deletions
diff --git a/src/nvim/buffer_defs.h b/src/nvim/buffer_defs.h
index 58bdd2c0a8..f276ac771d 100644
--- a/src/nvim/buffer_defs.h
+++ b/src/nvim/buffer_defs.h
@@ -1219,6 +1219,7 @@ struct window_S {
int diff;
int msgsep;
int eob;
+ int colorcol;
} w_p_fcs_chars;
/*
diff --git a/src/nvim/drawline.c b/src/nvim/drawline.c
index 9132d6666e..b97d323ef2 100644
--- a/src/nvim/drawline.c
+++ b/src/nvim/drawline.c
@@ -2334,6 +2334,8 @@ int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow, bool nochange,
col_attr = cuc_attr;
} else if (draw_color_col && VCOL_HLC == *color_cols) {
col_attr = mc_attr;
+ c = wp->w_p_fcs_chars.colorcol;
+ schar_from_char(linebuf_char[off], c);
}
col_attr = hl_combine_attr(col_attr, line_attr);
diff --git a/src/nvim/screen.c b/src/nvim/screen.c
index 9c1064d608..eb4eef6e31 100644
--- a/src/nvim/screen.c
+++ b/src/nvim/screen.c
@@ -1328,6 +1328,7 @@ char *set_chars_option(win_T *wp, char_u **varp, bool apply)
{ &wp->w_p_fcs_chars.diff, "diff", '-' },
{ &wp->w_p_fcs_chars.msgsep, "msgsep", ' ' },
{ &wp->w_p_fcs_chars.eob, "eob", '~' },
+ { &wp->w_p_fcs_chars.colorcol, "colorcol", ' ' },
};
struct chars_tab lcs_tab[] = {