Feature/function arg wrapping
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 https://github.com/google/yapf/issues/590 and https://github.com/google/yapf/issues/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.
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.