ttycarousel

Crates.iottycarousel
lib.rsttycarousel
version0.1.4
sourcesrc
created_at2022-04-21 01:31:34.768219
updated_at2022-04-21 19:23:13.177277
descriptionConsole animations for Rust
homepage
repositoryhttps://github.com/divi255/ttycarousel
max_upload_size
id571286
size2,929,568
YB (yblokh)

documentation

README

ttycarousel - Console animations for Rust

This crate provides a simple carousel animation for console, to ensure your users do not get bored and do not think that the program is dead.

Crate: https://crates.io/crates/ttycarousel

Sync programs

Add to Cargo.toml:

[dependencies]
ttycarousel = { version = "*", features = ["sync"] }

Simple

use std::time::Duration;

ttycarousel::spawn0("working");
std::thread::sleep(Duration::from_secs(2));
ttycarousel::stop();
println!("work completed!");

With options

use std::time::Duration;

ttycarousel::spawn(
    "working",
    ttycarousel::Options::new()
        .speed(50)
        .color(ttycarousel::Color::Yellow)
        .bold(),
);
std::thread::sleep(Duration::from_secs(2));
ttycarousel::stop();

Async (Tokio)

Add to Cargo.toml:

[dependencies]
ttycarousel = { version = "*", features = ["tokio1"] }

Async example:

use std::time::Duration;

async fn task1() {
    ttycarousel::tokio1::spawn(
        "working",
        ttycarousel::Options::new()
            .speed(50)
            .color(ttycarousel::Color::Yellow)
            .bold(),
    ).await;
    //ttycarousel::tokio1::spawn0("working").await; // with defaults
    tokio::time::sleep(Duration::from_secs(2)).await;
    ttycarousel::tokio1::stop().await;
    println!("work completed!");
}

P.S.

Yep, I had nothing to do.

Commit count: 14

cargo fmt