13 个版本 (7 个破坏性更新)
0.8.0 | 2023 年 8 月 4 日 |
---|---|
0.7.0 | 2023 年 1 月 29 日 |
0.6.0 | 2023 年 1 月 2 日 |
0.5.4 | 2022 年 9 月 11 日 |
0.5.3 | 2022 年 7 月 31 日 |
#59 in 命令行界面
每月 4,523 次下载
用于 37 个 crate(直接使用 31 个)
49KB
728 行
spinoff
一个易于使用且健壮的库,用于在终端显示旋转指示器
🔨 安装
将依赖项添加到您的 Cargo.toml
[dependencies]
spinoff = "0.8.0"
⚡ 使用
use spinoff::{Spinner, spinners, Color};
use std::thread::sleep;
use std::time::Duration;
let mut spinner = Spinner::new(spinners::Dots, "Loading...", Color::Blue);
sleep(Duration::from_secs(3));
spinner.success("Done!");
更新旋转指示器
use spinoff::{Spinner, spinners, Color};
use std::thread::sleep;
use std::time::Duration;
let mut spinner = Spinner::new(spinners::Aesthetic, "Loading...", Color::Red);
sleep(Duration::from_secs(3));
spinner.update(Spinners::Dots2, "Retrying...", None);
sleep(Duration::from_secs(3));
spinner.stop()
指定输出流
use spinoff::{Spinner, spinners, Color, Streams};
use std::thread::sleep;
use std::time::Duration;
let mut spinner = Spinner::new_with_stream(spinners::Line, "Loading...", Color::Yellow, Streams::Stderr);
sleep(Duration::from_secs(3));
spinner.stop_and_persist("📜", "Task done.");
💫 旋转指示器
spinoff
默认包含 80 多种旋转指示器变体。所有旋转指示器变体都被视为可以启用或禁用的功能。为了方便使用,默认情况下都启用。要禁用/启用变体,您需要编辑您的 cargo.toml
文件。
[dependencies]
spinoff = { version = "0.8.0", features = ["dots", "arc", "line"] }
欢迎对新旋转指示器变体的建议。
创建您自己的旋转指示器
您可以使用 spinner!
宏创建自己的旋转指示器。
use spinoff::*;
use std::thread::sleep;
use std::time::Duration;
let frames = spinner!([">", ">>", ">>>"], 100);
let mut sp = Spinner::new(frames, "Hello World!", None);
sleep(Duration::from_millis(800));
sp.stop();
❗Windows 用户注意事项
为了正确显示颜色,您需要向您的代码中添加几行额外的代码。
use colored::control
control::enable_virtual_terminal(true).unwrap();
📖 文档
- 所有相关文档都可以在 Docs.rs 页面 上找到。
- 如果您想查看所有可用的
spinner
选项,请参阅spinner
模块。
⚙ 示例
cargo run --example simple
cargo run --example stream
cargo run --example stop_and_persist
其他示例可以在 文档 中找到。
🚧 贡献
非常欢迎对该 crate 的任何贡献。如果您有任何想法/建议/错误修复,请打开一个 问题 或一个 拉取请求。如果您喜欢这个项目,请 在 GitHub 上 star 这个项目。
📑 许可证
该项目受 MIT 许可证 的约束。
依赖项
~0–9.5MB
~43K SLoC