27 个版本 (稳定版)
4.0.0 | 2023年12月20日 |
---|---|
4.0.0-rc.1 | 2023年10月13日 |
3.6.0 |
|
3.5.0 | 2022年8月22日 |
0.0.0 | 2020年8月25日 |
#6 in 命令行界面
1,798,114 每月下载量
用于 1,547 个crate(388 直接使用)
125KB
2.5K SLoC
颜色
通过零分配和无标准库兼容的方式,为 Rust 终端添加颜色,让人们发出 owo 的声音。
支持
- 所有 std/core 格式化器
- 可选检查终端是否支持颜色
- 为 CI 启用
- 默认禁用非终端输出
- 可通过
NO_COLOR
/FORCE_COLOR
环境变量覆盖 - 可通过
set_override
编程方式覆盖
- 默认无依赖
- 精心挑选的所有 ANSI(4 位)和 Xterm(8 位)颜色名称
- 支持 RGB 颜色
- 通过泛型在编译时设置颜色,或通过值在运行时设置颜色
- 所有 ANSI 颜色
- 基本支持(正常和亮色变体)
- Xterm 支持(高度兼容性和 256 种颜色)
- 真彩色支持(现代,48 位颜色)
- 样式(下划线,删除线等)
owo-colors 也几乎是 colored 的直接替代品,允许 colored 在无标准库环境中工作。不需要分配或依赖,嵌入式系统也应该很漂亮 uwu。
添加到 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–6.5MB
~33K SLoC