Treat walruses like other binary operators in subscripts (#4109)
Fixes #4078
This commit is contained in:
parent
51786141cc
commit
c80685f361
@ -14,6 +14,9 @@
|
|||||||
|
|
||||||
<!-- Changes that affect Black's preview style -->
|
<!-- Changes that affect Black's preview style -->
|
||||||
|
|
||||||
|
- Fix bug where spaces were not added around parenthesized walruses in subscripts,
|
||||||
|
unlike other binary operators (#4109)
|
||||||
|
|
||||||
### Configuration
|
### Configuration
|
||||||
|
|
||||||
<!-- Changes to how Black can be configured -->
|
<!-- Changes to how Black can be configured -->
|
||||||
|
@ -446,8 +446,15 @@ def is_complex_subscript(self, leaf: Leaf) -> bool:
|
|||||||
|
|
||||||
if subscript_start.type == syms.subscriptlist:
|
if subscript_start.type == syms.subscriptlist:
|
||||||
subscript_start = child_towards(subscript_start, leaf)
|
subscript_start = child_towards(subscript_start, leaf)
|
||||||
|
|
||||||
|
# When this is moved out of preview, add syms.namedexpr_test directly to
|
||||||
|
# TEST_DESCENDANTS in nodes.py
|
||||||
|
if Preview.walrus_subscript in self.mode:
|
||||||
|
test_decendants = TEST_DESCENDANTS | {syms.namedexpr_test}
|
||||||
|
else:
|
||||||
|
test_decendants = TEST_DESCENDANTS
|
||||||
return subscript_start is not None and any(
|
return subscript_start is not None and any(
|
||||||
n.type in TEST_DESCENDANTS for n in subscript_start.pre_order()
|
n.type in test_decendants for n in subscript_start.pre_order()
|
||||||
)
|
)
|
||||||
|
|
||||||
def enumerate_with_length(
|
def enumerate_with_length(
|
||||||
|
@ -3,5 +3,5 @@
|
|||||||
x[:(a:=0)]
|
x[:(a:=0)]
|
||||||
|
|
||||||
# output
|
# output
|
||||||
x[(a := 0):]
|
x[(a := 0) :]
|
||||||
x[:(a := 0)]
|
x[: (a := 0)]
|
||||||
|
Loading…
Reference in New Issue
Block a user