#[derive(clap::Parser, Debug)]
#[command(about, version)]
pub struct Cli {
#[command(subcommand)]
pub command: Command,
}
#[derive(clap::Subcommand, Debug)]
#[non_exhaustive]
pub enum Command {
Assemble(AssembleArguments),
Init(InitArguments),
#[command(flatten)]
Licences(list_my_licence::cli::LicenceCommand),
Render(RenderArguments),
Scan(ScanArguments),
}
#[derive(clap::Args, Debug)]
pub struct AssembleArguments {
#[arg(default_value = "CHANGELOG.ron", long, short)]
pub changelog: std::path::PathBuf,
#[arg(default_value = "changelog.d", long, short)]
pub input: std::path::PathBuf,
#[arg(long, short)]
pub released: Option<String>,
pub version: String,
}
#[derive(clap::Args, Debug)]
pub struct InitArguments {
#[arg(default_value = "CHANGELOG.ron", long, short)]
pub output: std::path::PathBuf,
#[arg(long, short)]
pub force: bool,
}
#[derive(clap::Args, Debug)]
pub struct RenderArguments {
#[arg(default_value = "CHANGELOG.ron", long, short)]
pub changelog: std::path::PathBuf,
#[arg(default_value = "CHANGELOG.md", long, short)]
pub output: std::path::PathBuf,
}
#[derive(clap::Args, Debug)]
pub struct ScanArguments {
#[arg(default_value = "main", long, short)]
pub base: String,
#[arg(default_value = "CHANGELOG.ron", long, short)]
pub changelog: std::path::PathBuf,
#[arg(long, short)]
pub force: bool,
#[arg(default_value = "changelog.d", long, short)]
pub output: std::path::PathBuf,
}