mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-06 02:48:25 +00:00
29 lines
860 B
Rust
29 lines
860 B
Rust
use clap::Parser;
|
|
use terminal::Styles;
|
|
|
|
#[tokio::main]
|
|
async fn main() {
|
|
dotenvy::dotenv().ok();
|
|
|
|
let styles: &'static Styles = Box::leak(Box::new(Styles::detect_stderr()));
|
|
let cli = attractor::cli::Cli::parse();
|
|
|
|
let result = match cli.command {
|
|
attractor::cli::Command::Run(args) => attractor::cli::run::run_command(args, styles).await,
|
|
attractor::cli::Command::Validate(args) => {
|
|
attractor::cli::validate::validate_command(&args, styles)
|
|
}
|
|
#[cfg(feature = "server")]
|
|
attractor::cli::Command::Serve(args) => {
|
|
attractor::cli::serve::serve_command(args, styles).await
|
|
}
|
|
};
|
|
|
|
if let Err(e) = result {
|
|
eprintln!(
|
|
"{red}Error:{reset} {e:#}",
|
|
red = styles.red, reset = styles.reset,
|
|
);
|
|
std::process::exit(1);
|
|
}
|
|
}
|