Rust 写脚手架,Clap你应该知道的二三事( 五 )


Rust 写脚手架,Clap你应该知道的二三事

文章插图
图片
这样,不管我们上面那种情况,我们最后都可以拿到对应的值 。这样我们方便我们后期进行其他操作 。
5. 其他有用的库上面我们通过几个例子,讲了很多clap的应用例子 , 其中我们还配合dialoguer进行人机交互的处理 。如果我们想实现功能更加强大的cli我们还可以借助其他的工具 。下面我们就来简单介绍几种 。
Crosstermcrossterm[9] 是一款跨终端的crate 。它具有各种很酷的功能,如能够更改背景和文本颜色、操作终端本身和光标 , 以及捕获键盘和其他事件 。
Rust 写脚手架,Clap你应该知道的二三事

文章插图
图片
comfy-tablecomfy-table[10] 是一个设计用于在终端中创建漂亮表格的 crate 。
以下是其官网的案例 。用仅仅几句话就可以实现一个在终端展示的表格 。
use comfy_table::Table;fn main() {let mut table = Table::new();table.set_header(vec!["Header1", "Header2", "Header3"]).add_row(vec!["This is a text","This is another text","This is the third text",]).add_row(vec!["This is another text","Nownadd somenmulti line stuff","This is awesome",]);println!("{table}");}执行后的效果如下:
+----------------------+----------------------+------------------------+| Header1| Header2| Header3|+======================================================================+| This is a text| This is another text | This is the third text ||----------------------+----------------------+------------------------|| This is another text | Now| This is awesome||| add some|||| multi line stuff||+----------------------+----------------------+------------------------+inquireinquire[11] 是一个用于构建终端上交互式提示的 crate 。它支持单选、多选、选择日历等功能:
下面的动图是其官网的案例 。其中最吸引我的就是那个多选 。哈哈 。
Rust 写脚手架,Clap你应该知道的二三事

文章插图
图片




推荐阅读