2个版本
使用旧版Rust 2015
0.1.1 | 2017年9月3日 |
---|---|
0.1.0 | 2017年6月29日 |
#8 in #bars
在 pijul 中使用
5KB
59 行
Rust CLI程序的Git-like进度条
一个小型库,用于在终端程序中显示类似Git的进度条。
作者认为,Git操作(如clone和pull)的输出既不太少也不太多——恰到好处。特别是,对于可能长时间运行的网络操作,显示进度是很有必要的。
待办事项
- 将吞吐量添加到进度中
示例
remote: Counting objects: 218676, done.
remote: Compressing objects: 100% (58659/58659), done.
remote: Total 218676 (delta 162851), reused 213808 (delta 158032)
Receiving objects: 100% (218676/218676), done.
Resolving deltas: 100% (162851/162851), done.
lib.rs
:
progrs:一个用于在终端程序中显示进度的小型库
目前有一些库可以用于进度显示,但作者认为这些库做的是“几乎”正确的——要么它们占据了太多的屏幕空间(没有坚持每件应该使用进度的事情占用一行),要么它们尝试左右对齐内容。
在作者谦逊的意见中,信息量与屏幕空间之间的最佳示例是Git进度输出(在克隆、拉取等操作时)。它使用每件东西一行,并且可能显示完成百分比(在已知的情况下)甚至吞吐量(对于网络传输)。
此库模仿Git显示进度的方法。
示例
let (mut n, nobjects) = (0, 218676);
let mut p = progrs::start("Collecting objects", Some(nobjects));
while n < nobjects {
n += collect_more_objects();
p.display(n);
}
p.stop("done");
这将产生以下输出
Collecting objects: 100% (218676/218676), done.
待办事项
- 将吞吐量显示添加到
Progress