Feature Suggestion: allow "other" option in list input
queengooborg opened this issue · 3 comments
This was also requested for inquirer.js
-- see SBoudrias/Inquirer.js#1198
I'm utilizing inquirer
for a command line script to generate pull requests (including titles and descriptions) for MDN's BCD repository, and first of all, I must say: kudos to the dev team here! I've always enjoyed the original inquirer.js
for CLI prompts, and am happy to see a port to Python available!
As a part of one of my questions within the script, I inquire a reason
from the user, which is a list of preset entries, as well as an "Other" entry. In this script, I then check to see if "Other" was selected, and if so, prompt the user for a text input to describe the reason
. This looks something like so:
reason = inquirer.list_input(
message="Why is this feature being removed?",
choices=['Irrelevant', 'Non-Interface', 'Other']
)
if reason == "Other":
reason = inquirer.text("Why is this feature being removed?")
[?] Why is this feature being removed?: Other
Irrelevant
Non-Interface
> Other
[?] Why is this feature being removed?: I just don't like this feature... >:(
I think it would be nice to have an other
option (or something similar), that adds an option to the end which doubles as a text input, like so:
reason = inquirer.list_input(
message="Why is this feature being removed?",
choices=['Irrelevant', 'Non-Interface'],
other="Other Reason" # default: false, setting to "true" will add "Other"
)
# ...or...
reason = inquirer.list_input(
message="Why is this feature being removed?",
choices=['Irrelevant', 'Non-Interface', inquirer.list_choice_other('Other Reason')],
)
[?] Why is this feature being removed?: Irrelevant
> Irrelevant
Non-Interface
Other
...or...
[?] Why is this feature being removed?:
Irrelevant
Non-Interface
> Other:
...or...
[?] Why is this feature being removed?: I just don't like this feature... >:(
Irrelevant
Non-Interface
> Other: I just don't like this feature... >:(
Oh awesome, I hadn't seen this PR! I thought I searched through PRs as well, whoops -- I didn't see anything in the documentation regarding this option (note: the magmax.com URL is a 404)!