From ff473e1ce05d3aa98e567a152167e90fbf3a13c6 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 14 Apr 2011 19:49:11 +0200 Subject: [PATCH] no more word completion autopopup, even in plain text (IDEA-64781) --- .../lang/java/JavaWordCompletionFilter.java | 5 ---- .../lang/DefaultWordCompletionFilter.java | 5 ---- .../completion/WordCompletionContributor.java | 23 ++++--------------- .../PropertiesWordCompletionFilter.java | 5 ---- .../lang/xml/XmlWordCompletionFilter.java | 4 ---- 5 files changed, 5 insertions(+), 37 deletions(-) diff --git a/java/java-impl/src/com/intellij/lang/java/JavaWordCompletionFilter.java b/java/java-impl/src/com/intellij/lang/java/JavaWordCompletionFilter.java index 0c752ae2e23b..ef0e3cb44b04 100644 --- a/java/java-impl/src/com/intellij/lang/java/JavaWordCompletionFilter.java +++ b/java/java-impl/src/com/intellij/lang/java/JavaWordCompletionFilter.java @@ -32,11 +32,6 @@ public class JavaWordCompletionFilter implements WordCompletionElementFilter { JavaDocTokenType.DOC_COMMENT_DATA, JavaTokenType.STRING_LITERAL); public boolean isWordCompletionEnabledIn(final IElementType element) { - final CompletionProcess process = CompletionService.getCompletionService().getCurrentCompletion(); - if (process != null && process.isAutopopupCompletion()) { - return false; - } - return ENABLED_TOKENS.contains(element); } } \ No newline at end of file diff --git a/platform/lang-api/src/com/intellij/lang/DefaultWordCompletionFilter.java b/platform/lang-api/src/com/intellij/lang/DefaultWordCompletionFilter.java index 813c893c80c2..10748cde4272 100644 --- a/platform/lang-api/src/com/intellij/lang/DefaultWordCompletionFilter.java +++ b/platform/lang-api/src/com/intellij/lang/DefaultWordCompletionFilter.java @@ -25,11 +25,6 @@ import com.intellij.psi.tree.IElementType; public class DefaultWordCompletionFilter implements WordCompletionElementFilter { public boolean isWordCompletionEnabledIn(final IElementType element) { - final CompletionProcess process = CompletionService.getCompletionService().getCurrentCompletion(); - if (process != null && process.isAutopopupCompletion()) { - return false; - } - final ParserDefinition parserDefinition = LanguageParserDefinitions.INSTANCE.forLanguage(element.getLanguage()); return parserDefinition != null && parserDefinition.getCommentTokens().contains(element); } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/WordCompletionContributor.java b/platform/lang-impl/src/com/intellij/codeInsight/completion/WordCompletionContributor.java index b43ed802a0ca..1b4de9688e44 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/WordCompletionContributor.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/WordCompletionContributor.java @@ -19,7 +19,6 @@ import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.codeInsight.lookup.LookupElementBuilder; import com.intellij.lang.ASTNode; import com.intellij.lang.LanguageWordCompletion; -import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.DumbService; import com.intellij.psi.PlainTextTokenTypes; @@ -71,6 +70,10 @@ public class WordCompletionContributor extends CompletionContributor implements return true; } + if (parameters.getInvocationCount() == 0) { + return false; + } + final PsiFile file = insertedElement.getContainingFile(); final CompletionData data = CompletionUtil.getCompletionDataByElement(insertedElement, file); if (data != null && !(data instanceof SyntaxTableCompletionData)) { @@ -95,8 +98,7 @@ public class WordCompletionContributor extends CompletionContributor implements ASTNode textContainer = element != null ? element.getNode() : null; while (textContainer != null) { final IElementType elementType = textContainer.getElementType(); - if (LanguageWordCompletion.INSTANCE.isEnabledIn(elementType) || - isPlainText(parameters, elementType)) { + if (LanguageWordCompletion.INSTANCE.isEnabledIn(elementType) || elementType == PlainTextTokenTypes.PLAIN_TEXT) { return true; } textContainer = textContainer.getTreeParent(); @@ -104,19 +106,4 @@ public class WordCompletionContributor extends CompletionContributor implements return false; } - private static boolean isPlainText(CompletionParameters parameters, IElementType elementType) { - if (elementType != PlainTextTokenTypes.PLAIN_TEXT) { - return false; - } - - if (ApplicationManager.getApplication().isUnitTestMode()) { - return true; - } - - if (parameters.getInvocationCount() > 0) { - return true; - } - - return parameters.getOriginalFile().getViewProvider().getVirtualFile().isInLocalFileSystem(); - } } diff --git a/plugins/properties/src/com/intellij/lang/properties/PropertiesWordCompletionFilter.java b/plugins/properties/src/com/intellij/lang/properties/PropertiesWordCompletionFilter.java index f9b71b8e5b9f..01d2430bdc33 100644 --- a/plugins/properties/src/com/intellij/lang/properties/PropertiesWordCompletionFilter.java +++ b/plugins/properties/src/com/intellij/lang/properties/PropertiesWordCompletionFilter.java @@ -27,11 +27,6 @@ import com.intellij.psi.tree.IElementType; public class PropertiesWordCompletionFilter extends DefaultWordCompletionFilter { public boolean isWordCompletionEnabledIn(final IElementType element) { - final CompletionProcess process = CompletionService.getCompletionService().getCurrentCompletion(); - if (process != null && process.isAutopopupCompletion()) { - return false; - } - return super.isWordCompletionEnabledIn(element) || element == PropertiesElementTypes.PROPERTY; } } \ No newline at end of file diff --git a/xml/impl/src/com/intellij/lang/xml/XmlWordCompletionFilter.java b/xml/impl/src/com/intellij/lang/xml/XmlWordCompletionFilter.java index 5c3ae233a136..3fbd001cb180 100644 --- a/xml/impl/src/com/intellij/lang/xml/XmlWordCompletionFilter.java +++ b/xml/impl/src/com/intellij/lang/xml/XmlWordCompletionFilter.java @@ -32,10 +32,6 @@ public class XmlWordCompletionFilter extends DefaultWordCompletionFilter { XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN, XmlTokenType.XML_DATA_CHARACTERS); public boolean isWordCompletionEnabledIn(final IElementType element) { - final CompletionProcess process = CompletionService.getCompletionService().getCurrentCompletion(); - if (process != null && process.isAutopopupCompletion()) { - return false; - } return super.isWordCompletionEnabledIn(element) || ENABLED_TOKENS.contains(element); } } \ No newline at end of file