Expand description
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.
Check out the GitHub repository to see demos of what you can do with inquire
.
§Features
- Cross-platform, supporting UNIX and Windows terminals (thanks to crossterm);
- Several kinds of prompts to suit your needs;
- Standardized error handling (thanks to thiserror);
- Support for fine-grained configuration for each prompt type, allowing you to customize:
- Default values;
- Input validators and formatters;
- Help messages;
- Autocompletion for
Text
prompts; - Custom list filters for Select and
MultiSelect
prompts; - Custom parsers for
Confirm
andCustomType
prompts; - Custom extensions for files created by
Editor
prompts; - and many others!
* Date-related features are available by enabling the date
feature.
Re-exports§
pub use crate::autocompletion::Autocomplete;
pub use crate::error::CustomUserError;
pub use crate::error::InquireError;
Modules§
- autocompletion
- Trait and structs used by prompts to provide autocompletion features.
- error
- Definitions of
inquire
’s error handling - formatter
- Type aliases and default implementations for functions called as formatters of a given input.
- list_
option - Utilities used to wrap user selections in Select and
MultiSelect
prompts. - parser
- Type aliases and default implementations for parsers called in prompts
that need to parse user input, such as Confirm or
CustomType
. - type_
aliases - General type aliases.
- ui
- UI-related definitions for rendered content.
- validator
- Traits and structs used by prompts to validate user input before returning the values to their callers.
Macros§
- length
- Shorthand for the built-in
ExactLengthValidator
that checks whether the answer length is equal to the specified value. - max_
length - Shorthand for the built-in
MaxLengthValidator
that checks whether the answer length is smaller than or equal to the specified threshold. - min_
length - Shorthand for the built-in
MinLengthValidator
that checks whether the answer length is larger than or equal to the specified threshold. - parse_
type - Built-in parser creator that checks whether the answer is able to be successfully
parsed to a given type, such as
f64
. The given type must implement the FromStr trait. - required
- Shorthand for the built-in
ValueRequiredValidator
that checks whether the answer is not empty.
Structs§
- Multi
Select - Prompt suitable for when you need the user to select many options (including none if applicable) among a list of them.
Functions§
- set_
global_ render_ config - Acquires a write lock to the global RenderConfig object and updates the inner value with the provided argument.