Added
- The `BLANK_LINE_BEFORE_MODULE_DOCSTRING` knob adds a blank line before a
module's docstring.
- The `SPLIT_ALL_COMMA_SEPARATED_VALUES` knob causes all lists, tuples, dicts
function defs, etc... to split on all values, instead of maximizing the
number of elements on each line, when not able to fit on a single line.
Changed
- Improve the heuristic we use to determine when to split at the start of a
function call. First check whether or not all elements can fit in the space
without wrapping. If not, then we split.
- Check all of the elements of a tuple. Similarly to how arguments are
analyzed. This allows tuples to be split more rationally.
- Adjust splitting penalties around arithmetic operators so that the code can
flow more freely. The code must flow!
- Try to meld an argument list's closing parenthesis to the last argument.
Fixed
- Attempt to determine if long lambdas are allowed. This can be done on a
case-by-case basis with a "pylint" disable comment.
- A comment before a decorator isn't part of the decorator's line.
- Only force a new wrapped line after a comment in a decorator when it's the
first token in the decorator.