diff --git a/python/src/META-INF/python-plugin-common.xml b/python/src/META-INF/python-plugin-common.xml index 5ad33c22ebac..b37d64a92fe9 100644 --- a/python/src/META-INF/python-plugin-common.xml +++ b/python/src/META-INF/python-plugin-common.xml @@ -150,6 +150,8 @@ + diff --git a/python/src/com/jetbrains/python/console/PydevCompletionAutopopupBlockingHandler.java b/python/src/com/jetbrains/python/console/PydevCompletionAutopopupBlockingHandler.java new file mode 100644 index 000000000000..d5393f33f5b3 --- /dev/null +++ b/python/src/com/jetbrains/python/console/PydevCompletionAutopopupBlockingHandler.java @@ -0,0 +1,24 @@ +package com.jetbrains.python.console; + +import com.intellij.codeInsight.editorActions.TypedHandlerDelegate; +import com.intellij.openapi.editor.Editor; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.Key; +import com.intellij.psi.PsiFile; + +/** + * @author oleg + * @date 10/26/10 + */ +public class PydevCompletionAutopopupBlockingHandler extends TypedHandlerDelegate { + + public static final Key REPL_KEY = new Key("python.repl.console.editor"); + + @Override + public Result checkAutoPopup(final char charTyped, final Project project, final Editor editor, final PsiFile file) { + if (editor.getUserData(REPL_KEY) != null){ + return Result.DEFAULT; + } + return Result.CONTINUE; + } +} diff --git a/python/src/com/jetbrains/python/console/PydevLanguageConsole.java b/python/src/com/jetbrains/python/console/PydevLanguageConsole.java index 53a218b82e25..c9e67b27f6f9 100644 --- a/python/src/com/jetbrains/python/console/PydevLanguageConsole.java +++ b/python/src/com/jetbrains/python/console/PydevLanguageConsole.java @@ -11,6 +11,8 @@ import com.jetbrains.python.console.pydev.PydevConsoleCommunication; public class PydevLanguageConsole extends LanguageConsoleImpl { public PydevLanguageConsole(final Project project, final String title) { super(project, title, PythonLanguage.getInstance(), false); + // Mark editor as console one, to prevent autopopup completion + getConsoleEditor().putUserData(PydevCompletionAutopopupBlockingHandler.REPL_KEY, new Object()); } public void setPydevConsoleCommunication(final PydevConsoleCommunication communication) {