@@ -149,32 +149,24 @@ impl Default for PanicStyle {
149149/// Utility function that prints a message to our human users
150150#[ cfg( feature = "color" ) ]
151151pub fn print_msg < P : AsRef < Path > > ( file_path : Option < P > , meta : & Metadata ) -> IoResult < ( ) > {
152- use termcolor :: { BufferWriter , Color , ColorChoice , ColorSpec , WriteColor } ;
152+ use std :: io :: Write as _ ;
153153
154- let stderr_support = concolor:: get ( concolor:: Stream :: Stdout ) ;
155- let choice = if stderr_support. color ( ) {
156- ColorChoice :: Always
157- } else {
158- ColorChoice :: Never
159- } ;
160-
161- let stderr = BufferWriter :: stderr ( choice) ;
162- let mut buffer = stderr. buffer ( ) ;
163- buffer. set_color ( ColorSpec :: new ( ) . set_fg ( Some ( Color :: Red ) ) ) ?;
164-
165- write_msg ( & mut buffer, file_path, meta) ?;
154+ let stderr = anstyle_stream:: stderr ( ) ;
155+ let mut stderr = stderr. lock ( ) ;
166156
167- buffer. reset ( ) ?;
157+ write ! ( stderr, "{}" , anstyle:: AnsiColor :: Red . render_fg( ) ) ?;
158+ write_msg ( & mut stderr, file_path, meta) ?;
159+ write ! ( stderr, "{}" , anstyle:: Reset . render( ) ) ?;
168160
169- stderr. print ( & buffer) . unwrap ( ) ;
170161 Ok ( ( ) )
171162}
172163
173164#[ cfg( not( feature = "color" ) ) ]
174165pub fn print_msg < P : AsRef < Path > > ( file_path : Option < P > , meta : & Metadata ) -> IoResult < ( ) > {
175- let mut buffer = std:: io:: stderr ( ) ;
166+ let stderr = std:: io:: stderr ( ) ;
167+ let mut stderr = stderr. lock ( ) ;
176168
177- write_msg ( & mut buffer , file_path, meta) ?;
169+ write_msg ( & mut stderr , file_path, meta) ?;
178170
179171 Ok ( ( ) )
180172}
0 commit comments