patch 8.1.0481: when "Terminal" highlight is reverted cursor doesn't show
Problem: When "Terminal" highlight is reverted cursor doesn't show.
Solution: Get the colors of the "Terminal" group. (closes #3546)
diff --git a/src/terminal.c b/src/terminal.c
index 0c7630c..4e62253 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -1953,6 +1953,8 @@
{
term_T *term = in_terminal_loop;
static cursorentry_T entry;
+ int id;
+ guicolor_T term_fg, term_bg;
vim_memset(&entry, 0, sizeof(entry));
entry.shape = entry.mshape =
@@ -1966,9 +1968,24 @@
entry.blinkon = 400;
entry.blinkoff = 250;
}
- *fg = gui.back_pixel;
+
+ /* The "Terminal" highlight group overrules the defaults. */
+ id = syn_name2id((char_u *)"Terminal");
+ if (id != 0)
+ {
+ syn_id2colors(id, &term_fg, &term_bg);
+ *fg = term_bg;
+ }
+ else
+ *fg = gui.back_pixel;
+
if (term->tl_cursor_color == NULL)
- *bg = gui.norm_pixel;
+ {
+ if (id != 0)
+ *bg = term_fg;
+ else
+ *bg = gui.norm_pixel;
+ }
else
*bg = color_name2handle(term->tl_cursor_color);
entry.name = "n";
diff --git a/src/version.c b/src/version.c
index 1eab778..dada7a7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -793,6 +793,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 481,
+/**/
480,
/**/
479,