1 个不稳定版本
0.1.0 | 2023年5月30日 |
---|
#18 in #input-validation
410KB
1.5K SLoC
Rust 的交互式 CLI 提示
创建类似于 GitHub CLI 工具中的交互式输入提示。
功能
- 跨平台;
- 仅有一个依赖项 - crossterm;
- 4 个内置提示
- 普通输入字段。支持输入验证和默认值;
- 确认 y/n;
- 从选项列表中选择;
- 多选。
- 自定义提示的颜色和文本样式;
- 一组特性和辅助结构体,允许您为应用程序实现自定义提示;
入门指南
更多详细示例可以在 示例目录 中找到。
use cli_prompts::{
prompts::{Input, AbortReason},
DisplayPrompt
}
fn show_input_prompt() {
let name : Result<String, AbortReason> = Input::new("Enter your name", name_validation)
.default_value("John")
.help_message("Please provide your real name")
.display();
match name {
Ok(n) => println!("The name is {}", n),
Err(abort_reason) => println!("Input was aborted because of {:?}", abort_reason),
}
}
fn name_validation(name: &str) -> Result<String, String> {
if name.len() > 0 {
Ok(name.to_string())
} else {
Err("Name must not be empty".into())
}
}
许可证
该项目,cli_prompts,根据 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE 文件。
依赖项
~1–12MB
~82K SLoC