#[macro_export]
macro_rules! color {
(black) => {
color!(@internal "0")
};
(red) => {
color!(@internal "1")
};
(green) => {
color!(@internal "2")
};
(yellow) => {
color!(@internal "3")
};
(blue) => {
color!(@internal "4")
};
(magenta) => {
color!(@internal "5")
};
(cyan) => {
color!(@internal "6")
};
(white) => {
color!(@internal "7")
};
(reset) => {
if std::env::var_os("NO_COLOR").is_none() {
"\x1B[0m"
} else {
""
}
};
(@internal $code:literal) => {
if std::env::var_os("NO_COLOR").is_none() {
concat!("\x1B[0m\x1B[1;3", $code, "m")
} else {
""
}
}
}