Skip to content

Commit

Permalink
Update docstring & comment, also remove the unnecessary matching_node…
Browse files Browse the repository at this point in the history
…s check.
  • Loading branch information
yilei committed Oct 26, 2022
1 parent 1bf2e52 commit 2e37145
Showing 1 changed file with 17 additions and 29 deletions.
46 changes: 17 additions & 29 deletions src/black/trans.py
Original file line number Diff line number Diff line change
Expand Up @@ -1058,34 +1058,23 @@ def _prefer_paren_wrap_match(LL: List[Leaf]) -> Optional[int]:
if LL[0].type != token.STRING:
return None

matching_nodes = [
syms.listmaker,
syms.dictsetmaker,
syms.testlist_gexp,
syms.arglist,
]
# If the string is an immediate child of a list/set/tuple literal...
# If the string is surrounded by commas (or is the first/last child)...
prev_sibling = LL[0].prev_sibling
next_sibling = LL[0].next_sibling
if (
parent_type(LL[0]) in matching_nodes
or parent_type(LL[0].parent) in matching_nodes
not prev_sibling
and not next_sibling
and parent_type(LL[0]) == syms.atom
):
# And the string is surrounded by commas (or is the first/last child)...
prev_sibling = LL[0].prev_sibling
next_sibling = LL[0].next_sibling
if (
not prev_sibling
and not next_sibling
and parent_type(LL[0]) == syms.atom
):
# If it's an atom string, we need to check the parent atom's siblings.
parent = LL[0].parent
assert parent is not None # For type checkers.
prev_sibling = parent.prev_sibling
next_sibling = parent.next_sibling
if (not prev_sibling or prev_sibling.type == token.COMMA) and (
not next_sibling or next_sibling.type == token.COMMA
):
return 0
# If it's an atom string, we need to check the parent atom's siblings.
parent = LL[0].parent
assert parent is not None # For type checkers.
prev_sibling = parent.prev_sibling
next_sibling = parent.next_sibling
if (not prev_sibling or prev_sibling.type == token.COMMA) and (
not next_sibling or next_sibling.type == token.COMMA
):
return 0

return None

Expand Down Expand Up @@ -1654,9 +1643,8 @@ class StringParenWrapper(BaseStringSplitter, CustomSplitMapMixin):
assigned the value of some string.
OR
* The line starts with an "atom" string that prefers to be wrapped in
parens. It's preferred to be wrapped when it's is an immediate child of
a list/set/tuple literal, AND the string is surrounded by commas (or is
the first/last child).
parens. It's preferred to be wrapped when the string is surrounded by
commas (or is the first/last child).
Transformations:
The chosen string is wrapped in parentheses and then split at the LPAR.
Expand Down

0 comments on commit 2e37145

Please sign in to comment.