diff options
Diffstat (limited to 'racer-tracer/src/terminal.rs')
| -rw-r--r-- | racer-tracer/src/terminal.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/racer-tracer/src/terminal.rs b/racer-tracer/src/terminal.rs new file mode 100644 index 0000000..48eb599 --- /dev/null +++ b/racer-tracer/src/terminal.rs @@ -0,0 +1,26 @@ +use console::Term; +use slog::Logger; + +pub struct Terminal { + pub logger: Logger, + pub terminal: Term, +} + +impl Terminal { + pub fn new(logger: Logger) -> Self { + Self { + logger, + terminal: Term::stdout(), + } + } +} + +macro_rules! write_term { + ($term:expr, $text:expr) => {{ + if let Err(e) = $term.terminal.write_line($text) { + debug!($term.logger, "Failed to write to terminal: {}", e) + } + }}; +} + +pub(crate) use write_term; |
