use std::env;
use std::process;
use hxx::{Config, print_usage, run};
fn main() {
let mut args = env::args();
let program = args.next().unwrap_or_else(|| {
eprintln!("\x1b[1;91mError: invalid or missing program\x1b[0m");
process::exit(1);
});
let config = Config::build(args, &program).unwrap_or_else(|err| {
eprintln!("\x1b[1;91mERROR: {err}\x1b[0m");
print_usage(&program);
unreachable!();
});
if let Err(err) = run(config) {
eprintln!("\x1b[1;91mERROR: {err}\x1b[0m");
process::exit(1);
}
}