diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib.rs | 8 |
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()); |
