use std::path::PathBuf; #[derive(clap::Parser, Debug)] pub struct Args { #[arg(short, long="config", default_value = "config.toml")] config_path: Option, #[arg(short, long)] depth: Option, #[arg(short, long)] strenght: Option, #[arg(short, long)] jobs: Option, #[arg(long, value_parser = clap::builder::PossibleValuesParser::new(["trace", "debug", "info", "warn", "error"]) )] log_level: Option, #[arg(long)] log_file: Option, } impl Default for Args { fn default() -> Self { Self { config_path: Some("config.toml".into()), depth: None, strenght: None, jobs: None, log_level: None, log_file: None, } } } impl Args { pub fn get_config_path(&self) -> Option { self.config_path.clone() } pub fn get_depth(&self) -> Option { self.depth } pub fn get_strenght(&self) -> Option { self.strenght } pub fn get_jobs(&self) -> Option { self.jobs } pub fn get_log_level(&self) -> Option { self.log_level.clone() } pub fn get_log_file(&self) -> Option { self.log_file.clone() } }