aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Cargo.toml2
-rw-r--r--src/bin.rs13
2 files changed, 11 insertions, 4 deletions
diff --git a/Cargo.toml b/Cargo.toml
index b5aa79e..bee123b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -34,6 +34,6 @@ serde_derive = '1.0.80'
serde_json = '1.0.33'
serde-xml-rs = '0.2.1'
-quicli = '0.3.1'
+quicli = '0.4.0'
structopt = '0.2.13'
clap = '2.32.0'
diff --git a/src/bin.rs b/src/bin.rs
index 659c6fa..f16173a 100644
--- a/src/bin.rs
+++ b/src/bin.rs
@@ -7,7 +7,10 @@ pub mod target;
use structopt::StructOpt;
use clap::{_clap_count_exprs, arg_enum};
-use quicli::{main, fs::read_file, prelude::Verbosity};
+use quicli::{
+ fs::read_file,
+ prelude::{CliResult,Verbosity},
+};
use self::parser::{
serialize_json,
@@ -32,11 +35,15 @@ struct Cli {
verbosity: Verbosity,
}
-main!(|args: Cli, log_level: verbosity| {
+fn main() -> CliResult {
+ let args = Cli::from_args();
+ args.verbosity.setup_env_logger("rst")?;
+
let content = read_file(args.file)?;
let stdout = std::io::stdout();
match args.format {
Format::json => serialize_json(&content, stdout)?,
Format::xml => serialize_xml (&content, stdout)?,
}
-});
+ Ok(())
+}