Remove NBSP at the beginning of comments (#2092)

Closes #2091
This commit is contained in:
Pierre Sassoulas 2021-04-11 23:41:22 +02:00 committed by GitHub
parent ea4e714b9a
commit d960d5d238
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 60 additions and 1 deletions

View File

@ -4,6 +4,8 @@
#### _Black_ #### _Black_
- `Black` now cleans up leading non-breaking spaces in comments (#2092)
- `Black` now respects `--skip-string-normalization` when normalizing multiline - `Black` now respects `--skip-string-normalization` when normalizing multiline
docstring quotes (#1637) docstring quotes (#1637)

View File

@ -2709,6 +2709,13 @@ def make_comment(content: str) -> str:
if content[0] == "#": if content[0] == "#":
content = content[1:] content = content[1:]
NON_BREAKING_SPACE = " "
if (
content
and content[0] == NON_BREAKING_SPACE
and not content.lstrip().startswith("type:")
):
content = " " + content[1:] # Replace NBSP by a simple space
if content and content[0] not in " !:#'%": if content and content[0] not in " !:#'%":
content = " " + content content = " " + content
return "#" + content return "#" + content

View File

@ -129,6 +129,8 @@ def test_fails_invalid_post_data(
): ):
... ...
square = Square(4) # type: Optional[Square]
# output # output
from .config import ( from .config import (
@ -264,3 +266,6 @@ def test_fails_invalid_post_data(
self, pyramid_config, db_request, post_data, message self, pyramid_config, db_request, post_data, message
): ):
... ...
square = Square(4) # type: Optional[Square]

View File

@ -0,0 +1,44 @@
from .config import ( ConfigTypeAttributes, Int, Path, # String,
# DEFAULT_TYPE_ATTRIBUTES,
)
result = 1 # A simple comment
result = ( 1, ) # Another one
result = 1 # type: ignore
result = 1# This comment is talking about type: ignore
square = Square(4) # type: Optional[Square]
def function(a:int=42):
""" This docstring is already formatted
a
b
"""
#  There's a NBSP + 3 spaces before
# And 4 spaces on the next line
pass
# output
from .config import (
ConfigTypeAttributes,
Int,
Path, # String,
# DEFAULT_TYPE_ATTRIBUTES,
)
result = 1 # A simple comment
result = (1,) # Another one
result = 1 #  type: ignore
result = 1 # This comment is talking about type: ignore
square = Square(4) #  type: Optional[Square]
def function(a: int = 42):
"""This docstring is already formatted
a
b
"""
# There's a NBSP + 3 spaces before
# And 4 spaces on the next line
pass

View File

@ -27,6 +27,7 @@
"comments5", "comments5",
"comments6", "comments6",
"comments7", "comments7",
"comments_non_breaking_space",
"comment_after_escaped_newline", "comment_after_escaped_newline",
"composition", "composition",
"composition_no_trailing_comma", "composition_no_trailing_comma",