12 stable releases

2.2.0 Apr 20, 2025
2.1.1 Nov 11, 2023
2.0.2 Nov 26, 2022
1.0.5 Dec 5, 2019
1.0.2 Jul 31, 2017

#80 in Command line utilities

Download history 3375/week @ 2025-02-01 3598/week @ 2025-02-08 3200/week @ 2025-02-15 3024/week @ 2025-02-22 2484/week @ 2025-03-01 2591/week @ 2025-03-08 2690/week @ 2025-03-15 2262/week @ 2025-03-22 2784/week @ 2025-03-29 1901/week @ 2025-04-05 2370/week @ 2025-04-12 2342/week @ 2025-04-19 2142/week @ 2025-04-26 1968/week @ 2025-05-03 2154/week @ 2025-05-10 1383/week @ 2025-05-17

7,984 downloads per month
Used in 50 crates (34 directly)

Apache-2.0

8KB
53 lines

This library makes it easy to prompt for input in a console application on all platforms, Unix and Windows alike.

Here's how you can prompt for a reply:

let name = rprompt::prompt_reply("What's your name? ").unwrap();
println!("Your name is {}", name);

Alternatively, you can read the reply without prompting:

let name = rprompt::read_reply().unwrap();
println!("Your name is {}", name);

If you need more control over the source of the input, which can be useful if you want to unit test your CLI or handle pipes gracefully, you can use from_bufread versions of the functions and pass any reader you want:

let stdin = std::io::stdin();
let stdout = std::io::stdout();
let name = rprompt::prompt_reply_from_bufread(&mut stdin.lock(), &mut stdout.lock(), "What's your name? ").unwrap();
println!("Your name is {}", name);

Rustastic Prompt

rprompt makes it easy to prompt for input in a console application on all platforms, Unix and Windows alike.

rprompt is made available free of charge. You can support its development through Liberapay 💪

Usage

Add rprompt as a dependency in Cargo.toml:

[dependencies]
rprompt = "2.2"

See examples and docs at https://docs.rs/rprompt.

License

The source code is released under the Apache 2.0 license.

Dependencies

~0–7.5MB
~54K SLoC