-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix metavar for Choice options when show_choices=False #2365
Fix metavar for Choice options when show_choices=False #2365
Conversation
03a23b6
to
8b9ae77
Compare
Could it be shown without the square brackets if there is only one type choice? |
Choices are always in brackets regardless of number. |
I noticed that, was merely making a suggestion. In my personal opinion, I feel for type choices (not literal choices), it would look better without the brackets. |
But in my personal opinion it's more consistent to always use brackets, so we're at a stalemate, and I get to break the stalemate. 😉 |
I also prefer consistency. Reverting formatting change. |
d42be38
to
f7d98fe
Compare
@mrmups thanks for the fix. Our apologies that it took this long! ❤️ |
The
show_choices
parameter is intended to suppress choices from being displayed inline whenclick.prompt()
is used. It's available toclick.option()
because an option can act like a prompt if theprompt=True
parameter is used. However, this parameter does not prevent the choices from being used to create theChoice
metavar displayed within the--help
message.This change addresses this issue by creating the metavar string using the ParamTypes of the choices instead of the values themselves.
Example script:
Output when
show_choices=True
:$ demoecho --help Usage: demoecho [OPTIONS] Options: -s, --string [hello|world] This value echoed back to stdout. --help Show this message and exit.
Output when
show_choices=False
:show_choices=False
seems to have no effect #2356Checklist:
CHANGES.rst
summarizing the change and linking to the issue... versionchanged::
entries in any relevant code docs.pre-commit
hooks and fix any issues.pytest
andtox
, no tests failed.