diff options
author | Tor Norbye <tnorbye@google.com> | 2014-07-25 20:12:40 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-07-24 20:55:36 +0000 |
commit | 6044be7330c93bc8dacb0f63e62da8029f39a16f (patch) | |
tree | 0ba72f5de1949e0527874a799baa224cbe1537e0 /python/src/com/jetbrains/python/codeInsight/editorActions/smartEnter/enterProcessors/PyPlainEnterProcessor.java | |
parent | b03a5855292feb8c331815f883fe64372aacd872 (diff) | |
parent | e5266e2343c8d275d79fa0be725180d0fe3a993c (diff) | |
download | idea-6044be7330c93bc8dacb0f63e62da8029f39a16f.tar.gz |
Merge "Merge remote-tracking branch 'aosp/upstream-master' into merge"
Diffstat (limited to 'python/src/com/jetbrains/python/codeInsight/editorActions/smartEnter/enterProcessors/PyPlainEnterProcessor.java')
-rw-r--r-- | python/src/com/jetbrains/python/codeInsight/editorActions/smartEnter/enterProcessors/PyPlainEnterProcessor.java | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/python/src/com/jetbrains/python/codeInsight/editorActions/smartEnter/enterProcessors/PyPlainEnterProcessor.java b/python/src/com/jetbrains/python/codeInsight/editorActions/smartEnter/enterProcessors/PyPlainEnterProcessor.java index d6717905a034..ac2e31252dcf 100644 --- a/python/src/com/jetbrains/python/codeInsight/editorActions/smartEnter/enterProcessors/PyPlainEnterProcessor.java +++ b/python/src/com/jetbrains/python/codeInsight/editorActions/smartEnter/enterProcessors/PyPlainEnterProcessor.java @@ -20,10 +20,7 @@ import com.intellij.openapi.editor.Editor; import com.intellij.psi.PsiElement; import com.intellij.psi.util.PsiTreeUtil; import com.jetbrains.python.codeInsight.editorActions.smartEnter.SmartEnterUtil; -import com.jetbrains.python.psi.PyClass; -import com.jetbrains.python.psi.PyFunction; -import com.jetbrains.python.psi.PyStatementList; -import com.jetbrains.python.psi.PyStatementPart; +import com.jetbrains.python.psi.*; import org.jetbrains.annotations.Nullable; /** @@ -43,10 +40,14 @@ public class PyPlainEnterProcessor implements EnterProcessor { } else if (psiElement instanceof PyClass) { return ((PyClass)psiElement).getStatementList(); - } else { - final CaretModel caretModel = editor.getCaretModel(); - final PsiElement atCaret = psiElement.getContainingFile().findElementAt(caretModel.getOffset()); - PyStatementPart statementPart = PsiTreeUtil.getParentOfType(atCaret, PyStatementPart.class); + } + else if (psiElement instanceof PyWithStatement) { + return PsiTreeUtil.getChildOfType(psiElement, PyStatementList.class); + } + else { + final CaretModel caretModel = editor.getCaretModel(); + final PsiElement atCaret = psiElement.getContainingFile().findElementAt(caretModel.getOffset()); + final PyStatementPart statementPart = PsiTreeUtil.getParentOfType(atCaret, PyStatementPart.class); if (statementPart != null) { return statementPart.getStatementList(); } @@ -55,7 +56,7 @@ public class PyPlainEnterProcessor implements EnterProcessor { } public boolean doEnter(Editor editor, PsiElement psiElement, boolean isModified) { - PyStatementList statementList = getStatementList(psiElement, editor); + final PyStatementList statementList = getStatementList(psiElement, editor); if (statementList != null && statementList.getStatements().length == 0) { SmartEnterUtil.plainEnter(editor); //editor.getCaretModel().moveToOffset(statementList.getTextRange().getEndOffset()); |