Supports colored output on term type screen-256color.
Proposed as a one-line patch by Tom Jakubowski (tom@crystae.net); finished by Zhanyong Wan.
This commit is contained in:
parent
fc01f532a6
commit
6b7a167dca
|
@ -204,7 +204,7 @@ GTEST_DEFINE_string_(
|
||||||
"Whether to use colors in the output. Valid values: yes, no, "
|
"Whether to use colors in the output. Valid values: yes, no, "
|
||||||
"and auto. 'auto' means to use colors if the output is "
|
"and auto. 'auto' means to use colors if the output is "
|
||||||
"being sent to a terminal and the TERM environment variable "
|
"being sent to a terminal and the TERM environment variable "
|
||||||
"is set to xterm, xterm-color, xterm-256color, linux or cygwin.");
|
"is set to a terminal type that supports colors.");
|
||||||
|
|
||||||
GTEST_DEFINE_string_(
|
GTEST_DEFINE_string_(
|
||||||
filter,
|
filter,
|
||||||
|
@ -2497,6 +2497,7 @@ bool ShouldUseColor(bool stdout_is_tty) {
|
||||||
String::CStringEquals(term, "xterm-color") ||
|
String::CStringEquals(term, "xterm-color") ||
|
||||||
String::CStringEquals(term, "xterm-256color") ||
|
String::CStringEquals(term, "xterm-256color") ||
|
||||||
String::CStringEquals(term, "screen") ||
|
String::CStringEquals(term, "screen") ||
|
||||||
|
String::CStringEquals(term, "screen-256color") ||
|
||||||
String::CStringEquals(term, "linux") ||
|
String::CStringEquals(term, "linux") ||
|
||||||
String::CStringEquals(term, "cygwin");
|
String::CStringEquals(term, "cygwin");
|
||||||
return stdout_is_tty && term_supports_color;
|
return stdout_is_tty && term_supports_color;
|
||||||
|
|
|
@ -6429,6 +6429,9 @@ TEST(ColoredOutputTest, UsesColorsWhenTermSupportsColors) {
|
||||||
SetEnv("TERM", "screen"); // TERM supports colors.
|
SetEnv("TERM", "screen"); // TERM supports colors.
|
||||||
EXPECT_TRUE(ShouldUseColor(true)); // Stdout is a TTY.
|
EXPECT_TRUE(ShouldUseColor(true)); // Stdout is a TTY.
|
||||||
|
|
||||||
|
SetEnv("TERM", "screen-256color"); // TERM supports colors.
|
||||||
|
EXPECT_TRUE(ShouldUseColor(true)); // Stdout is a TTY.
|
||||||
|
|
||||||
SetEnv("TERM", "linux"); // TERM supports colors.
|
SetEnv("TERM", "linux"); // TERM supports colors.
|
||||||
EXPECT_TRUE(ShouldUseColor(true)); // Stdout is a TTY.
|
EXPECT_TRUE(ShouldUseColor(true)); // Stdout is a TTY.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user