diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-09-14 15:55:13 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-09-14 15:55:13 +0200 |
commit | 69e8aa75112a0b12811a4f4d11061adceffbbabc (patch) | |
tree | ce2ed38aee2bc47d8fbf3e2c8e2363478ebb599c /src | |
parent | 1190cf68e27a123cf9f6fb57897782a3b9f7b810 (diff) | |
download | vim-69e8aa75112a0b12811a4f4d11061adceffbbabc.zip |
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)
Diffstat (limited to 'src')
-rw-r--r-- | src/terminal.c | 25 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 26 insertions, 1 deletions
diff --git a/src/terminal.c b/src/terminal.c index 4e8f370c8..1a112f48b 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -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); diff --git a/src/version.c b/src/version.c index f2e6b87be..5696f8855 100644 --- a/src/version.c +++ b/src/version.c @@ -770,6 +770,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1106, +/**/ 1105, /**/ 1104, |