use clap::{arg, command, Args, Parser, Subcommand};
#[derive(Parser)]
#[command(version, about, long_about = None)]
#[command(propagate_version = true)]
pub struct CliArgs {
#[command(subcommand)]
pub command: CliCommands,
}
#[derive(Subcommand)]
pub enum CliCommands {
Init(InitArgs),
Run(RunArgs),
Info(InfoArgs),
Batch(BatchArgs),
}
#[derive(Args)]
pub struct RunArgs {
#[arg(short, long)]
pub file: Option<String>,
#[arg(short, long)]
pub index: Option<usize>,
}
#[derive(Args)]
pub struct InfoArgs {
#[arg(short, long)]
pub file: Option<String>,
}
#[derive(Args)]
pub struct BatchArgs {
#[arg(short, long)]
pub file: Option<String>,
}
#[derive(Args)]
pub struct InitArgs {
#[arg(short, long)]
pub file: Option<String>,
}