Mercurial > vim
diff src/screen.c @ 20619:68c206d3a251 v8.2.0863
patch 8.2.0863: cannot set a separate color for underline/undercurl
Commit: https://github.com/vim/vim/commit/e023e88bed3f2e0a7ea4cf10cac2de80bc9c271c
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun May 31 16:42:30 2020 +0200
patch 8.2.0863: cannot set a separate color for underline/undercurl
Problem: Cannot set a separate color for underline/undercurl.
Solution: Add the t_AU and t_8u termcap codes. (Timur Celik, closes https://github.com/vim/vim/issues/6011)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 31 May 2020 16:45:03 +0200 |
parents | 4411c2b96af9 |
children | 3af71cbcfdbe |
line wrap: on
line diff
--- a/src/screen.c +++ b/src/screen.c @@ -1866,6 +1866,19 @@ screen_start_highlight(int attr) if (aep->ae_u.cterm.bg_color) term_bg_color(aep->ae_u.cterm.bg_color - 1); } +#ifdef FEAT_TERMGUICOLORS + if (p_tgc && aep->ae_u.cterm.ul_rgb != CTERMCOLOR) + { + if (aep->ae_u.cterm.ul_rgb != INVALCOLOR) + term_ul_rgb_color(aep->ae_u.cterm.ul_rgb); + } + else +#endif + if (t_colors > 1) + { + if (aep->ae_u.cterm.ul_color) + term_ul_color(aep->ae_u.cterm.ul_color - 1); + } if (!IS_CTERM) { @@ -2021,6 +2034,8 @@ screen_stop_highlight(void) term_fg_rgb_color(cterm_normal_fg_gui_color); if (cterm_normal_bg_gui_color != INVALCOLOR) term_bg_rgb_color(cterm_normal_bg_gui_color); + if (cterm_normal_ul_gui_color != INVALCOLOR) + term_ul_rgb_color(cterm_normal_ul_gui_color); } else #endif @@ -2032,6 +2047,8 @@ screen_stop_highlight(void) term_fg_color(cterm_normal_fg_color - 1); if (cterm_normal_bg_color != 0) term_bg_color(cterm_normal_bg_color - 1); + if (cterm_normal_ul_color != 0) + term_ul_color(cterm_normal_ul_color - 1); if (cterm_normal_fg_bold) out_str(T_MD); }