2个版本 (1个稳定版)
4.0.0 | 2024年2月14日 |
---|---|
4.0.0-rc.1 | 2023年10月24日 |
#377 在 命令行界面
每月 23 次下载
用于 tracexec
130KB
2.5K SLoC
这是基于 https://github.com/jam1garner/owo-colors 的分支,并做了一些个人修改
你应该去 https://github.com/jam1garner/owo-colors 查看
颜色
一种零分配、与无std兼容的零成本方式,为Rust终端添加颜色,让人们反应是 owo。
支持
- 所有std/core格式化程序
- 可选:检查终端是否支持颜色
- 为CI启用
- 默认情况下禁用非终端输出
- 可通过
NO_COLOR
/FORCE_COLOR
环境变量覆盖 - 可通过
set_override
编程方式覆盖
- 默认无依赖
- 所有ANSI(4位)和Xterm(8位)颜色均采用精心挑选的名称
- 支持RGB颜色
- 通过泛型在编译时设置颜色,或在运行时通过值设置
- 所有ANSI颜色
- 基本支持(普通和亮色变体)
- Xterm支持(高兼容性和256颜色)
- 真彩色支持(现代,48位颜色)
- 样式(下划线、删除线等)
owo-colors基本上是 colored 的替代品,允许在无std环境中使用colored。不需要分配或依赖,因为嵌入式系统也应该很漂亮。
在Cargo.toml中添加
owo-colors = "3"
示例
use owo_colors::OwoColorize;
fn main() {
// Foreground colors
println!("My number is {:#x}!", 10.green());
// Background colors
println!("My number is not {}!", 4.on_red());
}
泛型颜色
use owo_colors::OwoColorize;
use owo_colors::colors::*;
fn main() {
// Generically color
println!("My number might be {}!", 4.fg::<Black>().bg::<Yellow>());
}
样式化
use owo_colors::OwoColorize;
println!("{}", "strikethrough".strikethrough());
仅在支持的终端上应用样式
use owo_colors::{OwoColorize, Stream::Stdout};
println!(
"{}",
"colored blue if a supported terminal"
.if_supports_color(Stdout, |text| text.bright_blue())
);
支持 NO_COLOR
/ FORCE_COLOR
环境变量,检查是否是 tty,检查是否在 CI 环境中运行(因此可能支持颜色),并检查正在使用的终端。(注意:需要 supports-colors
功能)
依赖项
~0–8MB
~44K SLoC