mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
dots after package names shouldn't prevent from chained completion
This commit is contained in:
+10
-1
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user