Skip to content

Commit f42dca2

Browse files
committed
Correctly handle "good" code in newline_after_equals.
1 parent 7697a2d commit f42dca2

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

formate/mini_hooks.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -268,15 +268,17 @@ def newline_after_equals(source: str) -> str:
268268
token = original_tokens.popleft()
269269

270270
if token.name == "OP" and token.src == '=':
271-
while True:
272-
273-
# TODO: handle spaces around equals (e.g. in function signature)
274-
# Look ahead until there's a non-whitespace token.
275-
next_token = original_tokens.popleft()
276-
if next_token.name in {"UNIMPORTANT_WS", "NL"}:
277-
pass
278-
else:
279-
break
271+
next_token = original_tokens.popleft()
272+
if next_token.name == "NL":
273+
while True:
274+
275+
# TODO: handle spaces around equals (e.g. in function signature)
276+
# Look ahead until there's a non-whitespace token.
277+
next_token = original_tokens.popleft()
278+
if next_token.name in {"UNIMPORTANT_WS", "NL"}:
279+
pass
280+
else:
281+
break
280282

281283
tokens.append(token)
282284
tokens.append(next_token)

tests/test_mini_hooks.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,3 +284,10 @@ def test_newline_after_equals(advanced_file_regression: AdvancedFileRegressionFi
284284

285285
advanced_file_regression.check(newline_after_equals(newline_after_equals_src))
286286
assert newline_after_equals(no_newline_after_equals_src) == no_newline_after_equals_src
287+
288+
src = """
289+
def foo():
290+
directive = SimpleNamespace()
291+
"""
292+
293+
assert newline_after_equals(src) == src

0 commit comments

Comments
 (0)