2 个版本
0.1.1 | 2023 年 4 月 5 日 |
---|---|
0.1.0 | 2023 年 4 月 5 日 |
695 在 命令行界面
24 每月下载量
用于 2 crates
315KB
2K SLoC
Asky
Ansi + ask + yes = Asky
终端的美观提示。
用法
首先,这是一个库,所以你需要将其添加到你的项目中
cargo add asky
然后,你可以 查看文档。
示例
确认
代码
use asky::Confirm;
fn main() -> std::io::Result<()> {
if Confirm::new("Do you like coffe?").prompt()? {
println!("Great, me too!");
}
// ...
Ok(())
}
切换
代码
use asky::Toggle;
fn main() -> std::io::Result<()> {
let tabs = Toggle::new("Which is better?", ["Tabs", "Spaces"]).prompt()?;
println!("Great choice");
// ...
Ok(())
}
文本
代码
use asky::Text;
fn main() -> std::io::Result<()> {
let color = Text::new("What's your favorite color?").prompt()?;
println!("{color} is a beautiful color");
// ...
Ok(())
}
数字
代码
use asky::Number;
fn main() -> std::io::Result<()> {
let age: = Number::<u8>::new("How old are you?").prompt()?;
if let Ok(age) = Number::<u8>::new("How old are you?").prompt()? {
if age <= 60 {
println!("Pretty young");
}
}
// ...
Ok(())
}
密码
代码
use asky::Password;
fn main() -> std::io::Result<()> {
let password = Password::new("What's your IG password?").prompt()?;
if password.len() >= 1 {
println!("Ultra secure!");
}
// ...
Ok(())
}
选择
代码
use asky::Select;
fn main() -> std::io::Result<()> {
let choice = Select::new("Choose number", 1..=30).prompt()?;
println!("{choice}, Interesting choice");
// ...
Ok(())
}
多选
代码
use asky::MultiSelect;
fn main() -> std::io::Result<()> {
let opts = ["Dog", "Cat", "Fish", "Bird", "Other"];
let choices = MultiSelect::new("What kind of pets do you have?", opts).prompt()?;
if choices.len() > 2 {
println!("So you love pets");
}
// ...
Ok(())
}
提及
灵感来源于
替代方案
许可证: MIT
依赖关系
~2–12MB
~75K SLoC