#[macro_use] mod error;
mod fetch;
mod tar;
mod packagedir;
mod cli;
use crate::{ cli::Command, error::Result };
use std::{ env, process };
pub fn main() {
fn _main_real() -> Result {
let mut args = env::args();
let _binary = args.next().ok_or(einval!("Missing arguments"))?;
let verb = args.next().ok_or(einval!("Missing verb"))?;
let command = Command::load(verb, args)?;
command.exec()
}
if let Err(e) = _main_real() {
eprintln!("Fatal error: {}", e);
process::exit(1);
}
}