use clap::{Parser, builder::TypedValueParser as _};
use crate::application::log::LogLevel;
#[allow(unused_imports)]
use log::{debug, error, info, trace, warn};
#[derive(Parser, Debug, Clone)]
#[command( author, version, about, long_about = None )]
pub struct Clap {
#[arg(
long,
value_parser = clap::builder::PossibleValuesParser::new(
["default", "off", "error", "warn", "info", "debug", "trace" ]
)
.map( |s| {
s.to_lowercase().as_str().parse::<LogLevel>().unwrap()
} ),
)]
pub log_level: Option<LogLevel>,
#[arg(short, long)]
pub defaults: bool,
}