Repository navigation
fix: keep blank line after nested def/class with one-line docstring - #393
Open
wolfgang-aura wants to merge 2 commits into
Open
wolfgang-aura wants to merge 2 commits into
wolfgang-aura wants to merge 2 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #354.
A nested function or class whose docstring is a single line lost the blank line ruff and black expect before the next statement in the enclosing scope. With
--blank, a nested class got two blank lines instead of one. The two formatters then kept undoing each other._get_function_docstring_newlines: when the next code is indented less than the docstring, it belongs to the enclosing scope, so keep one blank line._get_class_docstring_newlines: two blank lines only when the next code is at column 0; one for a nested class.Added
test_nested_definition_blank_line_kept, which checks that a nested def and a nested class round-trip unchanged, with and without--blank.tests/formatterand the unit-test modules pass, and black, isort, ruff and pydocstyle are clean.Prepared with AI assistance (Claude).