Skip to content
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

[WIP] [1140] use longest option argument again #1149

Closed

Conversation

altendky
Copy link
Contributor

@altendky
Copy link
Contributor Author

altendky commented Oct 16, 2018

WIP for:

  • Doc fixes
  • Changes entry
  • Apply to 7.x

click/types.py Outdated
@@ -489,7 +489,7 @@ class Path(ParamType):

def __init__(self, exists=False, file_okay=True, dir_okay=True,
writable=False, readable=True, resolve_path=False,
allow_dash=False, path_type=None):
allow_dash=False, path_type=None, converter=None):

This comment was marked as off-topic.

@altendky altendky force-pushed the 1140-use_longest_option_argument_again branch from fe85a3a to 8c80220 Compare October 17, 2018 02:23
@altendky altendky force-pushed the 1140-use_longest_option_argument_again branch from ea3daba to 090f0ad Compare October 19, 2018 17:04
@altendky altendky changed the base branch from master to 7.x October 19, 2018 17:04
@altendky altendky changed the title [WIP] [1140] use longest option argument again [1140] use longest option argument again Oct 19, 2018
Copy link

@amiryal amiryal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My only feedback, other than LGTM 👍, is regarding commit messages. Maybe you could provide more context, i.e. what the change actually does and why, and possibly squash some or all of them together.

@altendky altendky changed the title [1140] use longest option argument again [WIP] [1140] use longest option argument again Oct 23, 2018
@amiryal
Copy link

amiryal commented Oct 23, 2018

Just wanted to echo your earlier #1140 (comment) here as well:

It's kind of tempting to deprecate this 'feature' and just say 'if you have multiple of the longest type of parameter, specify the name'. Or maybe provide a marker so you don't have to repeat. Maybe '+--the-default' or somesuch? I dunno, explicit over implicit and all. This just seems like a bit of a fiddly mess with little benefit.
Sorry, make it backwards compatible but fix the situation by deprecating the implicit order-based selection.

👍
I fully agree, Zen of Python and all.

Copy link
Contributor

@sirosen sirosen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@altendky, is this still a work in progress?

Since this is the course of action which you and @davidism agreed on, and the changes appear to be complete to me, I'd like to merge.

I agree that your commit messages are a bit minimal -- personally, I'd prefer them either squashed or fleshed out with explanation -- but all of the important discussion is in GitHub anyway.

@pytest.mark.parametrize('option_args,expected', [
(['--aggressive', '--all', '-a'], 'aggressive'),
(['--first', '--second', '--third', '-a', '-b', '-c'], 'first'),
(['--apple', '--banana', '--cantaloupe', '-a', '-b', '-c'], 'apple'),
(['--first', '--second', '--third', '-a', '-b', '-c'], 'second'),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes me so dizzy to read. 😂

I understand that we're going back to documented behavior, but this is pretty much the perfect example of why I think this comment of yours is spot on. We should really just tell people to write down what they mean...

@altendky
Copy link
Contributor Author

After #1140 (comment) and #1140 (comment) I figured we should figure out where we are going since we have no totally obvious thing to revert to. If we want to 'just revert' for now I would think we would want the previous functionality which would be 'last long' not 'longest' like this implements.

@sirosen
Copy link
Contributor

sirosen commented Nov 10, 2018

Ah, I thought after this comment that we should revert the behavior that this reverts #794.

Reading that PR again, it looks like we switched from "last long opt" to "first long opt" but never updated the docs? I didn't realize we never had the also-documented "longest option" behavior.

Sorry for jumping in on this without properly grasping the situation.

Now that I do, I actually think this PR is probably a bad call -- we should either keep the new behavior in 7.0 and document it, or revert to pre #794 behavior and note it as a bugfix in the 7.1 changelog.

IMO, keeping the new behavior and just updating the docs is the cheapest/easiest solution. If someone showed up as a new user of 7.0, then any behavior change appears to be breaking.

@altendky
Copy link
Contributor Author

I only left this open to avoid thrash just in case... But yeah, this is likely just totally dead.

@altendky altendky closed this Nov 10, 2018
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 13, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants