summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-06-13 06:37:35 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-06-13 06:37:59 +0200
commit3e80cef8b2575f871aeea01917edcfb25356c290 (patch)
treeb6fdc36f99835e3ad184b258f69ce2fe87f9369f /src
parentbuild(update.sh): First upgrade then update (diff)
downloadlpm-3e80cef8b2575f871aeea01917edcfb25356c290.tar.gz
lpm-3e80cef8b2575f871aeea01917edcfb25356c290.zip
feat(cli): Switch to stderrlog, configured by cli options
Diffstat (limited to '')
-rw-r--r--src/cli.rs10
-rw-r--r--src/main.rs10
2 files changed, 18 insertions, 2 deletions
diff --git a/src/cli.rs b/src/cli.rs
index fe1b194..9fee349 100644
--- a/src/cli.rs
+++ b/src/cli.rs
@@ -1,4 +1,4 @@
-use clap::{Parser, Subcommand};
+use clap::{ArgAction, Parser, Subcommand};
 
 /// A project manager for LaTeX
 #[derive(Parser, Debug)]
@@ -6,6 +6,14 @@ use clap::{Parser, Subcommand};
 pub struct Args {
     #[command(subcommand)]
     pub cli: Command,
+
+    /// Increase message verbosity
+    #[arg(long="verbose", short = 'v', action = ArgAction::Count)]
+    pub verbosity: u8,
+
+    /// Silence all output
+    #[arg(long, short = 'q')]
+    pub quiet: bool,
 }
 
 #[derive(Subcommand, Debug)]
diff --git a/src/main.rs b/src/main.rs
index 8c2ea62..8d1c977 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -22,8 +22,16 @@ pub mod new;
 pub mod file_tree;
 
 fn main() -> anyhow::Result<()> {
-    env_logger::init();
     let args = Args::parse();
+    stderrlog::new()
+        .module(module_path!())
+        .quiet(args.quiet)
+        .show_module_names(false)
+        .color(stderrlog::ColorChoice::Auto)
+        .verbosity(args.verbosity as usize)
+        .timestamp(stderrlog::Timestamp::Off)
+        .init()
+        .expect("Let's just hope that this does not panic");
 
     let project_root = get_project_root_by_lmp_toml().context("Looking for the project root")?;