#visual #task #indicator #terminal

过程

过程允许在 stdout 中以视觉方式向最终用户指示任务执行。

4 个版本 (2 个破坏性版本)

0.3.0 2019 年 12 月 6 日
0.2.1 2019 年 11 月 11 日
0.2.0 2019 年 11 月 11 日
0.1.0 2019 年 11 月 11 日

466可视化

MIT 许可证

9KB
126

过程

过程允许在 stdout 中以视觉方式向最终用户指示任务执行。

此功能旨在用作命令行显示。

Sample Image

功能

  • 填充动作显示(类似于 rust 编译器 / cargo)。
  • 彩色输出(黄色 = 运行中,绿色 = 成功,红色 = 失败)。
  • 为任务提供描述。
  • 根据需要显示百分比进度指示(屏幕更新)。

示例

let a = proceed("Download", "example_file.jpg", |progress: &mut Progress| -> Result<(&str, &str), &str> {
    for _ in 0..100 {
        std::thread::sleep(std::time::Duration::from_millis(10));
        progress.increment(1);
    }
    Ok(("256KB", "example_file.jpg [256 KB]"))
});
assert_eq!(a.unwrap(), "256KB");
let b = proceed("Download", "some_other.zip", |progress: &mut Progress| -> Result<(&str, &str), &str> {
    let min = 500;
    let max = 1000;
    for i in min..max {
        std::thread::sleep(std::time::Duration::from_millis(5));
        progress.set_from(min, max, i);
        if i == 975 {
            return Err("some_other.zip [Failed]");
        }
    }
    Ok(("1MB", "some_other.zip [1 MB]"))
});
assert_eq!(b.unwrap_err(), "some_other.zip [Failed]");

依赖关系

~91KB