Skip to content

Commit

Permalink
change how blank lines work
Browse files Browse the repository at this point in the history
  • Loading branch information
hauntsaninja committed Jan 28, 2022
1 parent 38648b7 commit ea42d01
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 4 deletions.
10 changes: 6 additions & 4 deletions src/black/lines.py
Original file line number Diff line number Diff line change
Expand Up @@ -530,11 +530,11 @@ def _maybe_empty_lines_for_class_or_def(
return 0, 0

if self.is_pyi:
if self.previous_line.depth > current_line.depth:
newlines = 0 if current_line.depth else 1
elif current_line.is_class or self.previous_line.is_class:
if current_line.depth:
if current_line.is_class or self.previous_line.is_class:
if self.previous_line.depth < current_line.depth:
newlines = 0
elif self.previous_line.depth > current_line.depth:
newlines = 1
elif current_line.is_stub_class and self.previous_line.is_stub_class:
# No blank line between classes with an empty body
newlines = 0
Expand All @@ -551,6 +551,8 @@ def _maybe_empty_lines_for_class_or_def(
# Blank line between a block of functions (maybe with preceding
# decorators) and a block of non-functions
newlines = 1
elif self.previous_line.depth > current_line.depth:
newlines = 1
else:
newlines = 0
else:
Expand Down
9 changes: 9 additions & 0 deletions tests/data/stub.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -96,24 +96,31 @@ def h(): ...
if sys.version_info >= (3, 8):
class E:
def f(self): ...

class F:
def f(self): ...

class G: ...
class H: ...

else:
class I: ...
class J: ...

def f(): ...

class K:
def f(self): ...

def f(): ...

class Nested:
class dirty: ...
class little: ...

class secret:
def who_has_to_know(self): ...

def verse(self): ...

class CondMethod:
Expand All @@ -122,8 +129,10 @@ class CondMethod:
def g(self): ...
else:
def g(self): ...

def h(self): ...
def i(self): ...
if sys.version_info >= (3, 8):
def j(self): ...

def k(self): ...

0 comments on commit ea42d01

Please sign in to comment.