8 个版本
0.3.1 | 2022年6月8日 |
---|---|
0.3.0 | 2020年2月6日 |
0.2.0 | 2019年12月14日 |
0.1.5 | 2018年7月29日 |
0.1.4 | 2018年5月31日 |
#484 in 命令行界面
36,356 每月下载量
在 31 个 crate(27 个直接使用) 中使用
19KB
281 行
promptly
一个简单、有见解的提示库
特性包括
- 重新提示直到有效
- 支持多种类型的提示,并可扩展
- 通过 rustyline 合理处理转义字符
- 提示路径时支持路径完成
- 非常简单易用。也许太简单了。
用法
只需调用 prompt
或 prompt_default
来提示任何 Promptable
类型
prompt(msg)
- 提示直到输入可以解析为推断的返回类型。如果输入为空,则重新提示。prompt_opt(msg)
- 提示直到输入可以解析为推断的返回类型。如果输入为空,则返回None
。prompt_default(msg, default)
- 提示直到输入可以解析为推断的返回类型。如果输入为空,则使用default
中的值。
use promptly::{prompt, prompt_default, prompt_opt};
// Prompt until a non-empty string is provided
let name: String = prompt("Enter your name")?;
// Prompt for other `FromStr` types
let age: u32 = prompt("Enter your age")?;
// Prompt for optional paths with path completion. Returns `None` if empty input.
let photo: Option<PathBuf> = prompt_opt("Enter a path to a profile picture")?;
// Prompt Y/n with a default value when input is empty
let fallback = prompt_default("Would you like to receive marketing emails", true);
// Prompt for a url using the url crate (requires either 'nightly' or 'url' feature)
let website: Url = prompt("Enter a website URL");
更多...
此 crate 的 API 接口具有见解且为实验性,但欢迎新想法。
依赖关系
~5–14MB
~179K SLoC