- Don't repeat reference variant lookup for empty prefix.
- Temporary disable duplicates search with PsiElement position.
This commit is contained in:
+2
-1
@@ -40,7 +40,8 @@ public abstract class JavaClassOrPackageScope extends JetScopeImpl {
|
|||||||
@Nullable
|
@Nullable
|
||||||
protected final PsiClass psiClass;
|
protected final PsiClass psiClass;
|
||||||
|
|
||||||
protected JavaClassOrPackageScope(@NotNull ClassOrNamespaceDescriptor descriptor, @NotNull JavaSemanticServices semanticServices, @Nullable PsiClass psiClass) {
|
protected JavaClassOrPackageScope(@NotNull ClassOrNamespaceDescriptor descriptor, @NotNull JavaSemanticServices semanticServices,
|
||||||
|
@Nullable PsiClass psiClass) {
|
||||||
this.descriptor = descriptor;
|
this.descriptor = descriptor;
|
||||||
this.semanticServices = semanticServices;
|
this.semanticServices = semanticServices;
|
||||||
this.psiClass = psiClass;
|
this.psiClass = psiClass;
|
||||||
|
|||||||
@@ -79,6 +79,9 @@ public class JetCompletionContributor extends CompletionContributor {
|
|||||||
addReferenceVariant(result, variant, positions);
|
addReferenceVariant(result, variant, positions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Prevent from adding reference variants from standard reference contributor
|
||||||
|
result.stopHere();
|
||||||
|
|
||||||
String prefix = result.getPrefixMatcher().getPrefix();
|
String prefix = result.getPrefixMatcher().getPrefix();
|
||||||
|
|
||||||
if (prefix.isEmpty() && parameters.getInvocationCount() < 2) {
|
if (prefix.isEmpty() && parameters.getInvocationCount() < 2) {
|
||||||
@@ -93,8 +96,6 @@ public class JetCompletionContributor extends CompletionContributor {
|
|||||||
if (shouldRunExtensionsCompletion(parameters, prefix)) {
|
if (shouldRunExtensionsCompletion(parameters, prefix)) {
|
||||||
addJetExtensions(jetReference.getExpression(), result, position);
|
addJetExtensions(jetReference.getExpression(), result, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
result.stopHere();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -233,18 +234,18 @@ public class JetCompletionContributor extends CompletionContributor {
|
|||||||
@NotNull LookupElement element,
|
@NotNull LookupElement element,
|
||||||
@NotNull Set<LookupPositionObject> positions) {
|
@NotNull Set<LookupPositionObject> positions) {
|
||||||
|
|
||||||
LookupPositionObject lookupPosition = getLookupPosition(element);
|
// LookupPositionObject lookupPosition = getLookupPosition(element);
|
||||||
if (lookupPosition != null) {
|
// if (lookupPosition != null) {
|
||||||
if (!positions.contains(lookupPosition)) {
|
// if (!positions.contains(lookupPosition)) {
|
||||||
positions.add(lookupPosition);
|
// positions.add(lookupPosition);
|
||||||
result.addElement(element);
|
// result.addElement(element);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// There is already an element with same position - ignore duplicate
|
// // There is already an element with same position - ignore duplicate
|
||||||
}
|
// }
|
||||||
else {
|
// else {
|
||||||
result.addElement(element);
|
result.addElement(element);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
private static LookupPositionObject getLookupPosition(LookupElement element) {
|
private static LookupPositionObject getLookupPosition(LookupElement element) {
|
||||||
|
|||||||
Reference in New Issue
Block a user