
* Treat functions/classes in blocks as if they're nested One curveball is that we still want two preceding newlines before blocks that are probably logically disconnected. In other words: if condition: def foo(): return "hi" # <- aside: this is the goal of this commit else: def foo(): return "cya" # <- the two newlines spacing here should stay # since this probably isn't related with open("db.json", encoding="utf-8") as f: data = f.read() Unfortunately that means we have to special case specific clause types instead of just being able to just for a colon leaf. The hack used here is to check whether we're adding preceding newlines for a standalone or dependent clause. "Standalone" being a clause that doesn't need another clause to be valid (eg. if) and vice versa. Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
122 lines
2.4 KiB
Python
122 lines
2.4 KiB
Python
def f(
|
|
a,
|
|
**kwargs,
|
|
) -> A:
|
|
with cache_dir():
|
|
if something:
|
|
result = (
|
|
CliRunner().invoke(black.main, [str(src1), str(src2), "--diff", "--check"])
|
|
)
|
|
limited.append(-limited.pop()) # negate top
|
|
return A(
|
|
very_long_argument_name1=very_long_value_for_the_argument,
|
|
very_long_argument_name2=-very.long.value.for_the_argument,
|
|
**kwargs,
|
|
)
|
|
def g():
|
|
"Docstring."
|
|
def inner():
|
|
pass
|
|
print("Inner defs should breathe a little.")
|
|
def h():
|
|
def inner():
|
|
pass
|
|
print("Inner defs should breathe a little.")
|
|
|
|
|
|
if os.name == "posix":
|
|
import termios
|
|
def i_should_be_followed_by_only_one_newline():
|
|
pass
|
|
elif os.name == "nt":
|
|
try:
|
|
import msvcrt
|
|
def i_should_be_followed_by_only_one_newline():
|
|
pass
|
|
|
|
except ImportError:
|
|
|
|
def i_should_be_followed_by_only_one_newline():
|
|
pass
|
|
|
|
elif False:
|
|
|
|
class IHopeYouAreHavingALovelyDay:
|
|
def __call__(self):
|
|
print("i_should_be_followed_by_only_one_newline")
|
|
else:
|
|
|
|
def foo():
|
|
pass
|
|
|
|
with hmm_but_this_should_get_two_preceding_newlines():
|
|
pass
|
|
|
|
# output
|
|
|
|
def f(
|
|
a,
|
|
**kwargs,
|
|
) -> A:
|
|
with cache_dir():
|
|
if something:
|
|
result = CliRunner().invoke(
|
|
black.main, [str(src1), str(src2), "--diff", "--check"]
|
|
)
|
|
limited.append(-limited.pop()) # negate top
|
|
return A(
|
|
very_long_argument_name1=very_long_value_for_the_argument,
|
|
very_long_argument_name2=-very.long.value.for_the_argument,
|
|
**kwargs,
|
|
)
|
|
|
|
|
|
def g():
|
|
"Docstring."
|
|
|
|
def inner():
|
|
pass
|
|
|
|
print("Inner defs should breathe a little.")
|
|
|
|
|
|
def h():
|
|
def inner():
|
|
pass
|
|
|
|
print("Inner defs should breathe a little.")
|
|
|
|
|
|
if os.name == "posix":
|
|
import termios
|
|
|
|
def i_should_be_followed_by_only_one_newline():
|
|
pass
|
|
|
|
elif os.name == "nt":
|
|
try:
|
|
import msvcrt
|
|
|
|
def i_should_be_followed_by_only_one_newline():
|
|
pass
|
|
|
|
except ImportError:
|
|
|
|
def i_should_be_followed_by_only_one_newline():
|
|
pass
|
|
|
|
elif False:
|
|
|
|
class IHopeYouAreHavingALovelyDay:
|
|
def __call__(self):
|
|
print("i_should_be_followed_by_only_one_newline")
|
|
|
|
else:
|
|
|
|
def foo():
|
|
pass
|
|
|
|
|
|
with hmm_but_this_should_get_two_preceding_newlines():
|
|
pass
|