mod command; mod config; use color_print::cprintln; use std::process::ExitCode; /// latest Firefish version as of this fishctl release const FIREFISH_VERSION: &str = "20240613"; #[tokio::main] async fn main() -> ExitCode { let res = command::run().await; if let Err(err) = res { cprintln!("<r!><bold>Error:</></>"); println!(" raw: {:?}", err); println!(" message: {}", err); let mut err: &dyn std::error::Error = &err; while let Some(src) = err.source() { println!("caused by: {}", src); err = src; } return ExitCode::FAILURE; } ExitCode::SUCCESS }