use camino::Utf8PathBuf;
use clap::{Args, Subcommand};
#[derive(Debug, Args)]
pub struct SetupArgs {
#[command(subcommand)]
pub action: Option<SetupAction>,
#[arg(long)]
pub target: Option<Utf8PathBuf>,
#[arg(long)]
pub repo: Option<String>,
#[arg(long)]
pub forge: Option<String>,
#[arg(long)]
pub required_check: Option<String>,
#[arg(long)]
pub apply: bool,
#[arg(long)]
pub list: bool,
#[arg(long)]
pub json: bool,
}
#[derive(Debug, Subcommand)]
pub enum SetupAction {
Check {
#[arg(long)]
target: Utf8PathBuf,
#[arg(long)]
repo: Option<String>,
#[arg(long)]
forge: Option<String>,
#[arg(long)]
required_check: Option<String>,
#[arg(long)]
json: bool,
},
Step {
name: String,
#[arg(long)]
target: Utf8PathBuf,
#[arg(long)]
repo: Option<String>,
#[arg(long)]
forge: Option<String>,
#[arg(long)]
required_check: Option<String>,
#[arg(long)]
apply: bool,
#[arg(long)]
json: bool,
},
Script {
name: String,
#[arg(long)]
forge: Option<String>,
},
}