23 个版本 (11 个破坏性更新)
0.11.0-beta | 2022 年 2 月 28 日 |
---|---|
0.9.1-beta | 2022 年 2 月 20 日 |
#703 in 命令行界面
38KB
758 行
stati
Rust 进度条库
警告
此 crate 仍在开发中,尽管应该可以正常使用,但任何时间都可能出现变化
crate 功能
- 公平性
- 启用使用
parking_lot
的FairMutex
- (增加一些开销但可能解决一些问题?)
- 启用使用
- 夜间
- 启用使用 nighlty rust (generic_associated_types) 进行一些额外优化
安装
将此行添加到您的 Cargo.toml
stati = "0.11.0-beta"
使用
这是一个创建和进度条进度简单示例
use std::thread;
extern crate stati;
use stati::prelude::*;
use stati::BarManager;
let mut manager = BarManager::new();
let mut bar = manager.register(bars::SimpleBar::new(&"Working...", 100));
for i in 0..=100 {
bar.bar().set_progress(i);
manager.print();
thread::sleep_ms(100);
}
要使用进度条打印文本,请使用 println
和 print
宏,如下所示
let mut manager = BarManager::new();
stati::println!(manager, "Made some progress");
为什么?
我过去使用的许多进度条都存在一些问题,如不能同时有多个进度条,或者在进度条运行时不能打印其他消息。这个 crate 旨在解决所有这些问题,并且通常使使用更加愉快。
许可证
MIT,请参阅 LICENSE
待办事项
- 添加有趣的 spini spinner wheeeeeeeeeeeeeeeeee
- 非夜间支持
- 添加可选的夜间功能
- 添加构建模式支持以制作进度条
- 多线程!
- Windows 支持
- 改进文档
- 改进测试
- 改进示例
- 更好的迭代跟踪
- 创建类似于 indicatif 的字符串格式化条
- 更新以使用 Vec::drain_filter 一旦稳定化
- 使条使用更好的格式化
依赖关系
~0.4–5.5MB
~12K SLoC