mod builder;
mod cli;
mod compile_db;
mod config;
mod error;
mod project;
mod resolver;
mod toolchain;
use cli::Commands;
fn main() {
if let Err(e) = run() {
eprintln!("Error: {}", e);
std::process::exit(1);
}
}
fn run() -> error::Result<()> {
let cli = cli::parse_args();
match &cli.command {
Commands::New { name } => project::Project::init(name),
Commands::Build => {
let project = project::Project::load(&std::env::current_dir()?)?;
builder::build_project(&project)
}
Commands::Run => {
let project = project::Project::load(&std::env::current_dir()?)?;
builder::run_project(&project)
}
}
}