7 个不稳定版本
0.10.0 | 2023 年 8 月 1 日 |
---|---|
0.3.4 | 2020 年 8 月 10 日 |
0.2.4 | 2020 年 8 月 9 日 |
0.1.2 | 2020 年 7 月 25 日 |
5 在 #terminal-size 中排名
每月 116 次下载
用于 leanify-many
44KB
1K SLoC
Termprogress - 终端进度条
Rust 的简单可自定义终端进度条。
功能
- 可自定义,具有特质系统,允许传递任何类型的进度条
- 可选地使用 terminal_size 包来防止长标题溢出终端
- 接口,易于操作进度条
外观
50%,75% 和 100% 的进度条
[========================= ]: 50.00% some title
[===================================== ]: 75.00% some other title
[==================================================]: 100.00% some other title
4 阶段的旋转器
Some title /
Some title -
Some title \
Some title |
入门。
要快速使用默认的进度条和旋转器,您可以包含 prelude
use termprogress::prelude::*;
let mut progress = Bar::default(); // Create a new progress bar
progress.set_title("Work is being done...");
/// *does work*
progress.set_progress(0.25);
progress.set_progress(0.5);
progress.println("Something happened");
progress.set_progress(0.75);
progress.println("Almost done...");
progress.set_progress(1.0);
/// completes
progress.complete();
旋转器
use termprogress::prelude::*;
let mut spinner = Spin::default(); //Create a new spinner
/// *does work*
spinner.bump();
spinner.bump();
progress.println("Something happened");
spinner.bump();
spinner.bump();
/// completes
progress.complete_with("Done!");
默认功能
默认情况下,启用了 size
功能,它需要依赖项 terminal_size
。如果没有它,Bar
将不会尝试获取终端大小以防止溢出。您可以使用 default-features=false
来禁用它。
特质
该库提供了进度条的特质:ProgressBar
和 Spinner
。
这些特质的默认实现是 Bar
和 Spin
,但您也可以提供自己的实现以获得更多自定义性。
还有一个 Silent
,它实现了 ProgressBar
和 Spinner
,并且什么也不做,以便可以轻松地根据配置打开或关闭进度显示。
pub fn does_work<P: ProgressBar>(bar: &mut P)
{
//does work...
bar.set_progress(0.5);
//more work...
bar.set_progress(1.0);
}
does_work(&mut Bar::default());
does_work(&mut MyBar::new());
if NOPROGRESS {
does_wotk(&mut Silent)
} else {
does_work(&mut Bar::default())
}
许可
GPL 许可,爱心满满 <3
依赖项
~57–430KB