X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/87b8df28c48353d3d08d7e88d178c7a567de816a..fef8c71cb708b5b94047e69baeca3264d695ac66:/black.py?ds=inline diff --git a/black.py b/black.py index 228deb7..57cd9a6 100644 --- a/black.py +++ b/black.py @@ -44,7 +44,7 @@ from blib2to3.pgen2 import driver, token from blib2to3.pgen2.parse import ParseError -__version__ = "18.4a6" +__version__ = "18.5b0" DEFAULT_LINE_LENGTH = 88 # types @@ -2532,13 +2532,21 @@ def ensure_visible(leaf: Leaf) -> None: def should_explode(line: Line, opening_bracket: Leaf) -> bool: """Should `line` immediately be split with `delimiter_split()` after RHS?""" - return bool( + if not ( opening_bracket.parent and opening_bracket.parent.type in {syms.atom, syms.import_from} and opening_bracket.value in "[{(" - and line.bracket_tracker.delimiters - and line.bracket_tracker.max_delimiter_priority() == COMMA_PRIORITY - ) + ): + return False + + try: + last_leaf = line.leaves[-1] + exclude = {id(last_leaf)} if last_leaf.type == token.COMMA else set() + max_priority = line.bracket_tracker.max_delimiter_priority(exclude=exclude) + except (IndexError, ValueError): + return False + + return max_priority == COMMA_PRIORITY def is_python36(node: Node) -> bool: