bear_cli/verbose.rs
1use std::sync::atomic::{AtomicU8, Ordering};
2
3static VERBOSITY: AtomicU8 = AtomicU8::new(0);
4
5pub fn set(level: u8) {
6 VERBOSITY.store(level, Ordering::Relaxed);
7}
8
9pub fn level() -> u8 {
10 VERBOSITY.load(Ordering::Relaxed)
11}
12
13pub fn enabled(level: u8) -> bool {
14 self::level() >= level
15}
16
17pub fn eprintln(level: u8, message: impl AsRef<str>) {
18 if enabled(level) {
19 std::eprintln!("{}", message.as_ref());
20 }
21}