13 个版本 (4 个稳定版)

2.1.0 2024 年 6 月 9 日
1.1.0 2024 年 4 月 28 日
0.7.0 2023 年 3 月 2 日
0.6.0 2021 年 3 月 15 日
0.2.0 2017 年 4 月 9 日

#106命令行界面

Download history 1155/week @ 2024-04-29 606/week @ 2024-05-06 936/week @ 2024-05-13 946/week @ 2024-05-20 847/week @ 2024-05-27 699/week @ 2024-06-03 777/week @ 2024-06-10 635/week @ 2024-06-17 688/week @ 2024-06-24 377/week @ 2024-07-01 705/week @ 2024-07-08 870/week @ 2024-07-15 1074/week @ 2024-07-22 1004/week @ 2024-07-29 641/week @ 2024-08-05 802/week @ 2024-08-12

每月下载量 3,582
27 包中使用 (26 个直接使用)

MIT/Apache 许可证

34KB
515

颜色

用于创建彩色控制台输出的宏。

通用

查看调色板

cargo run --example println

以下宏提供

类似 print! (写入 stdout,不带换行符) 类似 println! (写入 stdout,带换行符)
正常颜色 深色颜色 正常颜色 深色颜色
black! N/A black_ln! N/A
red! dark_red! red_ln! dark_red_ln!
green! dark_green! green_ln! dark_green_ln!
yellow! dark_yellow! yellow_ln! dark_yellow_ln!
blue! dark_blue! blue_ln! dark_blue_ln!
magenta! dark_magenta! magenta_ln! dark_magenta_ln!
cyan! dark_cyan! cyan_ln! dark_cyan_ln!
grey! dark_grey! grey_ln! dark_grey_ln!
gray! dark_gray! gray_ln! dark_gray_ln!
white! N/A white_ln! N/A
类似 eprint! (写入 stderr,不带换行符) 类似 eprintln! (写入 stderr,带换行符)
正常颜色 深色颜色 正常颜色 深色颜色
e_black! N/A e_black_ln! N/A
e_red! e_dark_red! e_red_ln! e_dark_red_ln!
e_green! e_dark_green! e_green_ln! e_dark_green_ln!
e_yellow! e_dark_yellow! e_yellow_ln! e_dark_yellow_ln!
e_blue! e_dark_blue! e_blue_ln! e_dark_blue_ln!
e_magenta! e_dark_magenta! e_magenta_ln! e_dark_magenta_ln!
e_cyan! e_dark_cyan! e_cyan_ln! e_dark_cyan_ln!
e_grey! e_dark_grey! e_grey_ln! e_dark_grey_ln!
e_gray! e_dark_gray! e_gray_ln! e_dark_gray_ln!
e_white! N/A e_white_ln! N/A
类似 write! (不带换行符) 类似 writeln! (带换行符)
正常颜色 深色颜色 正常颜色 深色颜色
write_black! N/A write_black_ln! N/A
write_red! write_dark_red! write_red_ln! write_dark_red_ln!
write_green! write_dark_green! write_green_ln! write_dark_green_ln!
write_yellow! write_dark_yellow! write_yellow_ln! write_dark_yellow_ln!
write_blue! write_dark_blue! write_blue_ln! write_dark_blue_ln!
write_magenta! write_dark_magenta! write_magenta_ln! write_dark_magenta_ln!
write_cyan! write_dark_cyan! write_cyan_ln! 写入深青色换行!
写入灰色! 写入深灰色! 写入灰色换行! 写入深灰色换行!
写入灰色! 写入深灰色! 写入灰色换行! 写入深灰色换行!
写入白色! N/A 写入白色换行! N/A

所有这些宏都可以通过追加 _bold(例如 blue_ln_bold)以粗体格式使用。

以下宏使用默认前景颜色也是可用的

  • print_bold!
  • eprint_bold!e_print_bold!
  • println_bold!print_ln_bold!
  • eprintln_bold!e_print_ln_bold!
  • write_bold!
  • writeln_bold!

配置

该包遵循 终端ANSI颜色标准 的建议,这意味着会尊重环境变量 NO_COLORCLICOLOR_FORCE。库会像 CLICOLOR 已设置一样行动,因此该环境变量没有效果。

也会考虑环境变量 TERM:如果设置为 dumb,则禁用彩色输出;如果设置为任何其他值,则启用彩色输出。

优先顺序是 NO_COLOR,然后是 CLICOLOR_FORCE,最后是 TERM

在二进制文件中的使用

二进制文件可以通过调用 force_colourforce_no_colour 来覆盖这些环境变量和自动检测终端/tty。二进制文件应只调用这些函数中的一个,并且调用应发生在调用此包提供的任何宏之前。

库通常不应调用这些函数。

示例

use colour::*;

fn _foo() {
    let err: Result<(), u8> = Err(1);
    yellow_ln!("Failed on {}", 9);
    print!("Error details: ");
    dark_red_ln_bold!("{:?}", err);
}

fn main() {
    grey_ln!("grey");
    grey_ln_bold!("bold grey");
    dark_grey_ln!("dark grey");
    dark_grey_ln_bold!("bold dark grey");
    red_ln!("red");
    red_ln_bold!("bold red");
    dark_red_ln!("dark red");
    dark_red_ln_bold!("bold dark red");
    green_ln!("green");
    green_ln_bold!("bold green");
    dark_green_ln!("dark green");
    dark_green_ln_bold!("bold dark green");
    yellow_ln!("yellow");
    yellow_ln_bold!("bold yellow");
    dark_yellow_ln!("dark yellow");
    dark_yellow_ln_bold!("bold dark yellow");
    blue_ln!("blue");
    blue_ln_bold!("bold blue");
    dark_blue_ln!("dark blue");
    dark_blue_ln_bold!("bold dark blue");
    magenta_ln!("magenta");
    magenta_ln_bold!("bold magenta");
    dark_magenta_ln!("dark magenta");
    dark_magenta_ln_bold!("bold dark magenta");
    cyan_ln!("cyan");
    cyan_ln_bold!("bold cyan");
    dark_cyan_ln!("dark cyan");
    dark_cyan_ln_bold!("bold dark cyan");
    black_ln!("black");
    black_ln_bold!("bold black");
    white_ln!("white");
    white_ln_bold!("bold white");
    println!("default colour");
    println_bold!("bold default colour");
}

最小Rust版本

该包可以使用 Rust 版本 1.70.0 及更高版本编译。

许可证

colour 根据 MIT 许可证和 Apache 许可证(版本 2.0)的条款分发。

有关详细信息,请参阅 LICENSE-MITLICENSE-APACHE

依赖关系

~175KB