don't suggest class names on second basic completion everywhere (IDEA-220421)

GitOrigin-RevId: 49b5e74140abb7378400a435a5368f17b04bd45d
This commit is contained in:
peter
2019-08-12 21:03:03 +03:00
committed by intellij-monorepo-bot
parent 0edbc6e1fb
commit 247f41c0f7
7 changed files with 6 additions and 23 deletions
+1 -1
View File
@@ -1197,7 +1197,7 @@
implementationClass="com.intellij.codeInsight.completion.NullSmartCompletionContributor"/>
<completion.contributor language="JAVA" id="javadoc" order="last, before javaLegacy, before wordCompletion"
implementationClass="com.intellij.codeInsight.completion.JavaDocCompletionContributor"/>
<completion.contributor language="any" id="javaClassName" order="last, before default"
<completion.contributor language="JVM" id="javaClassName" order="last, before default"
implementationClass="com.intellij.codeInsight.completion.JavaClassNameCompletionContributor"/>
<completion.contributor language="JAVA" id="javaMemberName" order="before javaOverride"
implementationClass="com.intellij.codeInsight.completion.JavaMemberNameCompletionContributor"/>
@@ -8,7 +8,6 @@ import com.intellij.lang.LangBundle;
import com.intellij.lang.java.JavaLanguage;
import com.intellij.openapi.actionSystem.IdeActions;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.fileTypes.impl.CustomSyntaxTableFileType;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.patterns.ElementPattern;
@@ -67,10 +66,6 @@ public class JavaClassNameCompletionContributor extends CompletionContributor {
private static boolean mayContainClassName(CompletionParameters parameters) {
PsiElement position = parameters.getPosition();
PsiFile file = position.getContainingFile();
if (file instanceof PsiPlainTextFile || file.getFileType() instanceof CustomSyntaxTableFileType) {
return true;
}
if (SkipAutopopupInStrings.isInStringLiteral(position)) {
return true;
}
@@ -16,8 +16,6 @@
package com.intellij.codeInsight.completion;
import com.intellij.codeInsight.lookup.AutoCompletionPolicy;
import com.intellij.codeInsight.lookup.LookupElement;
import com.intellij.lang.StdLanguages;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
@@ -31,9 +29,7 @@ public class XmlBasicToClassNameDelegator extends CompletionContributor {
public void fillCompletionVariants(@NotNull CompletionParameters parameters, @NotNull final CompletionResultSet result) {
PsiElement position = parameters.getPosition();
PsiFile file = position.getContainingFile();
if (parameters.getCompletionType() != CompletionType.BASIC ||
!JavaCompletionContributor.mayStartClassName(result) ||
!file.getLanguage().isKindOf(StdLanguages.XML)) {
if (parameters.getCompletionType() != CompletionType.BASIC || !JavaCompletionContributor.mayStartClassName(result)) {
return;
}
@@ -45,14 +41,13 @@ public class XmlBasicToClassNameDelegator extends CompletionContributor {
if (empty && JavaClassReferenceCompletionContributor.findJavaClassReference(file, parameters.getOffset()) != null ||
parameters.isExtendedCompletion()) {
CompletionService.getCompletionService().getVariantsFromContributors(parameters.delegateToClassName(), null, completionResult -> {
LookupElement lookupElement = completionResult.getLookupElement();
JavaClassNameCompletionContributor.addAllClasses(parameters, true, result.getPrefixMatcher(), lookupElement -> {
JavaPsiClassReferenceElement classElement = lookupElement.as(JavaPsiClassReferenceElement.CLASS_CONDITION_KEY);
if (classElement != null) {
classElement.setAutoCompletionPolicy(AutoCompletionPolicy.NEVER_AUTOCOMPLETE);
}
lookupElement.putUserData(XmlCompletionContributor.WORD_COMPLETION_COMPATIBLE, Boolean.TRUE); //todo think of a less dirty interaction
result.passResult(completionResult);
result.addElement(lookupElement);
});
}
}
@@ -1 +0,0 @@
abc = StrinBui<caret>
@@ -1 +0,0 @@
abc = java.lang.StringBuilder<caret>
@@ -126,11 +126,6 @@ public class ClassNameCompletionTest extends LightFixtureCompletionTestCase {
public void testBracesAfterNew() { doTest(); }
public void testInPlainTextFile() {
configureByFile(getTestName(false) + ".txt");
checkResultByFile(getTestName(false) + "_after.txt");
}
public void testInPropertiesFile() {
myFixture.configureByText("a.properties", "abc = StrinBui<caret>");
complete();
@@ -589,8 +589,8 @@ action.HippieBackwardCompletion.text=Cyclic _Expand Word (Backward)
action.HippieBackwardCompletion.description=Cyclic Expand word (Backward)
action.SmartTypeCompletion.text=_SmartType
action.SmartTypeCompletion.description=Complete code basing on expected type
action.ClassNameCompletion.text=Class _Name Completion
action.ClassNameCompletion.description=Complete class name and add import for it
action.ClassNameCompletion.text=Second Basic Completion
action.ClassNameCompletion.description=Same as pressing shortcut for Basic Completion twice (may be used to complete non-imported class name)
action.InsertLiveTemplate.text=Insert Live _Template...
action.InsertLiveTemplate.description=Show popup list of live templates starting with the specified prefix
action.ExpandLiveTemplateByTab.text=Expand Live Template by Tab