about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNick Cameron <nrc@ncameron.org>2018-02-06 21:22:18 +1300
committerGitHub <noreply@github.com>2018-02-06 21:22:18 +1300
commitfe06b96f4854e4fd53ecbf0ff933bae32adfbc11 (patch)
tree75e2d692e7e31159bd2f223ab1429c1e2e468289
parentd85e1db1785a7ec60597b125faa248d0fa0b9d49 (diff)
parent7f949a5018d77922891e12f134651590e6e78a6e (diff)
Merge pull request #2416 from topecongiro/eshell
Explicitly disable colored output when it is not supported
-rw-r--r--src/lib.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 2b89bde72c1..db05a24f979 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -615,7 +615,13 @@ pub fn format_input<T: Write>(
         ));
         Handler::with_emitter(true, false, silent_emitter)
     } else {
-        Handler::with_tty_emitter(ColorConfig::Auto, true, false, Some(codemap.clone()))
+        let supports_color = term::stderr().map_or(false, |term| term.supports_color());
+        let color_cfg = if supports_color {
+            ColorConfig::Auto
+        } else {
+            ColorConfig::Never
+        };
+        Handler::with_tty_emitter(color_cfg, true, false, Some(codemap.clone()))
     };
     let mut parse_session = ParseSess::with_span_handler(tty_handler, codemap.clone());