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
201 个月下载量
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