10 个版本
0.1.14 | 2020 年 12 月 31 日 |
---|---|
0.1.13 | 2020 年 12 月 31 日 |
0.0.11 | 2020 年 12 月 25 日 |
#541 in 命令行界面
67 每月下载量
用于 8 个 crate(3 个直接使用)
17KB
203 代码行
gory
为任务添加一点颜色
gory 是为了以良好的文档方式提供 Linux 终端的超级简单着色使用而创建的。当 TTY 存在时,gory
将自动检测并禁用颜色输出。但是,也可以通过环境变量 TERM_COLOR
手动禁用颜色,或在运行时根据需要强制打开或关闭。
示例
快速链接
用法
需要 rustc >= 1.30
此最低 rustc 需求是由 Rust 的 std::error::Error
处理改进所驱动
- 通过
Cargo.toml
将gory
导入到项目中[dependencies] gory = "0.1"
- 使用所有
gory
,因为它简单且体积小use gory::*;
- 调用默认
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
许可证
本项目的许可证为以下之一
- MIT 许可证 LICENSE-MIT 或 http://opensource.org/licenses/MIT
- Apache 许可证,版本 2.0 LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0
贡献
除非你明确表示,否则,根据 Apache-2.0 许可证的定义,你提交给本项目的任何贡献,都将如上所述双重许可,没有附加条款或条件。
待办事项
- 改进文档
- 支持更多预定义颜色,如
orange
? - 支持样式,如
underline
?
变更日志
- 12/30/2020
- 纠正了最小 rustc 徽章并添加了描述
依赖项
~57KB