IDEA-73295 Wrong priorities and presentation for named argument items

This commit is contained in:
Maxim Medvedev
2011-08-23 17:15:14 +04:00
parent 18380140ab
commit 692709b2f0
@@ -105,20 +105,25 @@ class MapArgumentCompletionProvider extends CompletionProvider<CompletionParamet
final GrCall call = (GrCall)argumentList.getParent();
Map<String, GroovyNamedArgumentProvider.ArgumentDescriptor> map = GroovyNamedArgumentProvider.getNamedArgumentsFromAllProviders(call, null, true);
Map<String, GroovyNamedArgumentProvider.ArgumentDescriptor> map =
GroovyNamedArgumentProvider.getNamedArgumentsFromAllProviders(call, null, true);
for (GrNamedArgument argument : PsiUtil.getFirstMapNamedArguments(call)) {
map.remove(argument.getLabelName());
}
for (Map.Entry<String, GroovyNamedArgumentProvider.ArgumentDescriptor> entry : map.entrySet()) {
LookupElement lookup = LookupElementBuilder.create(entry.getKey())
LookupElement lookup = LookupElementBuilder.create(entry.getKey(), entry.getKey())
.setIcon(GroovyIcons.DYNAMIC)
.setInsertHandler(NamedArgumentInsertHandler.INSTANCE);
.setInsertHandler(NamedArgumentInsertHandler.INSTANCE)
.setTailText(":");
if (entry.getValue().isShowFirst()) {
lookup = PrioritizedLookupElement.withPriority(lookup, 1);
}
else {
lookup = PrioritizedLookupElement.withPriority(lookup, -1);
}
result.addElement(lookup);
}