diff options
| author | Paul "LeoNerd" Evans <leonerd@leonerd.org.uk> | 2023-01-19 17:51:56 +0000 |
|---|---|---|
| committer | Paul "LeoNerd" Evans <leonerd@leonerd.org.uk> | 2023-01-24 11:27:50 +0000 |
| commit | f5d357de553c1aa61cdb25b047f984f6414b1967 (patch) | |
| tree | a46d6a35b6b70efb82340ed539cf221a5a945cf9 /src/nvim/tui | |
| parent | c6ab8dfc15e0f6f1a805ce2145e2b4f0072b33d1 (diff) | |
| download | rneovim-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.c | 15 |
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; |