| Crates.io | inquire |
| lib.rs | inquire |
| version | 0.9.2 |
| created_at | 2021-06-24 03:17:32.838351+00 |
| updated_at | 2026-01-17 19:50:51.277015+00 |
| description | inquire is a library for building interactive prompts on terminals |
| homepage | https://github.com/mikaelmello/inquire |
| repository | https://github.com/mikaelmello/inquire |
| max_upload_size | |
| id | 414237 |
| size | 524,941 |
inquire is a library for building interactive prompts on terminals.
It provides several different prompts in order to interactively ask the user for information via the CLI. With inquire, you can use:
Text to get text input from the user, with built-in autocompletion support;Editor* to get longer text inputs by opening a text editor for the user;DateSelect* to get a date input from the user, selected via an interactive calendar;Select to ask the user to select one option from a given list;MultiSelect to ask the user to select an arbitrary number of options from a given list;Confirm for simple yes/no confirmation prompts;CustomType for text prompts that you would like to parse to a custom type, such as numbers or UUIDs;Password for secretive text prompts.Text prompts;MultiSelect prompts;Confirm and CustomType prompts;Editor prompts;Put this line in your Cargo.toml, under [dependencies].
inquire = "0.9.2"
* This prompt type is gated under a feature flag, e.g.:
inquire = { version = "0.9.2", features = ["date", "editor"] }
For enum types, you can use the Selectable derive macro from the inquire-derive crate to automatically generate Select and MultiSelect prompts:
Add this to your Cargo.toml:
inquire = "0.9.2"
inquire-derive = "0.9.0"
#[derive(Debug, Copy, Clone, Selectable)]
enum Color {
Red,
Green,
Blue,
}
fn main() -> InquireResult<()> {
let color = Color::select("Choose a color:").prompt()?;
Ok(())
}