#终端颜色 #终端 #ANSI 终端 #颜色 #CLI #环境变量 #调试

无标准库 owo-colors

零分配的终端颜色,让人们发出 owo 的声音

27 个版本 (稳定版)

4.0.0 2023年12月20日
4.0.0-rc.12023年10月13日
3.6.0 2022年12月27日
3.5.0 2022年8月22日
0.0.0 2020年8月25日

#6 in 命令行界面

Download history 291534/week @ 2024-05-01 299763/week @ 2024-05-08 313134/week @ 2024-05-15 306248/week @ 2024-05-22 340551/week @ 2024-05-29 379773/week @ 2024-06-05 380561/week @ 2024-06-12 375451/week @ 2024-06-19 393141/week @ 2024-06-26 383536/week @ 2024-07-03 415359/week @ 2024-07-10 424177/week @ 2024-07-17 422473/week @ 2024-07-24 431240/week @ 2024-07-31 431877/week @ 2024-08-07 431028/week @ 2024-08-14

1,798,114 每月下载量
用于 1,547 个crate(388 直接使用)

MIT 许可证

125KB
2.5K SLoC

颜色

Current Crates.io Version docs-rs MSRV 1.56+ Downloads

通过零分配和无标准库兼容的方式,为 Rust 终端添加颜色,让人们发出 owo 的声音。

支持

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