Skip to content
This repository has been archived by the owner on Jun 19, 2022. It is now read-only.

Update yapf to 0.29.0 #898

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

pyup-bot
Copy link
Collaborator

This PR updates yapf from 0.22.0 to 0.29.0.

Changelog

0.29.0

Added
- Add the `--quiet` flag to suppress output. The return code is 1 if there are
changes, similarly to the `--diff` flag.
- Add the `indent_closing_brackets` option. This is the same as the
`dedent_closing_brackets` option except the brackets are indented the same
as the previous line.
Changed
- Collect a parameter list into a single object. This allows us to track how a
parameter list is formatted, keeping state along the way. This helps when
supporting Python 3 type annotations.
- Catch and report `UnicodeDecodeError` exceptions.
- Improved description of .yapfignore syntax.
Fixed
- Format subscript lists so that splits are essentially free after a comma.
- Don't add a space between a string and its subscript.
- Extend discovery of '.style.yapf' & 'setup.cfg' files to search the root
directory as well.
- Make sure we have parameters before we start calculating penalties for
splitting them.
- Indicate if a class/function is nested to ensure blank lines when needed.
- Fix extra indentation in async-for else statement.
- A parameter list with no elements shouldn't count as exceeding the column
limit.
- When splitting all comma separated values, don't treat the ending bracket as
special.
- The "no blank lines between nested classes or functions" knob should only
apply to the first nested class or function, not all of them.

0.28.0

Added
- New knob `SPLIT_ALL_TOP_LEVEL_COMMA_SEPARATED_VALUES` is a variation on
`SPLIT_ALL_COMMA_SEPARATED_VALUES` in which, if a subexpression with a comma
fits in its starting line, then the subexpression is not split (thus avoiding
unnecessary splits).
Changed
- Set `INDENT_DICTIONARY_VALUE` for Google style.
- Set `JOIN_MULTIPLE_LINES = False` for Google style.
Fixed
- `BLANK_LINE_BEFORE_NESTED_CLASS_OR_DEF=False` wasn't honored because the
number of newlines was erroneously calculated beforehand.
- Lambda expressions shouldn't have an increased split penalty applied to the
'lambda' keyword. This prevents them from being properly formatted when they're
arguments to functions.
- A comment with continuation markers (??) shouldn't mess with the lineno count.
- Only emit unformatted if the "disable long line" is at the end of the line.
Otherwise we could mess up formatting for containers which have them
interspersed with code.
- Fix a potential race condition by using the correct style for opening a file
which may not exist.

0.27.0

Added
- `SPLIT_BEFORE_ARITHMETIC_OPERATOR` splits before an arithmetic operator when
set. `SPLIT_PENALTY_ARITHMETIC_OPERATOR` allows you to set the split penalty
around arithmetic operators.
Changed
- Catch lib2to3's "TokenError" exception and output a nicer message.
Fixed
- Parse integer lists correctly, removing quotes if the list is within a
string.
- Adjust the penalties of bitwise operands for '&' and '^', similar to '|'.
- Avoid splitting after opening parens if SPLIT_BEFORE_FIRST_ARGUMENT is set
to False.
- Adjust default SPLIT_PENALTY_AFTER_OPENING_BRACKET.
- Re-enable removal of extra lines on the boundaries of formatted regions.
- Adjust list splitting to avoid splitting before a dictionary element, because
those are likely to be split anyway. If we do split, it leads to horrible
looking code.
- Dictionary arguments were broken in a recent version. It resulted in
unreadable formatting, where the remaining arguments were indented far more
than the dictionary. Fixed so that if the dictionary is the first argument in
a function call and doesn't fit on a single line, then it forces a split.
- Improve the connectiveness between items in a list. This prevents random
splitting when it's not 100% necessary.
- Don't remove a comment attached to a previous object just because it's part
of the "prefix" of a function/class node.

0.26.0

Added
- `ALLOW_SPLIT_BEFORE_DEFAULT_OR_NAMED_ASSIGNS` allows us to split before
default / named assignments.
- `ARITHMETIC_PRECEDENCE_INDICATION` removes spacing around binary operators
if they have higher precedence than other operators in the same expression.
Changed
- `SPACES_BEFORE_COMMENT` can now be assigned to a specific value (standard
behavior) or a list of column values. When assigned to a list, trailing
comments will be horizontally aligned to the first column value within
the list that is greater than the maximum line length in the block.
- Don't modify the vertical spacing of a line that has a comment "pylint:
disable=line-too-long". The line is expected to be too long.
- improved `CONTINUATION_ALIGN_STYLE` to accept quoted or underline-separated
option value for passing option with command line arguments.
Fixed
- When retrieving the opening bracket make sure that it's actually an opening
bracket.
- Don't completely deny a lambda formatting if it goes over the column limit.
Split only if absolutely necessary.
- Bump up penalty for splitting before a dot ('.').
- Ignore pseudo tokens when calculating split penalties.
- Increase the penalty for splitting before the first bit of a subscript.
- Improve splitting before dictionary values. Look more closely to see if the
dictionary entry is a container. If so, then it's probably split over
multiple lines with the opening bracket on the same line as the key.
Therefore, we shouldn't enforce a split because of that.
- Increase split penalty around exponent operator.
- Correct spacing when using binary operators on strings with the
`NO_SPACES_AROUND_SELECTED_BINARY_OPERATORS` option enabled.

0.25.0

Added
- Added `INDENT_BLANK_LINES` knob to select whether the blank lines are empty
or indented consistently with the current block.
- Support additional file exclude patterns in .yapfignore file.
Fixed
- Correctly determine if a scope is the last in line. It avoids a wrong
computation of the line end when determining if it must split after the
opening bracket with `DEDENT_CLOSING_BRACKETS` enabled.

0.24.0

Added
- Added 'SPLIT_BEFORE_DOT' knob to support "builder style" calls. The "builder
style" option didn't work as advertised. Lines would split after the dots,
not before them regardless of the penalties.
Changed
- Support Python 3.7 in the tests. The old "comp_for" and "comp_if" nodes are
now "old_comp_for" and "old_comp_if" in lib2to3.
Fixed
- Don't count inner function calls when marking arguments as named assignments.
- Make sure that tuples and the like are formatted nicely if they all can't fit
on a single line. This is similar to how we format function calls within an
argument list.
- Allow splitting in a subscript if it goes over the line limit.
- Increase the split penalty for an if-expression.
- Increase penalty for splitting in a subscript so that it's more likely to
split in a function call or other data literal.
- Cloning a pytree node doesn't transfer its a annotations. Make sure we do
that so that we don't lose information.
- Revert change that broke the "no_spaces_around_binary_operators" option.
- The "--style-help" option would output string lists and sets in Python types.
If the output was used as a style, then it wouldn't parse those values
correctly.

0.23.0

Added
- `DISABLE_ENDING_COMMA_HEURISTIC` is a new knob to disable the heuristic which
splits a list onto separate lines if the list is comma-terminated.
Fixed
- There's no need to increase N_TOKENS. In fact, it causes other things which
use lib2to3 to fail if called from YAPF.
- Change the exception message instead of creating a new one that's just a
clone.
- Make sure not to reformat when a line is disabled even if the --lines option
is specified.
- The "no spaces around operators" flag wasn't correctly converting strings to
sets. Changed the regexp to handle it better.
Links

@pyup-bot pyup-bot mentioned this pull request Nov 28, 2019
@coveralls
Copy link

Coverage Status

Coverage remained the same at 63.425% when pulling 5761196 on pyup-update-yapf-0.22.0-to-0.29.0 into 571d360 on master.

# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants