Enable ansi colors on windows (windows 10 only)

Not tested
diff --git a/src/tty/windows.rs b/src/tty/windows.rs
index 51b4ad5..f1db332 100644
--- a/src/tty/windows.rs
+++ b/src/tty/windows.rs
@@ -18,10 +18,6 @@
 const STDIN_FILENO: DWORD = winbase::STD_INPUT_HANDLE;
 const STDOUT_FILENO: DWORD = winbase::STD_OUTPUT_HANDLE;
 
-// To enable ANSI colors (Windows 10 only):
-// https://docs.microsoft.com/en-us/windows/console/setconsolemode
-// ENABLE_VIRTUAL_TERMINAL_PROCESSING
-
 fn get_std_handle(fd: DWORD) -> Result<HANDLE> {
     let handle = unsafe { processenv::GetStdHandle(fd) };
     if handle == handleapi::INVALID_HANDLE_VALUE {
@@ -69,8 +65,10 @@
 
 #[derive(Clone, Copy, Debug)]
 pub struct ConsoleMode {
-    original_mode: DWORD,
+    original_stdin_mode: DWORD,
     stdin_handle: HANDLE,
+    original_stdout_mode: DWORD,
+    stdout_handle: HANDLE,
 }
 
 impl RawMode for Mode {
@@ -78,7 +76,11 @@
     fn disable_raw_mode(&self) -> Result<()> {
         check!(consoleapi::SetConsoleMode(
             self.stdin_handle,
-            self.original_mode,
+            self.original_stdin_mode,
+        ));
+        check!(consoleapi::SetConsoleMode(
+            self.stdout_handle,
+            self.original_stdout_mode,
         ));
         Ok(())
     }
@@ -444,9 +446,9 @@
                 "no stdio handle available for this process",
             ),));
         }
-        let original_mode = try!(get_console_mode(self.stdin_handle));
+        let original_stdin_mode = try!(get_console_mode(self.stdin_handle));
         // Disable these modes
-        let raw = original_mode
+        let raw = original_stdin_mode
             & !(wincon::ENABLE_LINE_INPUT | wincon::ENABLE_ECHO_INPUT
                 | wincon::ENABLE_PROCESSED_INPUT);
         // Enable these modes
@@ -455,9 +457,20 @@
         let raw = raw | wincon::ENABLE_QUICK_EDIT_MODE;
         let raw = raw | wincon::ENABLE_WINDOW_INPUT;
         check!(consoleapi::SetConsoleMode(self.stdin_handle, raw));
+
+        let original_stdout_mode = try!(get_console_mode(self.stdout_handle));
+        // To enable ANSI colors (Windows 10 only):
+        // https://docs.microsoft.com/en-us/windows/console/setconsolemode
+        if console_mode & wincon::ENABLE_VIRTUAL_TERMINAL_PROCESSING == 0 {
+            let raw = original_stdout_mode | wincon::ENABLE_VIRTUAL_TERMINAL_PROCESSING;
+            check!(consoleapi::SetConsoleMode(self.stdout_handle, raw));
+        }
+
         Ok(Mode {
-            original_mode: original_mode,
+            original_stdin_mode: original_stdin_mode,
             stdin_handle: self.stdin_handle,
+            original_stdout_mode: original_stdin_mode,
+            stdout_handle: self.stdout_handle,
         })
     }