
- when a trailing comma is specified in any bracket pair, that signals to Black that this bracket pair needs to be always exploded, e.g. presented as "one item per line"; - this causes some changes to previously formatted code that erroneously left trailing commas embedded into single-line expressions; - internally, Black needs to be able to identify trailing commas that it put itself compared to pre-existing trailing commas. We do this by using/abusing lib2to3's `was_checked` attribute. It's True for internally generated trailing commas and False for pre-existing ones (in fact, for all pre-existing leaves and nodes). Fixes #1288
67 lines
958 B
Python
67 lines
958 B
Python
def f(a,):
|
|
d = {'key': 'value',}
|
|
tup = (1,)
|
|
|
|
def f2(a,b,):
|
|
d = {'key': 'value', 'key2': 'value2',}
|
|
tup = (1,2,)
|
|
|
|
def f(a:int=1,):
|
|
call(arg={'explode': 'this',})
|
|
call2(arg=[1,2,3],)
|
|
|
|
def xxxxxxxxxxxxxxxxxxxxxxxxxxxx() -> Set[
|
|
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
]:
|
|
json = {"k": {"k2": {"k3": [1,]}}}
|
|
|
|
# output
|
|
|
|
def f(
|
|
a,
|
|
):
|
|
d = {
|
|
"key": "value",
|
|
}
|
|
tup = (1,)
|
|
|
|
|
|
def f2(
|
|
a,
|
|
b,
|
|
):
|
|
d = {
|
|
"key": "value",
|
|
"key2": "value2",
|
|
}
|
|
tup = (
|
|
1,
|
|
2,
|
|
)
|
|
|
|
|
|
def f(
|
|
a: int = 1,
|
|
):
|
|
call(
|
|
arg={
|
|
"explode": "this",
|
|
}
|
|
)
|
|
call2(
|
|
arg=[1, 2, 3],
|
|
)
|
|
|
|
|
|
def xxxxxxxxxxxxxxxxxxxxxxxxxxxx() -> Set[
|
|
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
]:
|
|
json = {
|
|
"k": {
|
|
"k2": {
|
|
"k3": [
|
|
1,
|
|
]
|
|
}
|
|
}
|
|
} |