#[cfg(feature = "tui")]
use std::io::IsTerminal;
mod base;
pub use base::*;
pub(crate) mod cli;
pub use cli::*;
#[cfg(feature = "tui")]
pub mod tui;
use crate::Interrupter;
pub fn default_renderer(
#[cfg_attr(not(feature = "tui"), allow(unused_variables))] interuptor: Interrupter,
#[cfg_attr(not(feature = "tui"), allow(unused_variables))] checkpoint: Option<usize>,
) -> Box<dyn MetricsRenderer> {
#[cfg(feature = "tui")]
if std::io::stdout().is_terminal() {
return Box::new(tui::TuiMetricsRendererWrapper::new(interuptor, checkpoint));
}
Box::new(CliMetricsRenderer::new())
}