diff --git a/python/src/com/jetbrains/python/codeInsight/editorActions/moveUpDown/StatementMover.java b/python/src/com/jetbrains/python/codeInsight/editorActions/moveUpDown/StatementMover.java index bfadbf105f69..7c6b91609871 100644 --- a/python/src/com/jetbrains/python/codeInsight/editorActions/moveUpDown/StatementMover.java +++ b/python/src/com/jetbrains/python/codeInsight/editorActions/moveUpDown/StatementMover.java @@ -325,6 +325,9 @@ public class StatementMover extends LineMover { PsiElement whiteSpace = myStatementToAddLinebreak.getContainingFile().findElementAt(editor.getDocument().getLineStartOffset(line)); String indent = StringUtil.repeatSymbol(' ', indentOptions.INDENT_SIZE); + + PyStatementWithElse statementWithElse = PsiTreeUtil.getParentOfType(myStatementToAddLinebreak, PyStatementWithElse.class); + if (statementWithElse != null && statementWithElse.getParent() instanceof PyFile) indent = "\n"; if (whiteSpace instanceof PsiWhiteSpace) indent += whiteSpace.getText(); if (down) indent += StringUtil.repeatSymbol(' ', indentOptions.INDENT_SIZE); editor.getDocument().insertString(textRange.getStartOffset(), indent); diff --git a/python/testData/mover/oneLineCompound.py b/python/testData/mover/oneLineCompound.py new file mode 100644 index 000000000000..1fcc496af986 --- /dev/null +++ b/python/testData/mover/oneLineCompound.py @@ -0,0 +1,3 @@ +c = 1 +if True: a = 1 +b = 2 \ No newline at end of file diff --git a/python/testData/mover/oneLineCompound_afterDown.py b/python/testData/mover/oneLineCompound_afterDown.py new file mode 100644 index 000000000000..0ff799819ed7 --- /dev/null +++ b/python/testData/mover/oneLineCompound_afterDown.py @@ -0,0 +1,3 @@ +c = 1 +if True: a = 1 +b = 2 \ No newline at end of file diff --git a/python/testData/mover/oneLineCompound_afterUp.py b/python/testData/mover/oneLineCompound_afterUp.py new file mode 100644 index 000000000000..849b84ac1227 --- /dev/null +++ b/python/testData/mover/oneLineCompound_afterUp.py @@ -0,0 +1,4 @@ +c = 1 +if True: + a = 1 + b = 2 \ No newline at end of file diff --git a/python/testSrc/com/jetbrains/python/PyStatementMoverTest.java b/python/testSrc/com/jetbrains/python/PyStatementMoverTest.java index 056510d08fee..3eca94418fcb 100644 --- a/python/testSrc/com/jetbrains/python/PyStatementMoverTest.java +++ b/python/testSrc/com/jetbrains/python/PyStatementMoverTest.java @@ -107,4 +107,8 @@ public class PyStatementMoverTest extends PyTestCase { public void testClass() { // PY-5196 doTest(); } + + public void testOneLineCompound() { // PY-5198 + doTest(); + } }