use basic_text::copy_text;
use itertools::Itertools;
use nameless::{InputTextStream, LazyOutput, MediaType, OutputTextStream};
#[kommand::main]
fn main(output: LazyOutput<OutputTextStream>, inputs: Vec<InputTextStream>) -> anyhow::Result<()> {
let media_type = match inputs.iter().next() {
Some(first) if inputs.iter().map(InputTextStream::media_type).all_equal() => {
first.media_type().clone()
}
_ => MediaType::text(),
};
let mut output = output.materialize(media_type)?;
for mut input in inputs {
copy_text(&mut input, &mut output)?;
}
Ok(())
}