1 个不稳定版本
0.1.0 | 2023年8月8日 |
---|
#9 in #sgr
在 easy-sgr 中使用
38KB
749 行代码(不包括注释)
easy-sgr-macros
为easy-sgr crate提供的proc-macro实现
语法
此crate的语法几乎与fmt模块的语法相同,增加了一个功能:添加了SGR 关键字。
这些关键字在编译时会被转换为SGR代码,使用方法类似于在fmt crate中将变量格式化为字符串字面量,您可以使用花括号内的方括号来指定它们:{[...]}
来指定。每个关键字之间应该用空格分隔。
示例
use easy_sgr::println;
println!("{[bold green on-red]}This is colorful");
println!("{[!bold default on-default]}This is not");
更多请参考rust文档
关键字
简单
有一组“简单”关键字,由一个单词组成
- 样式
重置|加粗|半透明|斜体|下划线|闪烁|反色|隐藏|删除线
- 撤销样式
!加粗| !半透明| !斜体| !下划线| !闪烁| !反色| !隐藏| !删除线
- 前景色
黑色|红色|绿色|黄色|蓝色|洋红色|青色|白色|默认
- 背景色
上-黑色|上-红色|上-绿色|上-黄色|上-蓝色|上-洋红色|上-青色|上-白色|上-默认
- 重置
{[]}
reset
与其他关键字略有不同,因为它为空。
复杂
更复杂的语法完全保留给颜色代码。
颜色可以是以下之一,可选地以'on-
'前缀表示背景色
u8
->(38|48);5;u8
u8,u8,u8
->(38|48);2;u8;u8;u8
并且,通过在前面加上#
来表示十六进制,但没有任何逗号
#u8
->(38|48);5;u8
#u8u8u8
->(38|48);2;u8;u8;u8
因此,一些示例颜色可以是
on-15
->48;5;15
15,115,215
->38;2;15;115;215
#0f
->38;5;15
on-#0f73d7
->48;2;15;115;215
待办事项
- 自定义代码
- 别名系统
- 构建 build-stream crate(也许)
- 创建 col_err(也许)