wrap atoms in invisible parens to split adjacent strings (#463)
This commit is contained in:
parent
d4f0521754
commit
8b340e2102
@ -849,6 +849,8 @@ More details can be found in [CONTRIBUTING](CONTRIBUTING.md).
|
||||
|
||||
### 18.8b0
|
||||
|
||||
* adjacent string literals are now correctly split into multiple lines (#463)
|
||||
|
||||
* code with `_` in numeric literals is recognized as Python 3.6+ (#461)
|
||||
|
||||
* numeric literals are now normalized to include `_` separators on Python 3.6+ code
|
||||
|
16
black.py
16
black.py
@ -2587,7 +2587,11 @@ def normalize_invisible_parens(node: Node, parens_after: Set[str]) -> None:
|
||||
for index, child in enumerate(list(node.children)):
|
||||
if check_lpar:
|
||||
if child.type == syms.atom:
|
||||
maybe_make_parens_invisible_in_atom(child)
|
||||
if maybe_make_parens_invisible_in_atom(child):
|
||||
lpar = Leaf(token.LPAR, "")
|
||||
rpar = Leaf(token.RPAR, "")
|
||||
index = child.remove() or 0
|
||||
node.insert_child(index, Node(syms.atom, [lpar, child, rpar]))
|
||||
elif is_one_tuple(child):
|
||||
# wrap child in visible parentheses
|
||||
lpar = Leaf(token.LPAR, "(")
|
||||
@ -2695,7 +2699,11 @@ def generate_ignored_nodes(leaf: Leaf) -> Iterator[LN]:
|
||||
|
||||
|
||||
def maybe_make_parens_invisible_in_atom(node: LN) -> bool:
|
||||
"""If it's safe, make the parens in the atom `node` invisible, recursively."""
|
||||
"""If it's safe, make the parens in the atom `node` invisible, recursively.
|
||||
|
||||
Returns whether the node should itself be wrapped in invisible parentheses.
|
||||
|
||||
"""
|
||||
if (
|
||||
node.type != syms.atom
|
||||
or is_empty_tuple(node)
|
||||
@ -2713,9 +2721,9 @@ def maybe_make_parens_invisible_in_atom(node: LN) -> bool:
|
||||
last.value = "" # type: ignore
|
||||
if len(node.children) > 1:
|
||||
maybe_make_parens_invisible_in_atom(node.children[1])
|
||||
return True
|
||||
return False
|
||||
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
def is_empty_tuple(node: LN) -> bool:
|
||||
|
@ -35,6 +35,7 @@
|
||||
""".split():
|
||||
if key in self.connect_kwargs:
|
||||
raise ValueError(err.format(key))
|
||||
concatenated_strings = "some strings that are" "concatenated implicitly, so if you put them on separate" "lines it will fit"
|
||||
|
||||
|
||||
# output
|
||||
@ -85,3 +86,8 @@
|
||||
""".split():
|
||||
if key in self.connect_kwargs:
|
||||
raise ValueError(err.format(key))
|
||||
concatenated_strings = (
|
||||
"some strings that are"
|
||||
"concatenated implicitly, so if you put them on separate"
|
||||
"lines it will fit"
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user