aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2023-02-02 17:52:54 +0000
committerJosh Rahm <joshuarahm@gmail.com>2023-02-02 17:52:54 +0000
commiteeccad2ff1ae8892fe9e06d733a7b07a166eecb0 (patch)
tree5aad10a46c2668cb04d8863ff6035caae8a2ed53
parent93e0a09150dbf95c1435b8c816594f6c9af95582 (diff)
parentd9c904f85a23a496df4eb6be42aa43f007b22d50 (diff)
downloadrneovim-eeccad2ff1ae8892fe9e06d733a7b07a166eecb0.tar.gz
rneovim-eeccad2ff1ae8892fe9e06d733a7b07a166eecb0.tar.bz2
rneovim-eeccad2ff1ae8892fe9e06d733a7b07a166eecb0.zip
Merge branch 'colorcolchar' into 20230125_mix
-rw-r--r--src/nvim/buffer_defs.h3
-rw-r--r--src/nvim/drawline.c5
-rw-r--r--src/nvim/window.c4
3 files changed, 10 insertions, 2 deletions
diff --git a/src/nvim/buffer_defs.h b/src/nvim/buffer_defs.h
index 414f1a6fc5..5c1e3af015 100644
--- a/src/nvim/buffer_defs.h
+++ b/src/nvim/buffer_defs.h
@@ -94,7 +94,8 @@ typedef uint64_t disptick_T; // display tick type
#include "nvim/terminal.h"
typedef enum {
- kColorcolBehind = 1
+ kColorcolBehind = 1,
+ kColorcolForeground = 2,
} colorcol_flags_T;
// Structure to define data associated with a colorcolumn.
diff --git a/src/nvim/drawline.c b/src/nvim/drawline.c
index ee6af01942..031ad39f75 100644
--- a/src/nvim/drawline.c
+++ b/src/nvim/drawline.c
@@ -2610,7 +2610,10 @@ int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow, bool nochange,
char_attr = hl_combine_attr(win_hl_attr(wp, HLF_CUC), char_attr);
} else if (draw_color_col && VCOL_HLC == color_cols->col) {
vcol_save_attr = char_attr;
- if (!(color_cols->flags & kColorcolBehind)) {
+
+ if (color_cols->flags & kColorcolForeground) {
+ char_attr = hl_combine_attr(char_attr, color_cols->syn_attr);
+ } else if (!(color_cols->flags & kColorcolBehind)) {
char_attr = hl_combine_attr(color_cols->syn_attr, char_attr);
}
}
diff --git a/src/nvim/window.c b/src/nvim/window.c
index 5e99cec015..16405f87b6 100644
--- a/src/nvim/window.c
+++ b/src/nvim/window.c
@@ -7498,6 +7498,10 @@ char *check_colorcolumn(win_T *wp)
flags |= kColorcolBehind;
break;
+ case 'f':
+ flags |= kColorcolForeground;
+ break;
+
default:
return e_invarg;
}