enquirer

Zulip Crates.io

Command line utility for stylish interactive prompts
(uses dialoguer underneath)

## Getting started Get started with Enquirer, the most powerful command line utility for creating interactive CLI prompts. * [Install](#install) * [Usage](#usage) * [Prompts](#prompts) * [About](#about) ## Install `enquirer` is available on Linux, macOS ### With [Homebrew](https://brew.sh/) ``` $ brew install termapps/tap/enquirer ``` This is recommended way for installation on macOS since updating to the new version is easy. ### With [cargo](https://crates.io/) ``` $ cargo install enquirer ``` ### Direct Pre-built binary executables are available at [releases page](https://github.com/termapps/enquirer/releases) for macOS (64bit), Linux (64bit, 32bit). Download and unarchive the binary then put the executable in `$PATH`. > Check [roadmap](#roadmap) for other ways ## Usage ### Command Line Utility The main reason I created this tool is to use it as an stylish interactive and user-friendly prompt for bash scripting. ```bash #!/bin/bash confirm=$(enquirer confirm -m "Do you want to continue?" -d) if [ "$confirm" = "true" ]; then echo "Continuing ..." else echo "Thanks for using this tool. Quitting ..." exit fi ``` See [prompts](#prompts) for more information on subcommands. ``` enquirer 0.5.1 Command Line Utility for Stylish Interactive Prompts USAGE: enquirer [FLAGS] FLAGS: -h, --help Prints help information --no-color Disable colors in the prompt -V, --version Prints version information SUBCOMMANDS: confirm Prompt that returns `true` or `false` (as strings) help Prints this message or the help of the given subcommand(s) input Prompt that takes user input and returns a string multi-select Prompt that allows the user to select multiple items from a list of options secret Prompt that takes user input, hides it from the terminal, and returns a string select Prompt that allows the user to select from a list of options sort Prompt that allows the user to sort items in a list ``` ## Prompts * [Confirm Prompt](#confirm-prompt) * [Input Prompt](#input-prompt) * [Secret Prompt](#secret-prompt) * [Select Prompt](#select-prompt) * [Multi Select Prompt](#multi-select-prompt) * [Sort Prompt](#sort-prompt) ### Confirm Prompt Prompt that returns `true` or `false` (as strings)

Enquirer Confirm Prompt

#### Usage ``` enquirer-confirm 0.5.1 Prompt that returns `true` or `false` (as strings) USAGE: enquirer confirm [FLAGS] --message FLAGS: -c, --cancel Makes the prompt cancellable with 'Esc' or 'q' -d, --default Sets the default value for the prompt as `true` -h, --help Prints help information OPTIONS: -m, --message Message for the prompt ``` ### Input Prompt Prompt that takes user input and returns a string

Enquirer Input Prompt

#### Usage ``` enquirer-input 0.5.1 Prompt that takes user input and returns a string USAGE: enquirer input [FLAGS] [OPTIONS] --message FLAGS: -a, --allow-empty Allow empty input. Conflicts with `default` -h, --help Prints help information OPTIONS: -d, --default Default value for the prompt -m, --message Message for the prompt ``` ### Secret Prompt Prompt that takes user input, hides it from the terminal, and returns a string

Enquirer Secret Prompt

#### Usage ``` enquirer-secret 0.5.1 Prompt that takes user input, hides it from the terminal, and returns a string USAGE: enquirer secret [FLAGS] [OPTIONS] --message FLAGS: -a, --allow-empty Allow empty secret -h, --help Prints help information OPTIONS: -c, --confirm Enable confirmation prompt with this message -e, --error Error message when secrets doesn't match during confirmation -m, --message Message for the prompt ``` ### Select Prompt Prompt that allows the user to select from a list of options

Enquirer Select Prompt

#### Usage ``` enquirer-select 0.5.1 Prompt that allows the user to select from a list of options USAGE: enquirer select [FLAGS] [OPTIONS] --message [items]... FLAGS: -c, --cancel Makes the prompt cancellable with 'Esc' or 'q' -h, --help Prints help information -i, --index Returns index of the selected item instead of item itself OPTIONS: -m, --message Message for the prompt -s, --selected Specify number of the item that will be selected by default ARGS: ... Items that can be selected ``` ### Multi Select Prompt Prompt that allows the user to select multiple items from a list of options

Enquirer Multi Select Prompt

#### Usage ``` enquirer-multi-select 0.5.1 Prompt that allows the user to select multiple items from a list of options USAGE: enquirer multi-select [FLAGS] [OPTIONS] --message [--] [items]... FLAGS: -c, --cancel Makes the prompt cancellable with 'Esc' or 'q' -h, --help Prints help information -i, --index Returns index of the selected items instead of items itself --no-inline Do not print the selected items on the prompt line -d, --default Makes the prompt return default values as given if --cancel option is present OPTIONS: -m, --message Message for the prompt -s, --selected ... Specify numbers of items that will be selected by default ARGS: ... Items that can be selected ``` ### Sort Prompt Prompt that allows the user to sort items in a list

Enquirer Sort Prompt

#### Usage ``` enquirer-sort 0.5.1 Prompt that allows the user to sort items in a list USAGE: enquirer sort [FLAGS] --message [items]... FLAGS: -c, --cancel Makes the prompt cancellable with 'Esc' or 'q' -h, --help Prints help information -i, --index Returns index of the sorted items instead of items itself --no-inline Do not print the sorted items on the prompt line -d, --default Makes the prompt return default order as given if --cancel option is present OPTIONS: -m, --message Message for the prompt ARGS: ... Items that can be sorted ``` ## About ### Roadmap * [Man page generation](https://github.com/clap-rs/clap/issues/552) * Packaging for other operating systems * [Auto Complete prompt](https://github.com/enquirer/enquirer#autocomplete-prompt) (like fzf) * [Snippet Prompt](https://github.com/enquirer/enquirer#snippet-prompt) * [Export hooks for Clap](https://github.com/clap-rs/clap/issues/1471) #### Dialoguer issues * Select and Multi-Select prompts cursors are after the items list while waiting for user. Maybe change them to be on prompt line. ### Changelog Please see [CHANGELOG.md](CHANGELOG.md). ### License MIT/X11 ### Bug Reports Report [here](http://github.com/termapps/enquirer/issues). ### Creator Pavan Kumar Sunkara (pavan.sss1991@gmail.com) Follow me on [github](https://github.com/users/follow?target=pksunkara), [twitter](http://twitter.com/pksunkara)