gitql_cli/
colored_stream.rs1use termcolor::{Color, ColorChoice, ColorSpec, StandardStream, WriteColor};
2
3pub struct ColoredStream {
4 stdout: StandardStream,
5}
6
7impl Default for ColoredStream {
8 fn default() -> Self {
9 Self {
10 stdout: StandardStream::stdout(ColorChoice::Always),
11 }
12 }
13}
14
15impl ColoredStream {
16 pub fn set_color(&mut self, color: Option<Color>) {
17 _ = self.stdout.set_color(ColorSpec::new().set_fg(color));
18 }
19
20 pub fn reset(&mut self) {
21 _ = self.stdout.reset();
22 }
23}