use color_eyre::Result;
use std::io::{self, BufRead, Write};
use crate::decor::Decor;
#[tracing::instrument(err)]
pub fn pipe(prefix: &str, date: bool, width: Option<usize>) -> Result<()> {
let decor = Decor::new(prefix, date, width)?;
let stdin = io::stdin().lock();
for line_in in stdin.lines() {
let mut stdout = io::stdout().lock();
let line_in = line_in?;
for line_out in decor.decorate(&line_in) {
stdout.write_all(line_out.as_bytes())?;
}
stdout.flush()?;
}
Ok(())
}