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 命令行界面

Download history 13447/week @ 2024-03-03 13723/week @ 2024-03-10 13189/week @ 2024-03-17 10599/week @ 2024-03-24 10798/week @ 2024-03-31 11787/week @ 2024-04-07 11462/week @ 2024-04-14 11012/week @ 2024-04-21 10212/week @ 2024-04-28 10831/week @ 2024-05-05 10225/week @ 2024-05-12 11686/week @ 2024-05-19 8921/week @ 2024-05-26 9219/week @ 2024-06-02 9549/week @ 2024-06-09 8042/week @ 2024-06-16

36,356 每月下载量
31 个 crate(27 个直接使用) 中使用

MIT 许可证

19KB
281

promptly

一个简单、有见解的提示库

特性包括

  • 重新提示直到有效
  • 支持多种类型的提示,并可扩展
  • 通过 rustyline 合理处理转义字符
  • 提示路径时支持路径完成
  • 非常简单易用。也许太简单了。

用法

只需调用 promptprompt_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