use anyhow::Result; use clap::{Parser, Subcommand}; pub mod cmd; #[derive(Parser)] #[command(name = "cargo-zint")] pub struct Cli { #[command(subcommand)] pub command: ZintCommand, } #[derive(Subcommand)] pub enum ZintCommand { /// Zink testing commands Zint { #[command(subcommand)] subcommand: Commands, }, } #[derive(Subcommand)] pub enum Commands { /// Create a new ztests crate in the Foundry project New, /// Run the tests in the ztests crate Run, } pub fn run() -> Result<()> { let cli = Cli::parse(); match cli.command { ZintCommand::Zint { subcommand } => match subcommand { Commands::New => cmd::create_ztests_crate()?, Commands::Run => cmd::run_ztests()?, }, } Ok(()) }