use ai_usagebar::widget::cli::{Cli, Command};
use ai_usagebar::widget::run::run;
use clap::Parser;
fn main() {
let cli = Cli::parse();
if let Some(Command::Account { action }) = &cli.command {
std::process::exit(ai_usagebar::account::run(action));
}
let rt = match tokio::runtime::Builder::new_current_thread()
.enable_all()
.build()
{
Ok(rt) => rt,
Err(_) => {
println!(
r#"{{"text":"⚠","tooltip":"failed to create tokio runtime","class":"critical"}}"#
);
std::process::exit(0);
}
};
if let Some(Command::Usage { json }) = &cli.command {
std::process::exit(rt.block_on(ai_usagebar::report::run(*json)));
}
let code = rt.block_on(run(cli));
std::process::exit(code);
}