use indicatif::TermLike;
use std::fmt::Debug;
use std::io::{Result as IoResult, Write};
#[derive(Default, Clone)]
pub struct NullTerm;
impl Debug for NullTerm {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "NullTerm")
}
}
impl Write for NullTerm {
fn write(&mut self, buf: &[u8]) -> IoResult<usize> {
Ok(buf.len()) }
fn flush(&mut self) -> IoResult<()> {
Ok(()) }
}
impl TermLike for NullTerm {
fn write_line(&self, _: &str) -> IoResult<()> {
Ok(()) }
fn clear_line(&self) -> IoResult<()> {
Ok(()) }
fn move_cursor_up(&self, _: usize) -> IoResult<()> {
Ok(()) }
fn move_cursor_down(&self, _: usize) -> IoResult<()> {
Ok(()) }
fn move_cursor_left(&self, _: usize) -> std::io::Result<()> {
Ok(()) }
fn move_cursor_right(&self, _: usize) -> std::io::Result<()> {
Ok(()) }
fn width(&self) -> u16 {
128 }
fn height(&self) -> u16 {
128
}
fn flush(&self) -> std::io::Result<()> {
Ok(()) }
fn write_str(&self, _: &str) -> std::io::Result<()> {
Ok(()) }
}