diff options
Diffstat (limited to 'vendor/indicatif/src/term_like.rs')
-rw-r--r-- | vendor/indicatif/src/term_like.rs | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/vendor/indicatif/src/term_like.rs b/vendor/indicatif/src/term_like.rs deleted file mode 100644 index b489b65..0000000 --- a/vendor/indicatif/src/term_like.rs +++ /dev/null @@ -1,79 +0,0 @@ -use std::fmt::Debug; -use std::io; - -use console::Term; - -/// A trait for minimal terminal-like behavior. -/// -/// Anything that implements this trait can be used a draw target via [`ProgressDrawTarget::term_like`]. -/// -/// [`ProgressDrawTarget::term_like`]: crate::ProgressDrawTarget::term_like -pub trait TermLike: Debug + Send + Sync { - /// Return the terminal width - fn width(&self) -> u16; - /// Return the terminal height - fn height(&self) -> u16 { - // FIXME: remove this default impl in the next major version bump - 20 // sensible default - } - - /// Move the cursor up by `n` lines - fn move_cursor_up(&self, n: usize) -> io::Result<()>; - /// Move the cursor down by `n` lines - fn move_cursor_down(&self, n: usize) -> io::Result<()>; - /// Move the cursor right by `n` chars - fn move_cursor_right(&self, n: usize) -> io::Result<()>; - /// Move the cursor left by `n` chars - fn move_cursor_left(&self, n: usize) -> io::Result<()>; - - /// Write a string and add a newline. - fn write_line(&self, s: &str) -> io::Result<()>; - /// Write a string - fn write_str(&self, s: &str) -> io::Result<()>; - /// Clear the current line and reset the cursor to beginning of the line - fn clear_line(&self) -> io::Result<()>; - - fn flush(&self) -> io::Result<()>; -} - -impl TermLike for Term { - fn width(&self) -> u16 { - self.size().1 - } - - fn height(&self) -> u16 { - self.size().0 - } - - fn move_cursor_up(&self, n: usize) -> io::Result<()> { - self.move_cursor_up(n) - } - - fn move_cursor_down(&self, n: usize) -> io::Result<()> { - self.move_cursor_down(n) - } - - fn move_cursor_right(&self, n: usize) -> io::Result<()> { - self.move_cursor_right(n) - } - - fn move_cursor_left(&self, n: usize) -> io::Result<()> { - self.move_cursor_left(n) - } - - fn write_line(&self, s: &str) -> io::Result<()> { - self.write_line(s) - } - - fn write_str(&self, s: &str) -> io::Result<()> { - self.write_str(s) - } - - fn clear_line(&self) -> io::Result<()> { - self.clear_line() - } - - fn flush(&self) -> io::Result<()> { - self.flush() - } -} |