magmax/python-inquirer

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... >:(

Does #256 implement what your looking for? This is already merged

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

Yea ist a mess too look through PRs with all the dependabot stuff...

And good to know that the documentation is down, i will need to fix that. (See #231)