use clap::{AppSettings, Parser, Subcommand};
#[derive(Parser)]
#[clap(author, version, about, long_about = None)]
#[clap(global_setting(AppSettings::PropagateVersion))]
#[clap(global_setting(AppSettings::UseLongFormatForHelpSubcommand))]
pub struct Cli {
#[clap(subcommand)]
pub command: Commands,
}
#[non_exhaustive]
#[derive(clap::ArgEnum, Copy, Clone)]
pub enum GenTypes {
Markdown,
}
#[derive(clap::Args)]
pub struct GenCommand {
pub source_dir: String,
#[clap(short, long, default_value_t = String::from("."))]
pub dest_dir: String,
#[clap(long, short)]
pub recurse: bool,
#[clap(long)]
pub readme: bool,
#[clap(arg_enum, long, default_value_t = GenTypes::Markdown)]
pub doc_type: GenTypes,
#[clap(flatten)]
pub verbose: clap_verbosity_flag::Verbosity,
}
#[derive(Subcommand)]
pub enum Commands {
Gen(GenCommand),
Init {
node_name: String,
#[clap(flatten)]
verbose: clap_verbosity_flag::Verbosity,
}
}