Skip to content

Command line utility for stylish interactive prompts

License

Notifications You must be signed in to change notification settings

termapps/enquirer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

enquirer

Zulip Crates.io

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

Getting started

  1. Install
  2. Usage
    1. Command Line Utility
  3. Prompts
    1. Confirm Prompt
    2. Input Prompt
    3. Secret Prompt
    4. Select Prompt
    5. Multi Select Prompt
    6. Sort Prompt
  4. Changelog

Install

enquirer is available on Linux, macOS

$ brew install termapps/tap/enquirer

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.

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)

Enquirer Confirm Prompt

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

Enquirer Input Prompt

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

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 <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

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 <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

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 <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

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 <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

Contributors

Here is a list of Contributors

TODO

Changelog

Please see CHANGELOG.md.

License

MIT/X11

Bug Reports

Report here.

Creator

Pavan Kumar Sunkara (pavan.sss1991@gmail.com)

Follow me on github, twitter