fn main() {
let args: Vec<_> = std::env::args_os().collect();
let started = std::time::Instant::now();
if args.len() == 2 && matches!(args[1].to_str(), Some("--version") | Some("-V")) {
netsky::ui::print_version("netsky", env!("CARGO_PKG_VERSION"));
netsky::observability::record_cli_invocation(&args, Some(0), started.elapsed());
return;
}
let exit_code: i32 = match netsky::run(args.clone()) {
Ok(()) => 0,
Err(err) => {
netsky::ui::print_error(err);
1
}
};
netsky::observability::record_cli_invocation(&args, Some(exit_code.into()), started.elapsed());
if exit_code != 0 {
std::process::exit(exit_code);
}
}