Mercurial > vim
changeset 12453:5d228b1cda64 v8.0.1106
patch 8.0.1106: terminal colors wrong on an MS-Windows console
commit https://github.com/vim/vim/commit/69e8aa75112a0b12811a4f4d11061adceffbbabc
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Sep 14 15:55:13 2017 +0200
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)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 14 Sep 2017 16:00:06 +0200 |
parents | 687e401b4d7d |
children | c7bdd7c9f255 |
files | src/terminal.c src/version.c |
diffstat | 2 files changed, 26 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/terminal.c +++ b/src/terminal.c @@ -2497,7 +2497,8 @@ create_vterm(term_T *term, int rows, int # 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 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);