#string #ansi #ansi-colors #color #style

nightly hel-colored

ANSI 字符串着色器和样式化工具

11 个不稳定版本

0.6.1 2024年7月9日
0.5.1 2023年9月16日
0.5.0 2023年7月19日
0.2.0 2023年2月19日

#23 in #ansi-colors

Download history 183/week @ 2024-05-28 10/week @ 2024-06-04 6/week @ 2024-06-11 29/week @ 2024-07-02 119/week @ 2024-07-09 82/week @ 2024-07-23

201 个月下载量

GPL-3.0 许可

22KB
593 行代码(不含注释)

hel-colored

ANSI 字符串着色器和样式化工具

特性

  • 惰性(无需分配、无需复制,直到需要,例如调用 to_string
  • 注重性能
  • 仅支持 RGB(真彩色)(无默认 CLI 颜色)
  • 默认不进行嵌套检查,这提高了约 2 倍的性能。

示例

简单使用

"Hello World!".bold().blue().underline();

使用 "nested" 特性嵌套

cargo add hel-colored -F nested
let blue_text: ANSIString<&str> = "blue text".blue();
let green_blue_green_text: ANSIString<String> = format!("Green {blue_text} wrapping").green();
// Better to call `to_string` above
println!("{green_blue_green_text}");

使用构建器

let builder: ANSIStringBuilder = ANSIStringBuilder::new().bold().underline().orange();
let str1 = builder.build("Hello");
let str2 = builder.build("World!");
println!("{str1}, {str2}")

如何安装

cargo add hel-colored

lib.rs:

此包提供了一种使用 ANSI 转义序列快速且易于使用地着色和样式化字符串的方法。仓库:https://github.com/Hellaeh/hel-colored

无运行时依赖