diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CompletionAutoPopupHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CompletionAutoPopupHandler.java
index 8f2149d10191..d5fe732253b4 100644
--- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CompletionAutoPopupHandler.java
+++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CompletionAutoPopupHandler.java
@@ -21,10 +21,12 @@ import com.intellij.codeInsight.completion.CompletionPhase;
import com.intellij.codeInsight.completion.CompletionType;
import com.intellij.codeInsight.completion.impl.CompletionServiceImpl;
import com.intellij.codeInsight.lookup.LookupManager;
+import com.intellij.codeInsight.lookup.impl.LookupImpl;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.editor.EditorModificationUtil;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.openapi.project.IndexNotReadyException;
import com.intellij.openapi.project.Project;
@@ -63,11 +65,21 @@ public class CompletionAutoPopupHandler extends TypedHandlerDelegate {
CompletionServiceImpl.setCompletionPhase(CompletionPhase.NoCompletion);
}
+
if (oldPhase instanceof CompletionPhase.CommittingDocuments && ((CompletionPhase.CommittingDocuments)oldPhase).restartCompletion()) {
return Result.STOP;
}
- if (LookupManager.getInstance(project).getActiveLookup() != null) {
+ LookupImpl lookup = (LookupImpl)LookupManager.getActiveLookup(editor);
+ if (lookup != null) {
+ if (editor.getSelectionModel().hasSelection()) {
+ lookup.performGuardedChange(new Runnable() {
+ @Override
+ public void run() {
+ EditorModificationUtil.deleteSelectedText(editor);
+ }
+ });
+ }
return Result.STOP;
}
diff --git a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupTypedHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupTypedHandler.java
index 8e4dc4b0a886..341c57bca4b2 100644
--- a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupTypedHandler.java
+++ b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupTypedHandler.java
@@ -46,21 +46,6 @@ import java.util.Arrays;
public class LookupTypedHandler extends TypedHandlerDelegate {
private static boolean inside = false;
- @Override
- public Result checkAutoPopup(char charTyped, Project project, final Editor editor, PsiFile file) {
- LookupImpl lookup = (LookupImpl)LookupManager.getActiveLookup(editor);
- if (lookup != null && editor.getSelectionModel().hasSelection()) {
- lookup.performGuardedChange(new Runnable() {
- @Override
- public void run() {
- EditorModificationUtil.deleteSelectedText(editor);
- }
- });
- }
-
- return lookup != null ? Result.STOP : Result.CONTINUE;
- }
-
@Override
public Result beforeCharTyped(final char charTyped,
Project project,
diff --git a/platform/platform-resources/src/META-INF/LangExtensions.xml b/platform/platform-resources/src/META-INF/LangExtensions.xml
index 07916b61a0ca..0bdd158f4992 100644
--- a/platform/platform-resources/src/META-INF/LangExtensions.xml
+++ b/platform/platform-resources/src/META-INF/LangExtensions.xml
@@ -529,7 +529,7 @@
-
+