use clap::{Parser, Subcommand};
#[derive(Parser, Debug, Default)]
#[command(author,version,about,long_about=None)]
pub struct Args {
#[arg(long, default_value_t = false)]
pub(crate) lerna: bool,
#[arg(long, value_name = "package", requires = "lerna")]
pub(crate) package: Option<String>,
#[arg(long, value_name = "prefix")]
pub(crate) tag_prefix: Option<String>,
#[arg(long, value_name = "cwd")]
pub(crate) cwd: Option<String>,
#[arg(long)]
pub(crate) skip_unstable: bool,
#[command(subcommand)]
pub command: Option<Commands>,
}
#[derive(Subcommand, Debug)]
pub enum Commands {
#[cfg(feature = "self_upgrade")]
#[cfg_attr(docsrs, doc(cfg(feature = "self_upgrade")))]
Upgrade,
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn verify_cli() {
use clap::CommandFactory;
Args::command().debug_assert()
}
}