2个版本
0.1.1 | 2021年10月5日 |
---|---|
0.1.0 | 2021年10月5日 |
#239 在 模板引擎
在 yuna 中使用
19KB
306 行
tempera
基于模板的终端着色变得非常简单。
用法
Tempera允许以非常简单的方式为终端添加着色。
着色字符串
要着色字符串,只需使用 colorize 函数,传递一个要应用样式的向量。支持的色彩名称列表对应于 CODES 变量的键。
use tempera::*;
fn main() {
println!("{}", colorize("Colorized", &["red"]));
println!("{}", colorize("Colorized", &["red bgBlue"]));
}
着色模板
要使用带标签的模板语法着色模板,只需使用 colorize_template 函数。
use tempera::*;
fn main() {
println!("{}", colorize_template("{red}This is in red, {green underline}this in green underlined{-}, this in red again.");
}
模板识别花括号之间的样式(使用单个或双花括号来转义它们)和标记 {-}
作为通用的结束标签(它还会恢复之前的样式)。
字符串末尾的结束标签可以省略,因为如果设置了任何样式,tempera 将附加全局重置样式(\u{1b}[0m
)。
如果您想丢弃要恢复的样式,请使用 {reset}
标记。
设置自定义样式
如果您想定义自定义样式,请使用 add_style 函数。
use tempera::*;
fn main() {
println!("{}", add_style("custom", &["yellow", "bgRed"]).is_ok());
}
支持256种和1600万种颜色
tempera支持256种ANSI代码和1600万种RGB颜色。试试看吧
use tempera::*;
fn main() {
println!("{}", colorize("Colorized", &["ansi:100"]));
println!("{}", colorize("Colorized", &["bgANSI:3,4,5"]));
println!("{}", colorize("Colorized", &["rgb:255,0,0"]));
println!("{}", colorize("Colorized", &["bgRGB:0,255,0"]));
println!("{}", colorize("Colorized", &["hex:#FF0000"]));
println!("{}", colorize("Colorized", &["bgHEX:00FF00"]));
}
ANSI、RGB和十六进制也可以在样式定义和模板中使用。
API文档
API文档可以在 这里 找到。
为tempera做贡献
- 检查最新主分支以确保该功能尚未实现或错误尚未修复。
- 检查问题跟踪器以确保没有人已经提出过该请求或贡献过相关代码。
- 复制项目。
- 开始创建功能/错误修复分支。
- 提交并推送,直到你对你的贡献满意为止。
- 务必添加测试。这很重要,以免我在未来的版本中无意中破坏它。
版权
版权所有 (C) 2021 及以后 Shogun ([email protected])。
许可协议为 ISC 许可证,可在 https://choosealicense.com/licenses/isc 找到。
依赖项
约 2.2–3MB
约 54K SLoC