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

Feature/function arg wrapping #1127

Draft
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

jesse-sony
Copy link

A second PR from me, but still haven't had one merged so definitely need to get the contributor stuff sorted, etc

This PR is to address issues that seem to have been raised in #590 and #978. basically when there are function calls with argument lists nested inside function calls with argument lists, yapf refuses to consider splitting the secondary argument lists which leads to it ignoring the penalty for splitting before the first argument or showing different behavior when arguments are functions vs not functions.

This PR tries to address this in as minimally invasive a way as possible by recursively calculating the length of nested function arguments and calculating whether it is possible to wrap them. This doesn't actually modify any of the wrapping logic, so it is still up to yapf how it wants to wrap stuff, it just removes MustSplit penalties in cases where they aren't actually necessary because args could be wrapped successfully.

There are no tests for this feature, so those will obviously have to be added as well before merging.

@google-cla
Copy link

google-cla bot commented Aug 25, 2023

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant