use std::process::ExitCode;
use arrs::cli::Cli;
use clap::Parser;
#[tokio::main]
async fn main() -> ExitCode {
let cli = Cli::parse();
match arrs::commands::dispatch(cli).await {
Ok(()) => ExitCode::SUCCESS,
Err(err) => {
eprintln!("arrs: {err}");
let mut source = std::error::Error::source(&err);
while let Some(cause) = source {
eprintln!(" caused by: {cause}");
source = cause.source();
}
ExitCode::FAILURE
}
}
}