3 个版本

0.1.2 2019 年 1 月 5 日
0.1.1 2019 年 1 月 5 日
0.1.0 2019 年 1 月 5 日

#609 in 命令行界面

MIT 许可证

47KB
605

Build Status Crate version

mimi 是一个库,允许用户控制终端程序部分格式。主要用例是用于 catgirl 命令行 mpd 客户端,但当然也欢迎其他用法。

A demo of mimi formatting

语法

使用类似 shell 的 $foo 语法包含变量。变量名可以包含 a-zA-Z0-9_(仅 ASCII 字符)。${foo}bar 是有效的语法,解析为一个名为 'foo' 的变量,紧随其后的是文本 bar

样式化部分看起来像 %[bold, red, bg_blue]{foo bar baz}。样式信息位于方括号之间。有效的样式名称是

  • 颜色 blackwhiteredgreenyellowbluemagentacyan,以及 light_blacklight_white 等,表示对应文本的颜色。
  • 任何以 bg_ 前缀的颜色(例如,bg_yellowbg_light_blue),用于设置背景颜色。
  • resetbg_reset,用于将前景/背景颜色设置为终端的默认值。
  • boldunderline

在样式部分中可以有多个样式,因此 %[bold, red, bg_blue]{foo bar baz} 是有效的,尽管可能刺眼。样式部分可以嵌套。

输出

米米支持使用 termion 输出与 xterm 兼容的 ANSI 代码,如果启用(默认禁用)to_tui 功能,您将能够调用 style.into() 以获取 tui::style::Style 的实例。

演示

位于 src/examples/demo.rs 的演示二进制文件允许您尝试米米格式。运行方式如下:

cargo run --example demo -- -f "foo is %[bold]{\$foo}" foo=bar

名字里有什么含义吗?

“猫耳”是日语中指“长着猫耳的人”的意思,其中“猫”意味着“猫”,“耳”意味着“耳朵”。

依赖项

约 2.3–3.5MB
约 68K SLoC