dots after package names shouldn't prevent from chained completion

This commit is contained in:
peter
2012-03-08 14:46:37 +04:00
parent 3c90060b1b
commit 9023847833
5 changed files with 34 additions and 9 deletions
@@ -35,7 +35,7 @@ public class JavaNoVariantsDelegator extends CompletionContributor {
@Override
public void fillCompletionVariants(final CompletionParameters parameters, final CompletionResultSet result) {
final boolean empty = result.runRemainingContributors(parameters, true).isEmpty();
final boolean empty = containsOnlyPackages(result.runRemainingContributors(parameters, true));
if (!empty && parameters.getInvocationCount() == 0) {
result.restartCompletionWhenNothingMatches();
@@ -46,6 +46,15 @@ public class JavaNoVariantsDelegator extends CompletionContributor {
}
}
public static boolean containsOnlyPackages(LinkedHashSet<CompletionResult> results) {
for (CompletionResult result : results) {
if (!(CompletionUtil.getTargetElement(result.getLookupElement()) instanceof PsiPackage)) {
return false;
}
}
return true;
}
private static void delegate(CompletionParameters parameters, CompletionResultSet result) {
if (parameters.getCompletionType() == CompletionType.BASIC) {
PsiElement position = parameters.getPosition();