macro_rules! sgr_const {
(@sgr Reset) => { ... };
(@sgr Bold) => { ... };
(@sgr Dim) => { ... };
(@sgr Italics) => { ... };
(@sgr Underline) => { ... };
(@sgr Blink) => { ... };
(@sgr Negative) => { ... };
(@sgr NoBold) => { ... };
(@sgr NoItalics) => { ... };
(@sgr NoUnderline) => { ... };
(@sgr NoBlink) => { ... };
(@sgr NoNegative) => { ... };
(@sgr BlackFg) => { ... };
(@sgr RedFg) => { ... };
(@sgr GreenFg) => { ... };
(@sgr YellowFg) => { ... };
(@sgr BlueFg) => { ... };
(@sgr MagentaFg) => { ... };
(@sgr CyanFg) => { ... };
(@sgr WhiteFg) => { ... };
(@sgr ResetFg) => { ... };
(@sgr BlackBg) => { ... };
(@sgr RedBg) => { ... };
(@sgr GreenBg) => { ... };
(@sgr YellowBg) => { ... };
(@sgr BlueBg) => { ... };
(@sgr MegantaBg) => { ... };
(@sgr CyanBg) => { ... };
(@sgr WhiteBg) => { ... };
(@sgr ResetBg) => { ... };
(@collect $($strs:expr)*) => { ... };
{
$(
$(#[$($attr:meta)+])*
$vis:vis $name:ident = $($sgr:ident)|+;
)*
} => { ... };
}