mirror of
https://github.com/git-for-windows/git.git
synced 2026-03-22 04:16:27 -05:00
mingw: $env:TERM="xterm-256color" for newer OSes
For Windows builds >= 15063 set $env:TERM to "xterm-256color" instead of
"cygwin" because they have a more capable console system that supports
this. Also set $env:COLORTERM="truecolor" if unset.
$env:TERM is initialized so that ANSI colors in color.c work, see
29a3963484 (Win32: patch Windows environment on startup, 2012-01-15).
See git-for-windows/git#3629 regarding problems caused by always setting
$env:TERM="cygwin".
This is the same heuristic used by the Cygwin runtime.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
committed by
Johannes Schindelin
parent
de30fb5c6c
commit
cf8a25af8d
@@ -2626,9 +2626,20 @@ static void setup_windows_environment(void)
|
||||
convert_slashes(tmp);
|
||||
}
|
||||
|
||||
/* simulate TERM to enable auto-color (see color.c) */
|
||||
if (!getenv("TERM"))
|
||||
setenv("TERM", "cygwin", 1);
|
||||
|
||||
/*
|
||||
* Make sure TERM is set up correctly to enable auto-color
|
||||
* (see color.c .) Use "cygwin" for older OS releases which
|
||||
* works correctly with MSYS2 utilities on older consoles.
|
||||
*/
|
||||
if (!getenv("TERM")) {
|
||||
if ((GetVersion() >> 16) < 15063)
|
||||
setenv("TERM", "cygwin", 0);
|
||||
else {
|
||||
setenv("TERM", "xterm-256color", 0);
|
||||
setenv("COLORTERM", "truecolor", 0);
|
||||
}
|
||||
}
|
||||
|
||||
/* calculate HOME if not set */
|
||||
if (!getenv("HOME")) {
|
||||
|
||||
Reference in New Issue
Block a user