8 releases (4 breaking)
0.6.1 | Feb 17, 2022 |
---|---|
0.6.0 | Feb 13, 2022 |
0.5.1 | Oct 9, 2021 |
0.5.0 | Oct 18, 2020 |
0.2.0 | Jan 17, 2020 |
#870 in Development tools
Used in gitmoji
21KB
302 lines
enquirer
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
enquirer
is available on Linux, macOS
With Homebrew
$ brew install termapps/tap/enquirer
This is recommended way for installation on macOS since updating to the new version is easy.
With cargo
$ cargo install enquirer
Direct
Pre-built binary executables are available at releases page for macOS (64bit), Linux (64bit, 32bit).
Download and unarchive the binary then put the executable in $PATH
.
Check 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.
#!/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 for more information on subcommands.
enquirer 0.5.1
Command Line Utility for Stylish Interactive Prompts
USAGE:
enquirer [FLAGS] <SUBCOMMAND>
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
Prompt that returns true
or false
(as strings)
Usage
enquirer-confirm 0.5.1
Prompt that returns `true` or `false` (as strings)
USAGE:
enquirer confirm [FLAGS] --message <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> Message for the prompt
Input Prompt
Prompt that takes user input and returns a string
Usage
enquirer-input 0.5.1
Prompt that takes user input and returns a string
USAGE:
enquirer input [FLAGS] [OPTIONS] --message <message>
FLAGS:
-a, --allow-empty Allow empty input. Conflicts with `default`
-h, --help Prints help information
OPTIONS:
-d, --default <default> Default value for the prompt
-m, --message <message> Message for the prompt
Secret Prompt
Prompt that takes user input, hides it from the terminal, and returns a string
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 <message>
FLAGS:
-a, --allow-empty Allow empty secret
-h, --help Prints help information
OPTIONS:
-c, --confirm <confirm> Enable confirmation prompt with this message
-e, --error <error> Error message when secrets doesn't match during confirmation
-m, --message <message> Message for the prompt
Select Prompt
Prompt that allows the user to select from a list of options
Usage
enquirer-select 0.5.1
Prompt that allows the user to select from a list of options
USAGE:
enquirer select [FLAGS] [OPTIONS] --message <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> Message for the prompt
-s, --selected <selected> Specify number of the item that will be selected by default
ARGS:
<items>... Items that can be selected
Multi Select Prompt
Prompt that allows the user to select multiple items from a list of options
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 <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> Message for the prompt
-s, --selected <selected>... Specify numbers of items that will be selected by default
ARGS:
<items>... Items that can be selected
Sort Prompt
Prompt that allows the user to sort items in a list
Usage
enquirer-sort 0.5.1
Prompt that allows the user to sort items in a list
USAGE:
enquirer sort [FLAGS] --message <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> Message for the prompt
ARGS:
<items>... Items that can be sorted
About
Roadmap
- Man page generation
- Packaging for other operating systems
- Auto Complete prompt (like fzf)
- Snippet Prompt
- Export hooks for Clap
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.
License
MIT/X11
Bug Reports
Report here.
Creator
Pavan Kumar Sunkara (pavan.sss1991@gmail.com)
Dependencies
~4–12MB
~126K SLoC