use clap::{ArgAction, Args};
#[derive(Args)]
pub struct NewArgs {
pub name: String,
#[arg(short, long)]
pub blueprint: Option<String>,
#[arg(short, long)]
pub template: Option<String>,
#[arg(short, long, action = ArgAction::SetTrue)]
pub quiet: bool,
}
#[derive(Args)]
pub struct CloneArgs {
pub remote: String,
#[arg(short, long)]
pub name: Option<String>,
#[arg(short, long)]
pub branch: Option<String>,
}
#[derive(Args)]
pub struct OpenArgs {
pub name: String,
#[arg(short, long, action = ArgAction::SetTrue)]
pub shell: bool,
#[arg(short, long, action = ArgAction::SetTrue)]
pub path: bool,
#[arg(long, action = ArgAction::SetTrue)]
pub skip_autocomplete: bool,
}
#[derive(Args)]
pub struct ListArgs {
#[arg(short, long, action = ArgAction::SetTrue)]
pub pure: bool,
}
#[derive(Args)]
pub struct RenameArgs {
pub old_name: String,
pub new_name: String,
}
#[derive(Args)]
pub struct RemoveArgs {
pub name: String,
#[arg(short, long, action = ArgAction::SetTrue)]
pub yes: bool,
}
#[derive(Args)]
pub struct BackupArgs {
pub output_file: Option<String>,
}
#[derive(Args)]
pub struct ImportArgs {
pub file: String,
#[arg(short, long, action = ArgAction::SetTrue)]
pub yes: bool,
}