aboutsummaryrefslogtreecommitdiff
path: root/src/output/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/output/mod.rs')
-rw-r--r--src/output/mod.rs14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/output/mod.rs b/src/output/mod.rs
index 84ed0a4..aadcbf9 100644
--- a/src/output/mod.rs
+++ b/src/output/mod.rs
@@ -8,18 +8,20 @@ pub mod pipeline;
pub use self::pipeline::Pipeline;
+use self::formats::Format;
/// Build an pipeline for the given command line options.
pub fn build_pipeline(opt: &Opt) -> Pipeline {
let stream = io::stdout();
let aggregator = aggregators::WriteThrough;
- if opt.file_name_only {
- Pipeline::new(stream, formats::FileOnly, aggregator)
+ let format: Box<dyn Format> = if opt.file_name_only {
+ Box::new(formats::FileOnly)
} else {
- let format = formats::HumanReadable {
+ Box::new(formats::HumanReadable {
show_guilds: opt.guilds,
- };
- Pipeline::new(stream, format, aggregator)
- }
+ })
+ };
+
+ Pipeline::new(Box::new(stream), format, Box::new(aggregator))
}