use lazy_static::lazy_static;
use std::sync::atomic::{AtomicBool, Ordering};
lazy_static! {
static ref VERBOSE: AtomicBool = AtomicBool::new(false);
static ref QUIET: AtomicBool = AtomicBool::new(false);
}
pub fn set_verbose(verbose: bool) {
VERBOSE.store(verbose, Ordering::Relaxed);
print_verbose("set up '-v' environment")
}
pub fn set_quiet(quiet: bool) {
QUIET.store(quiet, Ordering::Relaxed);
}
pub fn is_verbose() -> bool {
VERBOSE.load(Ordering::Relaxed)
}
pub fn is_quiet() -> bool {
QUIET.load(Ordering::Relaxed)
}
pub fn print_normal(message: &str) {
if !is_quiet() {
println!("{}", message);
}
}
pub fn print_verbose(message: &str) {
if is_verbose() && !is_quiet() {
println!("[VERBOSE] {}", message);
}
}
pub fn print_warning(message: &str) {
if !is_quiet() {
eprintln!("⚠️ {}", message);
}
}
pub fn print_promotion() {
if !is_quiet() {
println!("\n🚀 Give AI-powered Redis GUI a try! https://redis-egui-client.pages.dev/");
}
}