aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin.rs')
-rw-r--r--src/bin.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/bin.rs b/src/bin.rs
index e203356..0422032 100644
--- a/src/bin.rs
+++ b/src/bin.rs
@@ -6,18 +6,21 @@ use structopt::StructOpt;
use clap::{_clap_count_exprs, arg_enum};
use quicli::{main, fs::read_file, prelude::Verbosity};
-use self::parser::serialize_json;
+use self::parser::{
+ serialize_json,
+ serialize_xml,
+};
arg_enum! {
#[derive(Debug)]
- enum Format { json }
+ enum Format { json, xml }
}
#[derive(Debug, StructOpt)]
#[structopt(raw(setting = "structopt::clap::AppSettings::ColoredHelp"))]
struct Cli {
#[structopt(
- long = "format", short = "f", default_value = "json",
+ long = "format", short = "f", default_value = "json", // xml is pretty defunct…
raw(possible_values = "&Format::variants()", case_insensitive = "true"),
)]
format: Format,
@@ -31,5 +34,6 @@ main!(|args: Cli, log_level: verbosity| {
let stdout = std::io::stdout();
match args.format {
Format::json => serialize_json(&content, stdout)?,
+ Format::xml => serialize_xml (&content, stdout)?,
}
});