summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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")?;