#colored #terminal #ansi

colorable

获取彩色控制台输出的简单方法

5 个版本

0.1.4 2020年10月16日
0.1.3 2020年10月8日
0.1.2 2020年10月8日
0.1.1 2020年10月8日
0.1.0 2020年9月1日

#14 in #colored

Download history 50/week @ 2024-04-08 44/week @ 2024-04-15 31/week @ 2024-04-22 19/week @ 2024-04-29 37/week @ 2024-05-06 92/week @ 2024-05-13 37/week @ 2024-05-20 23/week @ 2024-05-27 27/week @ 2024-06-03 33/week @ 2024-06-10 8/week @ 2024-06-17 23/week @ 2024-06-24 7/week @ 2024-07-01 10/week @ 2024-07-08 28/week @ 2024-07-15 23/week @ 2024-07-22

每月 70 次下载
用于 4 包(2 个直接使用)

自定义许可

20KB
563

colorable

colorable 是一个库,可以轻松地将彩色输出打印到控制台。

入门

将 colorable 添加为依赖项

[dependecies]
colorable = "0.1"

这是您需要的唯一依赖项

使用方法

colorable 允许您使用 ANSI 转义序列 样式化控制台输出。它允许任何实现了 std::fmt::Displaystd::fmt::Debug 的类型的任何类型。

如何用于实现了 std::fmt::Display 的类型

基本示例

use colorable::*;

fn main() {
    println!("{}", 1.green());
    println!("{}", 2.blue().bold());
    println!("{}", 3.with_fg_color(124).italic());
}

这将输出一个绿色的 1,一个加粗的蓝色 2 和一个红色的斜体 3。最后一行中的 124 对应于这种红色色调的 ANSI 颜色代码。您还可以像这样设置输出的背景

use colorable::*;

fn main() {
    println!("{}", 1.magenta().with_bg_color(3));
}

这将输出一个在蓝色背景上的洋红色 3。目前,仅通过显式颜色代码设置背景,您可以在 此处 找到这些代码

如何用于实现了 std::fmt::Debug 的类型

在实现 std::fmt::Debug 的对象上使用颜色和样式的 API 与 std::fmt::Display 完全相同,除了每个方法都有一个 _dbg 后缀。这样做是为了避免在同时实现了 std::fmt::Debugstd::fmt::Display 的类型上发生名称冲突。上面的示例可能看起来像这样

use colorable::*;

fn main() {
    let v = vec![1, 2, 3];
    println!("{:?}", v.yellow_dbg());
    println!("{:?}", v.cyan_dbg().bold_dbg());
}

注意

Colored 和 ColoredDbg 类型都不使用任何类型的格式化标志。这意味着像这样

use colorable::*;

fn main() {
    println!("{:#?}", vec![1, 2, 3].dark_cyan_dbg());
}

中的格式化标志将被简单地忽略,并且输出不会被格式化打印。如果您想使用格式化标志,可以这样做

use colorable::*;

fn main() {
    println!("{}", format_args!("{:#?}", vec![1, 2, 3]).dark_cyan());
}

无运行时依赖