termspin 0.1.0

A terminal spinner library.
Documentation
use std::{io::stdout, thread, time::Duration};

use termspin::{spinner, Line, Loop};

fn main() {
    let task = Line::new(spinner::dots()).with_text("waiting ...").shared();

    let spin_loop = Loop::new(Duration::from_millis(100), task.clone());

    spin_loop.spawn_stream(stdout());

    thread::sleep(Duration::from_secs(2));

    task.lock().set_text("stopped.");

    spin_loop.stop();

    thread::sleep(Duration::from_secs(1));

    task.lock().set_text("waiting again ...");

    spin_loop.clear_stream(stdout()).unwrap();
    spin_loop.spawn_stream(stdout());

    thread::sleep(Duration::from_secs(2));

    println!();
}