Remove blank lines before class docstring (#3692)
This commit is contained in:
parent
db3668a381
commit
2fd9d8b339
@ -16,6 +16,7 @@
|
||||
|
||||
- Implicitly concatenated strings used as function args are no longer wrapped inside
|
||||
parentheses (#3640)
|
||||
- Remove blank lines between a class definition and its docstring (#3692)
|
||||
|
||||
### Configuration
|
||||
|
||||
|
@ -634,6 +634,8 @@ def _maybe_empty_lines(self, current_line: Line) -> Tuple[int, int]:
|
||||
and self.previous_line.is_class
|
||||
and current_line.is_triple_quoted_string
|
||||
):
|
||||
if Preview.no_blank_line_before_class_docstring in current_line.mode:
|
||||
return 0, 1
|
||||
return before, 1
|
||||
|
||||
if self.previous_line and self.previous_line.opens_block:
|
||||
|
@ -158,6 +158,7 @@ class Preview(Enum):
|
||||
hex_codes_in_unicode_sequences = auto()
|
||||
improved_async_statements_handling = auto()
|
||||
multiline_string_handling = auto()
|
||||
no_blank_line_before_class_docstring = auto()
|
||||
prefer_splitting_right_hand_side_of_assignments = auto()
|
||||
# NOTE: string_processing requires wrap_long_dict_values_in_parens
|
||||
# for https://github.com/psf/black/issues/3117 to be fixed.
|
||||
|
58
tests/data/preview/no_blank_line_before_docstring.py
Normal file
58
tests/data/preview/no_blank_line_before_docstring.py
Normal file
@ -0,0 +1,58 @@
|
||||
def line_before_docstring():
|
||||
|
||||
"""Please move me up"""
|
||||
|
||||
|
||||
class LineBeforeDocstring:
|
||||
|
||||
"""Please move me up"""
|
||||
|
||||
|
||||
class EvenIfThereIsAMethodAfter:
|
||||
|
||||
"""I'm the docstring"""
|
||||
def method(self):
|
||||
pass
|
||||
|
||||
|
||||
class TwoLinesBeforeDocstring:
|
||||
|
||||
|
||||
"""I want to be treated the same as if I were closer"""
|
||||
|
||||
|
||||
class MultilineDocstringsAsWell:
|
||||
|
||||
"""I'm so far
|
||||
|
||||
and on so many lines...
|
||||
"""
|
||||
|
||||
|
||||
# output
|
||||
|
||||
|
||||
def line_before_docstring():
|
||||
"""Please move me up"""
|
||||
|
||||
|
||||
class LineBeforeDocstring:
|
||||
"""Please move me up"""
|
||||
|
||||
|
||||
class EvenIfThereIsAMethodAfter:
|
||||
"""I'm the docstring"""
|
||||
|
||||
def method(self):
|
||||
pass
|
||||
|
||||
|
||||
class TwoLinesBeforeDocstring:
|
||||
"""I want to be treated the same as if I were closer"""
|
||||
|
||||
|
||||
class MultilineDocstringsAsWell:
|
||||
"""I'm so far
|
||||
|
||||
and on so many lines...
|
||||
"""
|
Loading…
Reference in New Issue
Block a user