Skip to content

Commit

Permalink
Simplify delimiter logic
Browse files Browse the repository at this point in the history
  • Loading branch information
ambv committed Apr 4, 2018
1 parent b7f4ace commit 30d921f
Showing 1 changed file with 16 additions and 13 deletions.
29 changes: 16 additions & 13 deletions black.py
Original file line number Diff line number Diff line change
Expand Up @@ -561,12 +561,13 @@ def mark(self, leaf: Leaf) -> None:
leaf.opening_bracket = opening_bracket
leaf.bracket_depth = self.depth
if self.depth == 0:
after_delim = is_split_after_delimiter(leaf, self.previous)
before_delim = is_split_before_delimiter(leaf, self.previous)
if after_delim > before_delim:
self.delimiters[id(leaf)] = after_delim
elif before_delim > after_delim and self.previous is not None:
self.delimiters[id(self.previous)] = before_delim
delim = is_split_before_delimiter(leaf, self.previous)
if delim and self.previous is not None:
self.delimiters[id(self.previous)] = delim
else:
delim = is_split_after_delimiter(leaf, self.previous)
if delim:
self.delimiters[id(leaf)] = delim
if leaf.type in OPENING_BRACKETS:
self.bracket_match[self.depth, BRACKET[leaf.type]] = leaf
self.depth += 1
Expand Down Expand Up @@ -1438,13 +1439,6 @@ def is_split_after_delimiter(leaf: Leaf, previous: Leaf = None) -> int:
if leaf.type == token.COMMA:
return COMMA_PRIORITY

if (
leaf.type in VARARGS
and leaf.parent
and leaf.parent.type in {syms.argument, syms.typedargslist}
):
return MATH_PRIORITY

return 0


Expand All @@ -1456,6 +1450,15 @@ def is_split_before_delimiter(leaf: Leaf, previous: Leaf = None) -> int:
Higher numbers are higher priority.
"""
if (
leaf.type in VARARGS
and leaf.parent
and leaf.parent.type in {syms.argument, syms.typedargslist}
):
# * and ** might also be MATH_OPERATORS but in this case they are not.
# Don't treat them as a delimiter.
return 0

if (
leaf.type in MATH_OPERATORS
and leaf.parent
Expand Down

0 comments on commit 30d921f

Please sign in to comment.