mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-2189 Do not perform autopopup handler in case of REPL console
This commit is contained in:
@@ -150,6 +150,8 @@
|
||||
<defaultLiveTemplatesProvider implementation="com.jetbrains.python.codeInsight.PyDefaultLiveTemplatesProvider"/>
|
||||
|
||||
<completion.contributor language="Python" implementationClass="com.jetbrains.python.codeInsight.PyClassNameCompletionContributor"/>
|
||||
<typedHandler implementation="com.jetbrains.python.console.PydevCompletionAutopopupBlockingHandler" id="pydevBlockAutoPopup"
|
||||
order="before completionAutoPopup"/>
|
||||
|
||||
<referencesSearch implementation="com.jetbrains.python.psi.search.PyInitReferenceSearchExecutor"/>
|
||||
<referencesSearch implementation="com.jetbrains.python.psi.search.PyStringReferenceSearch"/>
|
||||
|
||||
@@ -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<Object> REPL_KEY = new Key<Object>("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;
|
||||
}
|
||||
}
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user