Initial vendor packages
Signed-off-by: Valentin Popov <valentin@popov.link>
This commit is contained in:
41
vendor/indicatif/examples/cargowrap.rs
vendored
Normal file
41
vendor/indicatif/examples/cargowrap.rs
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
use std::io::{BufRead, BufReader};
|
||||
use std::process;
|
||||
use std::time::{Duration, Instant};
|
||||
|
||||
use indicatif::{HumanDuration, ProgressBar, ProgressStyle};
|
||||
|
||||
pub fn main() {
|
||||
let started = Instant::now();
|
||||
|
||||
println!("Compiling package in release mode...");
|
||||
|
||||
let pb = ProgressBar::new_spinner();
|
||||
pb.enable_steady_tick(Duration::from_millis(200));
|
||||
pb.set_style(
|
||||
ProgressStyle::with_template("{spinner:.dim.bold} cargo: {wide_msg}")
|
||||
.unwrap()
|
||||
.tick_chars("/|\\- "),
|
||||
);
|
||||
|
||||
let mut p = process::Command::new("cargo")
|
||||
.arg("build")
|
||||
.arg("--release")
|
||||
.stderr(process::Stdio::piped())
|
||||
.spawn()
|
||||
.unwrap();
|
||||
|
||||
for line in BufReader::new(p.stderr.take().unwrap()).lines() {
|
||||
let line = line.unwrap();
|
||||
let stripped_line = line.trim();
|
||||
if !stripped_line.is_empty() {
|
||||
pb.set_message(stripped_line.to_owned());
|
||||
}
|
||||
pb.tick();
|
||||
}
|
||||
|
||||
p.wait().unwrap();
|
||||
|
||||
pb.finish_and_clear();
|
||||
|
||||
println!("Done in {}", HumanDuration(started.elapsed()));
|
||||
}
|
Reference in New Issue
Block a user