use clap::FromArgMatches;
use clap::Subcommand;
use logforth::filter::env_filter::EnvFilterBuilder;
use crate::subcommand::SubCommand;
pub mod subcommand;
pub mod version;
fn main() {
logforth::starter_log::stderr()
.filter(EnvFilterBuilder::from_default_env_or("info").build())
.apply();
let build_info = version::build_info();
let command = clap::Command::new("hawkeye")
.subcommand_required(true)
.about(build_info.description)
.version(build_info.version)
.long_version(version::version());
let command = SubCommand::augment_subcommands(command);
let args = command.get_matches();
match SubCommand::from_arg_matches(&args) {
Ok(cmd) => cmd.run(),
Err(e) => e.exit(),
}
}