From aec0179906945abf680a17d55d4b946965299f59 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 2 Oct 2012 15:38:07 +0200 Subject: [PATCH] since pep8.py complains about blank lines after decorators, add rule to remove them --- .../python/formatter/PythonFormattingModelBuilder.java | 3 +++ python/testData/formatter/blankLineAfterDecorator.py | 5 +++++ python/testData/formatter/blankLineAfterDecorator_after.py | 3 +++ python/testSrc/com/jetbrains/python/PyFormatterTest.java | 4 ++++ 4 files changed, 15 insertions(+) create mode 100644 python/testData/formatter/blankLineAfterDecorator.py create mode 100644 python/testData/formatter/blankLineAfterDecorator_after.py diff --git a/python/src/com/jetbrains/python/formatter/PythonFormattingModelBuilder.java b/python/src/com/jetbrains/python/formatter/PythonFormattingModelBuilder.java index 99a5e9b3ab90..da86dc41a54b 100644 --- a/python/src/com/jetbrains/python/formatter/PythonFormattingModelBuilder.java +++ b/python/src/com/jetbrains/python/formatter/PythonFormattingModelBuilder.java @@ -90,6 +90,9 @@ public class PythonFormattingModelBuilder implements FormattingModelBuilderEx, C .before(ARGUMENT_LIST).spaceIf(commonSettings.SPACE_BEFORE_METHOD_CALL_PARENTHESES) + .around(DECORATOR_CALL).spacing(1, Integer.MAX_VALUE, 0, true, 0) + .after(DECORATOR_LIST).spacing(1, Integer.MAX_VALUE, 0, true, 0) + .aroundInside(EQ, ASSIGNMENT_STATEMENT).spaceIf(commonSettings.SPACE_AROUND_ASSIGNMENT_OPERATORS) .aroundInside(EQ, NAMED_PARAMETER).spaceIf(pySettings.SPACE_AROUND_EQ_IN_NAMED_PARAMETER) .aroundInside(EQ, KEYWORD_ARGUMENT_EXPRESSION).spaceIf(pySettings.SPACE_AROUND_EQ_IN_KEYWORD_ARGUMENT) diff --git a/python/testData/formatter/blankLineAfterDecorator.py b/python/testData/formatter/blankLineAfterDecorator.py new file mode 100644 index 000000000000..2df4ec77e183 --- /dev/null +++ b/python/testData/formatter/blankLineAfterDecorator.py @@ -0,0 +1,5 @@ +@foo + +@bar + +def baz(): pass diff --git a/python/testData/formatter/blankLineAfterDecorator_after.py b/python/testData/formatter/blankLineAfterDecorator_after.py new file mode 100644 index 000000000000..d552e50a9033 --- /dev/null +++ b/python/testData/formatter/blankLineAfterDecorator_after.py @@ -0,0 +1,3 @@ +@foo +@bar +def baz(): pass diff --git a/python/testSrc/com/jetbrains/python/PyFormatterTest.java b/python/testSrc/com/jetbrains/python/PyFormatterTest.java index d0e448c18751..0e9e2e626c45 100644 --- a/python/testSrc/com/jetbrains/python/PyFormatterTest.java +++ b/python/testSrc/com/jetbrains/python/PyFormatterTest.java @@ -179,6 +179,10 @@ public class PyFormatterTest extends PyTestCase { doTest(); } + public void testBlankLineAfterDecorator() { + doTest(); + } + public void testPsiFormatting() { // IDEA-69724 String initial = "def method_name(\n" +