10 个版本

0.1.14 2020 年 12 月 31 日
0.1.13 2020 年 12 月 31 日
0.0.11 2020 年 12 月 25 日

#541 in 命令行界面

Download history 17/week @ 2024-03-12 8/week @ 2024-03-19 19/week @ 2024-03-26 42/week @ 2024-04-02 9/week @ 2024-04-09 22/week @ 2024-04-16 14/week @ 2024-04-23 7/week @ 2024-04-30 7/week @ 2024-05-07 8/week @ 2024-05-14 10/week @ 2024-05-21 6/week @ 2024-05-28 10/week @ 2024-06-04 27/week @ 2024-06-11 18/week @ 2024-06-18 10/week @ 2024-06-25

67 每月下载量
用于 8 个 crate(3 个直接使用)

MIT/Apache

17KB
203 代码行

gory

license-badge build codecov crates.io Minimum rustc

为任务添加一点颜色

gory 是为了以良好的文档方式提供 Linux 终端的超级简单着色使用而创建的。当 TTY 存在时,gory 将自动检测并禁用颜色输出。但是,也可以通过环境变量 TERM_COLOR 手动禁用颜色,或在运行时根据需要强制打开或关闭。

示例
Display colors

用法

需要 rustc >= 1.30

此最低 rustc 需求是由 Rust 的 std::error::Error 处理改进所驱动

  1. 通过 Cargo.tomlgory 导入到项目中
    [dependencies]
    gory = "0.1"
    
  2. 使用所有 gory,因为它简单且体积小
    use gory::*;
    
  3. 调用默认 Colorable 类型 String&'static str 上的函数
    use gory::*;
    
    fn main() {
        print!("{}  ", format!("\\e[1;{}m", Color::Red).red());
        print!("{}  ", "red".red());
        println!();
    }
    

获取字符串

要从 ColorString 中获取包装的 String,只需取消引用它。

use gory::*;

fn main() {
  let cstr = String::from("foo").red();
  assert!(String::from("foo"), *cstr);
}

控制使用

可以使用 TERM_COLOR 变量启用或禁用颜色输出。

gory 将自动检测终端是否已连接。如果已连接,并且 TERM_COLOR 为真或未设置,则将自动在代码中指定时使用颜色。如果 TERM_COLOR 设置为假值,即使有连接的 TTY 或代码中使用了颜色函数,也不会输出颜色。

此外,为了测试或其他原因,可能需要强制启用或禁用颜色,而不管是否存在 tty 或环境变量。这可以在运行时通过调用函数 Color::force(val: Option<bool>) 来实现,并给它传递 true 以强制开启,false 以强制关闭,以及 None 以返回自动控制。

use gory::*;

fn main() {
  Color::force(Some(true));
  Color::force(Some(false));
  Color::force(None);
}

贡献

欢迎提交拉取请求。然而,请理解,它们将仅根据这些更改是否符合我的项目目标和理念进行评估。

Git-Hook

启用 git 钩来自动增加版本

cd ~/Projects/gory
git config core.hooksPath .githooks

许可证

本项目的许可证为以下之一

贡献

除非你明确表示,否则,根据 Apache-2.0 许可证的定义,你提交给本项目的任何贡献,都将如上所述双重许可,没有附加条款或条件。


待办事项

  • 改进文档
  • 支持更多预定义颜色,如 orange
  • 支持样式,如 underline

变更日志

  • 12/30/2020
    • 纠正了最小 rustc 徽章并添加了描述

依赖项

~57KB