#animation #spinner #console #loading #user-input #input-validation

zenity

100+ 个旋转动画和进度条,支持同时进行多个动画

27 个稳定版本

3.6.1 2024年6月28日
3.6.0 2024年6月8日
3.5.0 2024年5月1日
3.4.1 2024年4月24日
1.4.0 2024年4月9日

#151 in 命令行界面

Download history 598/week @ 2024-04-19 174/week @ 2024-04-26 23/week @ 2024-05-03 4/week @ 2024-05-17 1/week @ 2024-05-24 156/week @ 2024-06-07 6/week @ 2024-06-14 27/week @ 2024-06-21 131/week @ 2024-06-28 7/week @ 2024-07-05 153/week @ 2024-07-26 9/week @ 2024-08-02

162 每月下载量

自定义许可

165KB
2.5K SLoC

Zenity svg logo

另一个旋转库

使用 100+ 个旋转动画、进度条和多行支持升级您的 Rust CLI,包括用户输入验证、日志记录和自动需求检查

Publish to Crates Compile Rust Crates.io Version docs.rs
CodeFactor codecov badge

目录

概述

你是否经常发现自己凝视着终端的虚空,
想知道你的电脑是否在未通知你的情况下决定去喝杯咖啡?

100+ 个预定义动画

如何使用?

就像做派一样简单(或者甚至更简单,取决于你的做派技巧)!
按照以下步骤操作

cargo add zenity
// example/basic.rs

use std::thread::sleep;
use std::time::Duration;
use zenity::spinner::MultiSpinner;

fn main() {
    // create a LoadingAnimation instance using one of the predefined animations
    let spinner = MultiSpinner::default();
    sleep(Duration::from_secs(5));

    // optional:
    // set the text to "Loading..."
    spinner.set_text(&spinner.get_last(), "  Loading...".to_string());

    sleep(Duration::from_secs(500));
    // `loading_animation` will run out of scope now and get dropped,
    // thus the animation will stop and remove itself from the console
}

查看更多示例

[!注意] 该库已包含对 --color 的检查,遵循 Rain 的 Rust CLI 推荐 规范。

文档

文档您可以在 docs.rs 上在线访问最新 crate 的一般文档。
有关更详细的信息,请转到 模块部分

或者,您可以通过运行以下命令在本地查看文档

cargo doc --open -p zenity

提供的样式是 crossterm 的重导出,您可以在 此处 找到。

示例

要运行以下命令,可以运行以下命令来获取可以运行的示例列表

cargo run --example

贡献

欢迎贡献、错误报告、功能请求和建议!

如果您遇到任何问题或对改进有想法,请随时在 GitHub 上打开问题
也欢迎 拉取请求
如果您发现这个项目很有帮助或很有趣,请考虑在 GitHub 上给它加星。

感谢您的兴趣和贡献!

预览

progress bar

menu input preview

multiline preview

免责声明

现在,我们不会保证cli_loading_magic能解决您所有的问题。
我们无法保证它不会使您的终端崩溃或导致您的计算机长出腿来抗议。

但是,嘿,生活就是一场冒险,对吧?

拥抱混乱,享受旅程,并记住
如果其他方法都失败了,总是有 Ctrl+C。

鸣谢

没有以下项目的出色工作,这个项目不可能实现:

许可

本项目受 DWFYW 许可证的许可。

有关更多信息,请参阅 LICENSE 文件。

依赖项

~4–10MB
~91K SLoC