Move --help
option defaults from its class to its decorator
#2840
+70
−43
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a proposal to fix #2832, which points to a subtle change in behavior of the help option introduced in 8.1.8.
The root of the problem is that by deduplicating code in 8.1.8 (see: #2563), I introduced a
HelpOption
class, to centralize the setup necessary to make a standardOption
behave like an help option.In #2832, a user is relying on a custom class to feed the
@help_option
decorator. This bypass all the custom setup made byHelpOption
, and produce the discrepancy in behavior between 8.1.7 and 8.1.8.This PR:
HelpOption
class@help_option
implementation with the way Click is doing for the others (like@password_option
,@version_option
, ...)click.decorators.HelpOption
class as a consequenceChecklist:
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.