diff --git a/Cargo.lock b/Cargo.lock index 17689e0..bab6c3e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -225,6 +225,16 @@ dependencies = [ "clap_derive", ] +[[package]] +name = "clap-verbosity-flag" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeab6a5cdfc795a05538422012f20a5496f050223c91be4e5420bfd13c641fb1" +dependencies = [ + "clap", + "log", +] + [[package]] name = "clap_builder" version = "4.5.44" @@ -1192,6 +1202,7 @@ name = "stash" version = "0.1.0" dependencies = [ "clap", + "clap-verbosity-flag", "dirs", "env_logger", "image", diff --git a/Cargo.toml b/Cargo.toml index 32b677c..4bfd86a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,3 +17,4 @@ rmp-serde = "1.3.0" image = "0.25.6" log = "0.4.27" env_logger = "0.11.8" +clap-verbosity-flag = "3.0.3" diff --git a/src/main.rs b/src/main.rs index f00c9ef..b79f9cd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -37,6 +37,9 @@ struct Cli { #[arg(long)] db_path: Option, + + #[command(flatten)] + verbosity: clap_verbosity_flag::Verbosity, } #[derive(Subcommand)] @@ -73,8 +76,11 @@ enum Command { } fn main() { - env_logger::init(); let cli = Cli::parse(); + env_logger::Builder::new() + .filter_level(cli.verbosity.into()) + .init(); + let db_path = cli.db_path.unwrap_or_else(|| { dirs::cache_dir() .unwrap_or_else(|| PathBuf::from("/tmp"))