Skip to content

Simple terminal spinners that allows using a shared stdout.

License

Notifications You must be signed in to change notification settings

rtc11/multi-spinner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

multi-spinner

A simple terminal spinner library that uses a shared stdout.

setup

Smack this into your toml

[dependencies]
multi-spinner = "0.1.0"

Throw this on your code

use std::{thread, time::Duration};
use multi_spinner::{Spinner, spinners::Animation};

fn main() {
    let mut spinner = Spinner::builder()
        .msg("awesome".into())
        .start();

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

    spinner.stop().expect("");
}

If you need full control over stdout, you can create a mutexed arc

    let stdout = Arc::new(Mutex::new(stdout()));

    let mut spinner = Spinner::builder()
        .stdout(stdout)
        .msg("splendid".into())
        .start();

You can if you want to, change the awesome spinner

    let mut spinner = Spinner::builder()
        .spinner(Animation::Bars10(0))
        .build();

    spinner.start() // <-- in case you need to await the start

About

Simple terminal spinners that allows using a shared stdout.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages