Expand description
A macro to generate SGR (Set Graphic Rendition) control sequences for ECMA-48 compatible terminals.
§Examples
The general syntax is:
[visibity] <name> = <attribute> [| attributes...];
You can specify multiple constants at once, as well as add attributes or doc comments to each:
sgr_const::sgr_const! {
/// Error styling. Should be flashy.
STYLE_ERROR = Bold | BlackFg | RedBg;
STYLE_WARN = Bold | YellowFg;
STYLE_INFO = Bold | CyanFg;
STYLE_DEBUG = MagentaFg;
#[allow(unused)]
STYLE_TRACE = GreenFg;
STYLE_NONE = Reset;
}
assert_eq!(STYLE_ERROR, "\x1b[1;30;41m");
assert_eq!(STYLE_WARN, "\x1b[1;33m");
assert_eq!(STYLE_INFO, "\x1b[1;36m");
assert_eq!(STYLE_DEBUG, "\x1b[35m");
assert_eq!(STYLE_TRACE, "\x1b[32m");
assert_eq!(STYLE_NONE, "\x1b[0m");