1
0
forked from aniani/vim

patch 8.0.1106: terminal colors wrong on an MS-Windows console

Problem:    Terminal colors on an MS-Windows console are not matching the
            normal colors.
Solution:   Use the normal colors for the terminal. (Yasuhiro Matsumoto,
            closes #2087)
This commit is contained in:
Bram Moolenaar
2017-09-14 15:55:13 +02:00
parent 1190cf68e2
commit 69e8aa7511
2 changed files with 26 additions and 1 deletions

View File

@@ -2497,7 +2497,8 @@ create_vterm(term_T *term, int rows, int cols)
# endif
)
{
guicolor_T fg_rgb, bg_rgb;
guicolor_T fg_rgb = INVALCOLOR;
guicolor_T bg_rgb = INVALCOLOR;
if (id != 0)
syn_id2colors(id, &fg_rgb, &bg_rgb);
@@ -2551,6 +2552,28 @@ create_vterm(term_T *term, int rows, int cols)
if (cterm_bg >= 0)
cterm_color2rgb(cterm_bg, bg);
}
#if defined(WIN3264) && !defined(FEAT_GUI_W32)
else
{
int tmp;
/* In an MS-Windows console we know the normal colors. */
if (cterm_normal_fg_color > 0)
{
cterm_color2rgb(cterm_normal_fg_color - 1, fg);
tmp = fg->red;
fg->red = fg->blue;
fg->blue = tmp;
}
if (cterm_normal_bg_color > 0)
{
cterm_color2rgb(cterm_normal_bg_color - 1, bg);
tmp = bg->red;
bg->red = bg->blue;
bg->blue = tmp;
}
}
#endif
vterm_state_set_default_colors(vterm_obtain_state(vterm), fg, bg);