#[cfg(target_env = "musl")]
#[global_allocator]
static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc;
#[tokio::main(flavor = "multi_thread", worker_threads = 4)]
async fn main() {
context7_cli::platform::inicializar_plataforma();
let _guarda_log = match context7_cli::inicializar_logging() {
Ok(guard) => guard,
Err(e) => {
eprintln!("Falha ao inicializar logging: {e}");
std::process::exit(74); }
};
if let Err(e) = context7_cli::run().await {
let codigo = e
.downcast_ref::<context7_cli::errors::ErroContext7>()
.map(|ec| ec.exit_code())
.unwrap_or(1);
let msg = e.to_string();
if !msg.is_empty() {
eprintln!("Error: {e:#}");
}
std::process::exit(codigo);
}
}