diff options
Diffstat (limited to 'src/output/mod.rs')
-rw-r--r-- | src/output/mod.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/output/mod.rs b/src/output/mod.rs new file mode 100644 index 0000000..dfb3ea8 --- /dev/null +++ b/src/output/mod.rs @@ -0,0 +1,26 @@ +use super::errors::RuntimeError; +use super::{FightOutcome, LogResult, Opt}; + +use std::io; + +pub mod formats; +pub mod aggregators; +pub mod pipeline; + +use self::formats::Format; +use self::aggregators::Aggregator; +pub use self::pipeline::Pipeline; + + +/// Build an pipeline for the given command line options. +pub fn build_pipeline(opt: &Opt) -> Pipeline { + let stream = io::stdout(); + + let formatter: Box<dyn Format> = if opt.file_name_only { + Box::new(formats::FileOnly) + } else { + Box::new(formats::HumanReadable) + }; + + Pipeline::new(stream, formatter, aggregators::WriteThrough) +} |