aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/tui
diff options
context:
space:
mode:
authorPaul "LeoNerd" Evans <leonerd@leonerd.org.uk>2023-01-19 17:51:56 +0000
committerPaul "LeoNerd" Evans <leonerd@leonerd.org.uk>2023-01-24 11:27:50 +0000
commitf5d357de553c1aa61cdb25b047f984f6414b1967 (patch)
treea46d6a35b6b70efb82340ed539cf221a5a945cf9 /src/nvim/tui
parentc6ab8dfc15e0f6f1a805ce2145e2b4f0072b33d1 (diff)
downloadrneovim-f5d357de553c1aa61cdb25b047f984f6414b1967.tar.gz
rneovim-f5d357de553c1aa61cdb25b047f984f6414b1967.tar.bz2
rneovim-f5d357de553c1aa61cdb25b047f984f6414b1967.zip
refactor(highlight): reshape the HL_UNDER* bits into a 3-bit integer mask
Saves two bits for reuse for new features
Diffstat (limited to 'src/nvim/tui')
-rw-r--r--src/nvim/tui/tui.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c
index 44b99f6c84..3b1cc1e420 100644
--- a/src/nvim/tui/tui.c
+++ b/src/nvim/tui/tui.c
@@ -511,7 +511,7 @@ static bool attrs_differ(TUIData *tui, int id1, int id2, bool rgb)
return a1.cterm_fg_color != a2.cterm_fg_color
|| a1.cterm_bg_color != a2.cterm_bg_color
|| a1.cterm_ae_attr != a2.cterm_ae_attr
- || (a1.cterm_ae_attr & HL_ANY_UNDERLINE
+ || (a1.cterm_ae_attr & HL_UNDERLINE_MASK
&& a1.rgb_sp_color != a2.rgb_sp_color);
}
}
@@ -538,13 +538,14 @@ static void update_attrs(TUIData *tui, int attr_id)
bool underdotted;
bool underdashed;
if (tui->unibi_ext.set_underline_style != -1) {
- underline = attr & HL_UNDERLINE;
- undercurl = attr & HL_UNDERCURL;
- underdouble = attr & HL_UNDERDOUBLE;
- underdashed = attr & HL_UNDERDASHED;
- underdotted = attr & HL_UNDERDOTTED;
+ int ul = attr & HL_UNDERLINE_MASK;
+ underline = ul == HL_UNDERLINE;
+ undercurl = ul == HL_UNDERCURL;
+ underdouble = ul == HL_UNDERDOUBLE;
+ underdashed = ul == HL_UNDERDASHED;
+ underdotted = ul == HL_UNDERDOTTED;
} else {
- underline = attr & HL_ANY_UNDERLINE;
+ underline = attr & HL_UNDERLINE_MASK;
undercurl = false;
underdouble = false;
underdotted = false;