use clap::{Args, Subcommand};
#[derive(Debug, Args)]
#[clap(args_conflicts_with_subcommands = true)]
pub struct Branch {
#[clap(subcommand)]
pub command: Option<BranchCommands>,
#[clap(short, long, value_parser, required = false, default_value_t = false)]
pub info: bool,
}
#[derive(Debug, Subcommand)]
pub enum BranchCommands {
#[clap(alias = "rn")]
Rename(BranchRename),
#[clap(alias = "del")]
Delete(BranchDelete),
}
#[derive(Debug, Args)]
pub struct BranchRename {
#[clap(short, long, value_parser, required = false, default_value_t = false)]
pub info: bool,
}
#[derive(Debug, Args)]
pub struct BranchDelete {
#[clap(short, long, value_parser, required = false, default_value_t = false)]
pub info: bool,
}
#[derive(Debug, Args)]
#[clap(args_conflicts_with_subcommands = true)]
pub struct Feature {
#[clap(subcommand)]
pub command: Option<FeatureCommands>,
}
#[derive(Debug, Subcommand)]
pub enum FeatureCommands {
#[clap(alias = "ls")]
List(FeatureList),
#[clap(alias = "st")]
Start(FeatureStart),
}
#[derive(Debug, Args)]
pub struct FeatureList {
#[clap(short, long, value_parser, required = false, default_value_t = false)]
#[clap(value_parser)]
pub info: bool,
}
#[derive(Debug, Args)]
pub struct FeatureStart {
#[clap(short, long, value_parser, required = false, default_value_t = false)]
pub dry_run: bool,
#[clap(short, long, value_parser, required = false, default_value_t = false)]
#[clap(value_parser)]
pub info: bool,
}