Skip to content

Commit

Permalink
Simplify empty line tracker (#3797)
Browse files Browse the repository at this point in the history
  • Loading branch information
hauntsaninja authored Jul 22, 2023
1 parent 0b301f8 commit e7e8d62
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions src/black/lines.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
class Line:
"""Holds leaves and comments. Can be printed with `str(line)`."""

mode: Mode
mode: Mode = field(repr=False)
depth: int = 0
leaves: List[Leaf] = field(default_factory=list)
# keys ordered like `leaves`
Expand Down Expand Up @@ -579,16 +579,21 @@ def _maybe_empty_lines(self, current_line: Line) -> Tuple[int, int]:
else:
before = 0
depth = current_line.depth

previous_def = None
while self.previous_defs and self.previous_defs[-1].depth >= depth:
previous_def = self.previous_defs.pop()

if previous_def is not None:
assert self.previous_line is not None
if self.mode.is_pyi:
assert self.previous_line is not None
if depth and not current_line.is_def and self.previous_line.is_def:
# Empty lines between attributes and methods should be preserved.
before = min(1, before)
elif (
Preview.blank_line_after_nested_stub_class in self.mode
and self.previous_defs[-1].is_class
and not self.previous_defs[-1].is_stub_class
and previous_def.is_class
and not previous_def.is_stub_class
):
before = 1
elif depth:
Expand All @@ -600,7 +605,7 @@ def _maybe_empty_lines(self, current_line: Line) -> Tuple[int, int]:
before = 1
elif (
not depth
and self.previous_defs[-1].depth
and previous_def.depth
and current_line.leaves[-1].type == token.COLON
and (
current_line.leaves[0].value
Expand All @@ -617,7 +622,7 @@ def _maybe_empty_lines(self, current_line: Line) -> Tuple[int, int]:
before = 1
else:
before = 2
self.previous_defs.pop()

if current_line.is_decorator or current_line.is_def or current_line.is_class:
return self._maybe_empty_lines_for_class_or_def(current_line, before)

Expand Down

0 comments on commit e7e8d62

Please sign in to comment.