#[allow(dead_code)]
pub const UUID: &str = "3ec2df31-b5fb-49a9-b91f-de63ec69a058";
#[allow(dead_code)]
pub const VERSION: &str = "0.4.1";
#[allow(dead_code)]
pub const RELEASE_DATE: (u16, u8, u8) = (2019, 6, 2);
macro_rules! __ { ($($arg: tt)+) => {
format!("[{}][{}-{}] {}", crate::TAG, module_path!(), line!(), format!($($arg)+))
};}
macro_rules! __b { ($($arg: tt)+) => {
format!("\x1b[1m{}\x1b[m", format!($($arg)+))
};}
macro_rules! __w { ($($arg: tt)+) => {
format!("\x1b[38;5;1m{}\x1b[39m", format!($($arg)+))
};}
macro_rules! __p { ($($arg: tt)+) => {
println!("{}", __!($($arg)+));
};}
#[cfg(unix)]
macro_rules! __is_char_device { ($fd: expr) => {{
use ::std::os::unix::fs::FileTypeExt;
use ::std::os::unix::io::RawFd;
use ::std::path::PathBuf;
let fd: RawFd = $fd;
match PathBuf::from(format!("/proc/{}/fd/{}", std::process::id(), fd)).metadata().map(|m| m.file_type()) {
Ok(ft) => ft.is_char_device(),
Err(_) => false,
}
}};}
macro_rules! __pp { ($($arg: tt)+) => {
match match cfg!(unix) {
true => {
use ::std::os::unix::io::AsRawFd;
__is_char_device!(::std::io::stdout().as_raw_fd())
},
false => true,
} {
true => __p!("{}", __b!("{}", __!($($arg)+))),
false => __p!($($arg)+),
};
};}
macro_rules! __e { ($($arg: tt)+) => {
eprintln!("{}", __!($($arg)+));
};}
macro_rules! __ee { ($($arg: tt)+) => {
match match cfg!(unix) {
true => {
use ::std::os::unix::io::AsRawFd;
__is_char_device!(::std::io::stderr().as_raw_fd())
},
false => true,
} {
true => __e!("{}", __w!("{}", __!($($arg)+))),
false => __e!($($arg)+),
};
};}