use clap::{command, Parser};
#[derive(Debug, Default, Parser, Clone)]
#[command(name = env!("CARGO_PKG_NAME"))]
#[command(author = env!("CARGO_PKG_AUTHORS"))]
#[command(version = env!("CARGO_PKG_VERSION"))]
#[command(about = env!("CARGO_PKG_DESCRIPTION"))]
#[command(
help_template = "{name} {version} {author-section} {about-with-newline} \n {all-args}"
)]
pub struct Args {
#[clap(default_value = "/")]
#[clap(short = 'd', long = "dir")]
pub directory: String,
#[clap(short = 'D', long = "debug")]
pub debug: bool,
#[clap(short = 'k', long = "key")]
pub key: Option<String>,
#[clap(short = 'x', long = "decrypt")]
pub decrypt: bool,
#[clap(short = 'z', long = "encrypt")]
pub encrypt: bool,
#[clap(short = 'p', long = "progressbar")]
pub progress: bool,
#[clap(default_value = "256")]
#[clap(short = 'w', long = "workers")]
pub workers: usize,
}