mod cmd;
mod config;
use clap::Parser;
use cmd::{nedots::RootCmd, Command};
use std::process::ExitCode;
fn init() -> RootCmd {
let mut root_cmd = RootCmd::parse();
if cfg!(debug_assertions) {
env_logger::Builder::new()
.filter_level(root_cmd.verbose.log_level_filter())
.init();
root_cmd.cfg_file = String::from(".nedots.test.yml");
} else {
env_logger::Builder::new()
.format_timestamp(None)
.format_module_path(false)
.format_target(false)
.filter_level(root_cmd.verbose.log_level_filter())
.init();
}
root_cmd
}
fn run(root_cmd: RootCmd) -> ExitCode {
match root_cmd.exec(&root_cmd) {
Ok(_) => ExitCode::SUCCESS,
Err(err) => {
log::error!("{}", err);
ExitCode::FAILURE
}
}
}
fn main() -> ExitCode {
run(init())
}