respect ForceColor and environment variables over OS check

This commit is contained in:
Ceriath 2018-12-09 21:47:44 +01:00
parent f1b98e4006
commit d962013756
2 changed files with 3 additions and 3 deletions

View File

@ -91,7 +91,7 @@ func (f *TextFormatter) init(entry *Entry) {
} }
func (f *TextFormatter) isColored() bool { func (f *TextFormatter) isColored() bool {
isColored := f.ForceColors || f.isTerminal isColored := f.ForceColors || (f.isTerminal && (runtime.GOOS != "windows"))
if f.EnvironmentOverrideColors { if f.EnvironmentOverrideColors {
if force, ok := os.LookupEnv("CLICOLOR_FORCE"); ok && force != "0" { if force, ok := os.LookupEnv("CLICOLOR_FORCE"); ok && force != "0" {
@ -103,7 +103,7 @@ func (f *TextFormatter) isColored() bool {
} }
} }
return isColored && !f.DisableColors && (runtime.GOOS != "windows") return isColored && !f.DisableColors
} }
// Format renders a single log entry // Format renders a single log entry

View File

@ -444,7 +444,7 @@ func TestTextFormatterIsColored(t *testing.T) {
os.Setenv("CLICOLOR_FORCE", val.clicolorForceVal) os.Setenv("CLICOLOR_FORCE", val.clicolorForceVal)
} }
res := tf.isColored() res := tf.isColored()
if runtime.GOOS == "windows" { if runtime.GOOS == "windows" && !tf.ForceColors && !val.clicolorForceIsSet {
assert.Equal(subT, false, res) assert.Equal(subT, false, res)
} else { } else {
assert.Equal(subT, val.expectedResult, res) assert.Equal(subT, val.expectedResult, res)