#progress #progress-bar #cli #unicode #indicator #set #display

yapb

轻量级、纯净且无偏见的 Unicode 进度可视化

7 个版本

使用旧的 Rust 2015

0.3.2 2018 年 11 月 4 日
0.3.1 2018 年 1 月 1 日
0.2.0 2017 年 12 月 30 日
0.1.2 2017 年 12 月 27 日

#857命令行界面

26 每月下载量

Apache-2.0

16KB
312

又一个进度条

此库提供了用于渲染进度指示器和相关信息的轻量级工具。与大多数类似库不同,它内部不执行任何 I/O 操作,而是提供 Display 实现。处理任何特定输出设备的细节留给用户处理。

示例

可以使用 termion crate 在 ANSI 终端上实现良好的行为

extern crate yapb;
extern crate termion;
use std::{thread, time};
use std::io::{self, Write};
use yapb::{Bar, Progress};

fn main() {
  let mut bar = Bar::new();
  print!("{}", termion::cursor::Save);
  for i in 0..100 {
    bar.set(i as f32 / 100.0);
    let (width, _) = termion::terminal_size().unwrap();
    print!("{}{}[{:width$}]",
           termion::clear::AfterCursor, termion::cursor::Restore,
           bar, width = width as usize - 2);
    io::stdout().flush().unwrap();
    thread::sleep(time::Duration::from_millis(100));
  }
}

无运行时依赖