parent
f5b14b1afd
commit
21ab37a5d9
@ -77,11 +77,6 @@ Options:
|
|||||||
Python versions that should be supported by
|
Python versions that should be supported by
|
||||||
Black's output. [default: per-file auto-
|
Black's output. [default: per-file auto-
|
||||||
detection]
|
detection]
|
||||||
--py36 Allow using Python 3.6-only syntax on all
|
|
||||||
input files. This will put trailing commas
|
|
||||||
in function signatures and calls also after
|
|
||||||
*args and **kwargs. [default: per-file
|
|
||||||
auto-detection]
|
|
||||||
--pyi Format all input files like typing stubs
|
--pyi Format all input files like typing stubs
|
||||||
regardless of file extension (useful when
|
regardless of file extension (useful when
|
||||||
piping source on standard input).
|
piping source on standard input).
|
||||||
@ -576,7 +571,7 @@ to denote a significant space character.
|
|||||||
```toml
|
```toml
|
||||||
[tool.black]
|
[tool.black]
|
||||||
line-length = 88
|
line-length = 88
|
||||||
py36 = true
|
target_version = ['cpy37']
|
||||||
include = '\.pyi?$'
|
include = '\.pyi?$'
|
||||||
exclude = '''
|
exclude = '''
|
||||||
|
|
||||||
@ -944,6 +939,8 @@ More details can be found in [CONTRIBUTING](CONTRIBUTING.md).
|
|||||||
|
|
||||||
### 19.2b0
|
### 19.2b0
|
||||||
|
|
||||||
|
* removed `--py36` (use `--target-version=cpy36` instead) (#724)
|
||||||
|
|
||||||
* long `del` statements are now split into multiple lines (#698)
|
* long `del` statements are now split into multiple lines (#698)
|
||||||
|
|
||||||
* *Black* no longer normalizes numeric literals to include `_` separators (#696)
|
* *Black* no longer normalizes numeric literals to include `_` separators (#696)
|
||||||
|
20
black.py
20
black.py
@ -248,15 +248,6 @@ def read_pyproject_toml(
|
|||||||
"per-file auto-detection]"
|
"per-file auto-detection]"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
@click.option(
|
|
||||||
"--py36",
|
|
||||||
is_flag=True,
|
|
||||||
help=(
|
|
||||||
"Allow using Python 3.6-only syntax on all input files. This will put "
|
|
||||||
"trailing commas in function signatures and calls also after *args and "
|
|
||||||
"**kwargs. [default: per-file auto-detection]"
|
|
||||||
),
|
|
||||||
)
|
|
||||||
@click.option(
|
@click.option(
|
||||||
"--pyi",
|
"--pyi",
|
||||||
is_flag=True,
|
is_flag=True,
|
||||||
@ -360,7 +351,6 @@ def main(
|
|||||||
diff: bool,
|
diff: bool,
|
||||||
fast: bool,
|
fast: bool,
|
||||||
pyi: bool,
|
pyi: bool,
|
||||||
py36: bool,
|
|
||||||
skip_string_normalization: bool,
|
skip_string_normalization: bool,
|
||||||
quiet: bool,
|
quiet: bool,
|
||||||
verbose: bool,
|
verbose: bool,
|
||||||
@ -372,13 +362,7 @@ def main(
|
|||||||
"""The uncompromising code formatter."""
|
"""The uncompromising code formatter."""
|
||||||
write_back = WriteBack.from_configuration(check=check, diff=diff)
|
write_back = WriteBack.from_configuration(check=check, diff=diff)
|
||||||
if target_version:
|
if target_version:
|
||||||
if py36:
|
|
||||||
err(f"Cannot use both --target-version and --py36")
|
|
||||||
ctx.exit(2)
|
|
||||||
else:
|
|
||||||
versions = set(target_version)
|
versions = set(target_version)
|
||||||
elif py36:
|
|
||||||
versions = PY36_VERSIONS
|
|
||||||
else:
|
else:
|
||||||
# We'll autodetect later.
|
# We'll autodetect later.
|
||||||
versions = set()
|
versions = set()
|
||||||
@ -2446,8 +2430,8 @@ def delimiter_split(
|
|||||||
) -> Iterator[Line]:
|
) -> Iterator[Line]:
|
||||||
"""Split according to delimiters of the highest priority.
|
"""Split according to delimiters of the highest priority.
|
||||||
|
|
||||||
If `py36` is True, the split will add trailing commas also in function
|
If `supports_trailing_commas` is True, the split will add trailing commas
|
||||||
signatures that contain `*` and `**`.
|
also in function signatures that contain `*` and `**`.
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
last_leaf = line.leaves[-1]
|
last_leaf = line.leaves[-1]
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
[tool.black]
|
[tool.black]
|
||||||
line-length = 88
|
line-length = 88
|
||||||
py36 = true
|
target_version = ['cpy36', 'cpy37', 'cpy38']
|
||||||
include = '\.pyi?$'
|
include = '\.pyi?$'
|
||||||
exclude = '''
|
exclude = '''
|
||||||
/(
|
/(
|
||||||
|
@ -43,6 +43,9 @@
|
|||||||
THIS_FILE = Path(__file__)
|
THIS_FILE = Path(__file__)
|
||||||
THIS_DIR = THIS_FILE.parent
|
THIS_DIR = THIS_FILE.parent
|
||||||
EMPTY_LINE = "# EMPTY LINE WITH WHITESPACE" + " (this comment will be removed)"
|
EMPTY_LINE = "# EMPTY LINE WITH WHITESPACE" + " (this comment will be removed)"
|
||||||
|
PY36_ARGS = [
|
||||||
|
f"--target-version={version.name.lower()}" for version in black.PY36_VERSIONS
|
||||||
|
]
|
||||||
T = TypeVar("T")
|
T = TypeVar("T")
|
||||||
R = TypeVar("R")
|
R = TypeVar("R")
|
||||||
|
|
||||||
@ -1160,10 +1163,10 @@ def test_single_file_force_py36(self) -> None:
|
|||||||
path = (workspace / "file.py").resolve()
|
path = (workspace / "file.py").resolve()
|
||||||
with open(path, "w") as fh:
|
with open(path, "w") as fh:
|
||||||
fh.write(source)
|
fh.write(source)
|
||||||
self.invokeBlack([str(path), "--py36"])
|
self.invokeBlack([str(path), *PY36_ARGS])
|
||||||
with open(path, "r") as fh:
|
with open(path, "r") as fh:
|
||||||
actual = fh.read()
|
actual = fh.read()
|
||||||
# verify cache with --py36 is separate
|
# verify cache with --target-version is separate
|
||||||
py36_cache = black.read_cache(py36_mode)
|
py36_cache = black.read_cache(py36_mode)
|
||||||
self.assertIn(path, py36_cache)
|
self.assertIn(path, py36_cache)
|
||||||
normal_cache = black.read_cache(reg_mode)
|
normal_cache = black.read_cache(reg_mode)
|
||||||
@ -1183,12 +1186,12 @@ def test_multi_file_force_py36(self) -> None:
|
|||||||
for path in paths:
|
for path in paths:
|
||||||
with open(path, "w") as fh:
|
with open(path, "w") as fh:
|
||||||
fh.write(source)
|
fh.write(source)
|
||||||
self.invokeBlack([str(p) for p in paths] + ["--py36"])
|
self.invokeBlack([str(p) for p in paths] + PY36_ARGS)
|
||||||
for path in paths:
|
for path in paths:
|
||||||
with open(path, "r") as fh:
|
with open(path, "r") as fh:
|
||||||
actual = fh.read()
|
actual = fh.read()
|
||||||
self.assertEqual(actual, expected)
|
self.assertEqual(actual, expected)
|
||||||
# verify cache with --py36 is separate
|
# verify cache with --target-version is separate
|
||||||
pyi_cache = black.read_cache(py36_mode)
|
pyi_cache = black.read_cache(py36_mode)
|
||||||
normal_cache = black.read_cache(reg_mode)
|
normal_cache = black.read_cache(reg_mode)
|
||||||
for path in paths:
|
for path in paths:
|
||||||
@ -1198,7 +1201,9 @@ def test_multi_file_force_py36(self) -> None:
|
|||||||
def test_pipe_force_py36(self) -> None:
|
def test_pipe_force_py36(self) -> None:
|
||||||
source, expected = read_data("force_py36")
|
source, expected = read_data("force_py36")
|
||||||
result = CliRunner().invoke(
|
result = CliRunner().invoke(
|
||||||
black.main, ["-", "-q", "--py36"], input=BytesIO(source.encode("utf8"))
|
black.main,
|
||||||
|
["-", "-q", "--target-version=cpy36"],
|
||||||
|
input=BytesIO(source.encode("utf8")),
|
||||||
)
|
)
|
||||||
self.assertEqual(result.exit_code, 0)
|
self.assertEqual(result.exit_code, 0)
|
||||||
actual = result.output
|
actual = result.output
|
||||||
|
Loading…
Reference in New Issue
Block a user