
- 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
125 lines
2.5 KiB
Python
125 lines
2.5 KiB
Python
from .config import (
|
|
Any,
|
|
Bool,
|
|
ConfigType,
|
|
ConfigTypeAttributes,
|
|
Int,
|
|
Path,
|
|
# String,
|
|
# resolve_to_config_type,
|
|
# DEFAULT_TYPE_ATTRIBUTES,
|
|
)
|
|
|
|
|
|
from .config import (
|
|
Any,
|
|
Bool,
|
|
ConfigType,
|
|
ConfigTypeAttributes,
|
|
Int,
|
|
no_comma_here_yet
|
|
# and some comments,
|
|
# resolve_to_config_type,
|
|
# DEFAULT_TYPE_ATTRIBUTES,
|
|
)
|
|
|
|
|
|
result = 1 # look ma, no comment migration xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
|
|
result = (
|
|
1 # look ma, no comment migration xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
)
|
|
|
|
result = (
|
|
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # aaa
|
|
)
|
|
|
|
result = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # aaa
|
|
|
|
|
|
def func():
|
|
c = call(
|
|
0.0123,
|
|
0.0456,
|
|
0.0789,
|
|
0.0123,
|
|
0.0789,
|
|
a[-1], # type: ignore
|
|
)
|
|
|
|
# The type: ignore exception only applies to line length, not
|
|
# other types of formatting.
|
|
c = call(
|
|
"aaaaaaaa", "aaaaaaaa", "aaaaaaaa", "aaaaaaaa", "aaaaaaaa", "aaaaaaaa", # type: ignore
|
|
"aaaaaaaa", "aaaaaaaa", "aaaaaaaa", "aaaaaaaa", "aaaaaaaa", "aaaaaaaa"
|
|
)
|
|
|
|
|
|
# output
|
|
|
|
from .config import (
|
|
Any,
|
|
Bool,
|
|
ConfigType,
|
|
ConfigTypeAttributes,
|
|
Int,
|
|
Path,
|
|
# String,
|
|
# resolve_to_config_type,
|
|
# DEFAULT_TYPE_ATTRIBUTES,
|
|
)
|
|
|
|
|
|
from .config import (
|
|
Any,
|
|
Bool,
|
|
ConfigType,
|
|
ConfigTypeAttributes,
|
|
Int,
|
|
no_comma_here_yet,
|
|
# and some comments,
|
|
# resolve_to_config_type,
|
|
# DEFAULT_TYPE_ATTRIBUTES,
|
|
)
|
|
|
|
|
|
result = 1 # look ma, no comment migration xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
|
|
result = 1 # look ma, no comment migration xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
|
|
result = ( # aaa
|
|
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
)
|
|
|
|
result = ( # aaa
|
|
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
)
|
|
|
|
|
|
def func():
|
|
c = call(
|
|
0.0123,
|
|
0.0456,
|
|
0.0789,
|
|
0.0123,
|
|
0.0789,
|
|
a[-1], # type: ignore
|
|
)
|
|
|
|
# The type: ignore exception only applies to line length, not
|
|
# other types of formatting.
|
|
c = call(
|
|
"aaaaaaaa",
|
|
"aaaaaaaa",
|
|
"aaaaaaaa",
|
|
"aaaaaaaa",
|
|
"aaaaaaaa",
|
|
"aaaaaaaa", # type: ignore
|
|
"aaaaaaaa",
|
|
"aaaaaaaa",
|
|
"aaaaaaaa",
|
|
"aaaaaaaa",
|
|
"aaaaaaaa",
|
|
"aaaaaaaa",
|
|
)
|