summaryrefslogtreecommitdiff
path: root/src/syntax.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-09-14 00:00:44 +0200
committerBram Moolenaar <Bram@vim.org>2017-09-14 00:00:44 +0200
commitc71053c61180ed1ad0c98ba6063b769757832932 (patch)
treed525cc69b4dd5a141a3cf01ccb43ca86938b5b0f /src/syntax.c
parent71eeb74a608ddae2b52fb43766616672d0cdda18 (diff)
downloadvim-git-c71053c61180ed1ad0c98ba6063b769757832932.tar.gz
patch 8.0.1102: terminal window does not use Normal colorsv8.0.1102
Problem: Terminal window does not use Normal colors. Solution: For the GUI and when 'termguicolors' is enabled, use the actual foreground and background colors for the terminal. (Yasuhiro Matsumoto, closes #2067) Use the "Terminal" highlight group if defined.
Diffstat (limited to 'src/syntax.c')
-rw-r--r--src/syntax.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/syntax.c b/src/syntax.c
index 78e2da8ae..ab2b63e3d 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -9709,7 +9709,7 @@ syn_id2attr(int hl_id)
return attr;
}
-#ifdef FEAT_GUI
+#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS) || defined(PROTO)
/*
* Get the GUI colors and attributes for a group ID.
* NOTE: the colors will be INVALCOLOR when not set, the color otherwise.
@@ -9728,6 +9728,19 @@ syn_id2colors(int hl_id, guicolor_T *fgp, guicolor_T *bgp)
}
#endif
+#if defined(FEAT_TERMINAL) || defined(PROT)
+ void
+syn_id2cterm_bg(int hl_id, int *fgp, int *bgp)
+{
+ struct hl_group *sgp;
+
+ hl_id = syn_get_final_id(hl_id);
+ sgp = &HL_TABLE()[hl_id - 1]; /* index is ID minus one */
+ *fgp = sgp->sg_cterm_fg - 1;
+ *bgp = sgp->sg_cterm_bg - 1;
+}
+#endif
+
/*
* Translate a group ID to the final group ID (following links).
*/