#spinner #terminal #shared #multiple

multi-spinner

一个简单的多线程终端旋转器

1 个不稳定版本

0.1.0 2024年1月23日

#19#spinner

MIT 许可证

11KB
179

multi-spinner

一个简单的使用共享 stdout 的终端旋转器库。

设置

将此内容添加到你的 toml 文件中

[dependencies]
multi-spinner = "0.1.0"

将此内容添加到你的代码中

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("");
}

如果你需要完全控制 stdout,你可以创建一个互斥的 arc

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

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

如果你想要的话,可以更改这个精彩的旋转器

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

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

依赖项

~1–6MB
~22K SLoC