use clap::Parser;
mod cli;
use cli::{Cli, Command};
fn main() {
let cli = Cli::parse();
let mut config = cli.build_config();
cli::init_logging(&config);
let result = match cli.command {
Command::Dump(args) => args.execute(&config),
Command::Init(args) => args.execute(&config),
Command::Check(args) => args.execute(&mut config),
Command::Verify(args) => args.execute(&mut config),
};
match result {
Ok(()) => std::process::exit(0),
Err(_e) => {
let exit_code = cli::get_exit_code(&config, true);
std::process::exit(exit_code);
}
}
}