#colored #colored-text #syntax #macro #terminal #xml-like #no-color

colored-macro

一个使用类似XML语法在终端中制作彩色文本的宏

2个不稳定版本

0.2.0 2023年5月15日
0.1.0 2023年4月19日

模板引擎 中排名第 371

MIT 许可证

4KB

彩色宏

彩色宏是一个Rust库,用于以可读的方式使用ANSI代码创建彩色和格式化字符串。它使用类似XML的语法

<红色>红色文本</红色> <粗体>粗体文本</粗体> <绿色>{fmt_expr}</绿色>

问题

使用当前的crates,消息很快就会变得难以一目了然。这最好用一个例子来说明

println!("[{}] ({}): {}", level.green(), timestamp.blue(), message.bold());

你可以看到,即使是简单的消息,与使用此crate的等效格式字符串相比,格式字符串变得难以快速理解

println!("{}", colored!("[<green>{level}</green>] (<blue>{timestamp}</blue>): <bold>{message}</bold>"));

文档

以下样式可用

  • 任何 CSS命名颜色,只要它们的alpha值为1。
  • 任何常规CSS格式下的RGB颜色,只要它的alpha值为1(例如 rgb(10, 12, 200)#0012G4)。
  • reset(重置当前样式)
  • 粗体
  • 暗淡
  • 斜体
  • 下划线
  • 闪烁
  • 反转
  • 隐藏
  • 删除线

样式也可以嵌套

colored_macro::colored!("<red>all red <yellow>yellow <blue>now to blue</blue> back to yellow</yellow> back to red</red>")

NO_COLOR 支持

如果启用 no-color 功能,则支持 NO_COLOR 环境变量。

Output of above code

依赖项

~0.9–1.3MB
~24K SLoC