#![expect(
clippy::print_stdout,
clippy::print_stderr,
reason = "CLI binary: stdout and stderr output are intentional"
)]
mod asm;
mod dism;
mod run;
mod verify;
use clap::{Parser, Subcommand};
#[derive(Debug, Parser)]
#[command(name = "xquad", version, about)]
struct Cli {
#[command(subcommand)]
command: Command,
}
#[derive(Debug, Subcommand)]
enum Command {
Asm(asm::Args),
Dism(dism::Args),
Run(run::Args),
Verify(verify::Args),
}
fn main() -> miette::Result<()> {
let cli = Cli::parse();
match cli.command {
Command::Asm(args) => asm::exec(args),
Command::Dism(args) => dism::exec(&args),
Command::Run(args) => run::exec(args),
Command::Verify(args) => verify::run(&args),
}
}