IDEA-98239 ClassName completion no longer works inside ftlvariable "type" attribute

This commit is contained in:
peter
2013-01-22 17:16:11 +01:00
parent 95a19cce11
commit e39ec1fa5d
2 changed files with 14 additions and 4 deletions
@@ -66,7 +66,7 @@ public class JavaClassReferenceCompletionContributor extends CompletionContribut
return;
}
if (parameters.getCompletionType() == CompletionType.CLASS_NAME) {
if (parameters.isExtendedCompletion()) {
JavaClassNameCompletionContributor.addAllClasses(parameters, result);
}
else {
@@ -37,13 +37,23 @@ public class XmlBasicToClassNameDelegator extends CompletionContributor {
return;
}
final boolean empty = result.runRemainingContributors(parameters, true).isEmpty();
final boolean[] empty = {true};
result.runRemainingContributors(parameters, new Consumer<CompletionResult>() {
@Override
public void consume(CompletionResult completionResult) {
empty[0] = false;
LookupElement lookupElement = completionResult.getLookupElement();
lookupElement
.putUserData(XmlCompletionContributor.WORD_COMPLETION_COMPATIBLE, Boolean.TRUE); //todo think of a less dirty interaction
result.passResult(completionResult);
}
});
if (!empty && parameters.getInvocationCount() == 0) {
if (!empty[0] && parameters.getInvocationCount() == 0) {
result.restartCompletionWhenNothingMatches();
}
if (empty && JavaClassReferenceCompletionContributor.findJavaClassReference(file, parameters.getOffset()) != null ||
if (JavaClassReferenceCompletionContributor.findJavaClassReference(file, parameters.getOffset()) == null &&
parameters.isExtendedCompletion()) {
CompletionService.getCompletionService().getVariantsFromContributors(parameters.delegateToClassName(), null, new Consumer<CompletionResult>() {
@Override