aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin.rs
diff options
context:
space:
mode:
authorPhilipp A2018-10-31 12:21:08 +0100
committerPhilipp A2018-10-31 12:21:08 +0100
commit9bb60b5bf76f74c15df5f298800f9e3b7b62ffc5 (patch)
treea9856dba51161b2b38219a8df81d3ea6d493a511 /src/bin.rs
parent07ada348558204e1736e29056eba6d73b2084cc2 (diff)
downloadrust-rst-9bb60b5bf76f74c15df5f298800f9e3b7b62ffc5.tar.bz2
Added JSON serialization
Diffstat (limited to 'src/bin.rs')
-rw-r--r--src/bin.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/bin.rs b/src/bin.rs
index 5eeb768..f8ee45b 100644
--- a/src/bin.rs
+++ b/src/bin.rs
@@ -6,7 +6,7 @@ use structopt::StructOpt;
use clap::{_clap_count_exprs, arg_enum};
use quicli::{main, fs::read_file, prelude::Verbosity};
-use self::parser::{RstParser, Rule};
+use self::parser::{RstParser, Rule, serialize::PairsWrap};
arg_enum! {
@@ -30,7 +30,8 @@ struct Cli {
main!(|args: Cli, log_level: verbosity| {
let content = read_file(args.file)?;
let parsed = RstParser::parse(Rule::doc, &content)?;
+ let stdout = std::io::stdout();
match args.format {
- Format::json => println!("{}", parsed.to_string())
+ Format::json => serde_json::to_writer(stdout, &PairsWrap(parsed))?,
}
});