#![deny(unsafe_code)]
mod feature;
use clientele::{
crates::clap::{Parser, Subcommand as ClapSubcommand},
StandardOptions,
SysexitsError::{self, *},
};
#[derive(Debug, Parser)]
#[command(name = "asimov-account", long_about)]
#[command(arg_required_else_help = true)]
struct Options {
#[clap(flatten)]
flags: StandardOptions,
#[clap(subcommand)]
command: Option<Command>,
}
#[derive(Debug, ClapSubcommand)]
enum Command {}
pub fn main() -> SysexitsError {
clientele::dotenv().ok();
let Ok(args) = clientele::args_os() else {
return EX_USAGE;
};
let options = Options::parse_from(&args);
if options.flags.version {
println!("asimov-account {}", env!("CARGO_PKG_VERSION"));
return EX_OK;
}
if options.flags.license {
print!("{}", include_str!("../UNLICENSE"));
return EX_OK;
}
if options.flags.debug {
std::env::set_var("RUST_BACKTRACE", "1");
}
EX_OK
}