more priority to groovy kind sorting, don't let HashMap win over hasMany

This commit is contained in:
peter
2011-03-10 20:41:54 +01:00
parent 28cfd1f2cd
commit 7d0893a688
2 changed files with 8 additions and 4 deletions
+2 -2
View File
@@ -208,8 +208,8 @@
<completion.confidence language="Groovy" implementationClass="org.jetbrains.plugins.groovy.lang.completion.GroovyCompletionConfidence" id="groovyAdvanced" order="after groovyNameIdentifier"/>
<completion.confidence language="Groovy" implementationClass="com.intellij.codeInsight.completion.UnfocusedComments" id="groovyComments"/>
<completion.confidence language="Groovy" implementationClass="com.intellij.codeInsight.completion.AlwaysFocusLookup" id="groovyTrue" order="last"/>
<weigher key="completion" implementationClass="org.jetbrains.plugins.groovy.lang.completion.weighers.GrKindWeigher" id="groovyKindWeigher" order="after prefix"/>
<weigher key="completion" implementationClass="org.jetbrains.plugins.groovy.lang.completion.weighers.GrTopClassMembersWeigher" id="groovyTopClassWeigher" order="after groovyKindWeigher, before proximity"/>
<weigher key="completion" implementationClass="org.jetbrains.plugins.groovy.lang.completion.weighers.GrKindWeigher" id="groovyKindWeigher" order="after negativeStats, before stats"/>
<weigher key="completion" implementationClass="org.jetbrains.plugins.groovy.lang.completion.weighers.GrTopClassMembersWeigher" id="groovyTopClassWeigher" order="after prefix, before proximity"/>
<debuggerClassFilterProvider implementation="org.jetbrains.plugins.groovy.debugger.filters.GroovyDebuggerClassFilterProvider"/>
<stackFrameFilter implementation="org.jetbrains.plugins.groovy.debugger.filters.GroovyDebuggerClassFilterProvider"/>
@@ -49,11 +49,15 @@ public class GrKindWeigher extends CompletionWeigher {
if (o instanceof ResolveResult) {
o = ((ResolveResult)o).getElement();
}
if (!(o instanceof PsiElement)) return null;
final PsiElement position = location.getCompletionParameters().getPosition();
if (!(position.getParent() instanceof GrReferenceElement)) {
if (o instanceof PsiClass || o instanceof PsiPackage) return 0;
return 1;
}
if (!(o instanceof PsiElement)) return null;
if (!(position.getParent() instanceof GrReferenceElement)) return null;
final GrReferenceElement parent = (GrReferenceElement)position.getParent();
if (parent.getQualifier() == null) {