#[macro_export]
macro_rules! verbose {
($verbose_flag:expr, $($arg:tt)*) => {
if $verbose_flag {
println!($($arg)*);
}
};
}
#[macro_export]
macro_rules! dev_debug {
($verbose_flag:expr, $($arg:tt)*) => {
if $verbose_flag {
println!("[{}:{}] {}", file!(), line!(), format!($($arg)*));
}
};
}
#[macro_export]
macro_rules! show_error(
($($args:tt)+) => ({
eprint!("roxide: ");
eprintln!($($args)+);
})
);
#[macro_export]
macro_rules! prompt_yes {
($($arg:tt)*) => {{
use std::io::{self, Write};
print!("roxide: ");
print!($($arg)*);
print!(" "); io::stdout().flush().unwrap();
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
matches!(input.trim().to_lowercase().as_str(), "yes" | "y")
}};
}