From 05882314f5facdf4b7f7ffff3c4aecf747cdf176 Mon Sep 17 00:00:00 2001
From: Kamal Marhubi <kamal@marhubi.com>
Date: Fri, 26 Aug 2016 17:08:47 -0400
Subject: [PATCH] Check term supports colour before printing fancy diffs

For a terminal like DUMB, we were still attempting to print colourful
diffs, which failed with a `NotSupported` error.

Fixes #1140
---
 src/rustfmt_diff.rs | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/rustfmt_diff.rs b/src/rustfmt_diff.rs
index d5129bd1bca..23cb3f21bf2 100644
--- a/src/rustfmt_diff.rs
+++ b/src/rustfmt_diff.rs
@@ -89,7 +89,9 @@ pub fn print_diff<F>(diff: Vec<Mismatch>, get_section_title: F)
     where F: Fn(u32) -> String
 {
     match term::stdout() {
-        Some(_) if isatty() => print_diff_fancy(diff, get_section_title, term::stdout().unwrap()),
+        Some(ref t) if isatty() && t.supports_color() => {
+            print_diff_fancy(diff, get_section_title, term::stdout().unwrap())
+        }
         _ => print_diff_basic(diff, get_section_title),
     }