IDEA-139638 Completion: Live template shouldn't have bigger priority than local variable

This commit is contained in:
peter
2015-05-13 17:39:22 +02:00
parent 772645e074
commit 4bd7d2e71c
3 changed files with 15 additions and 1 deletions
@@ -0,0 +1,5 @@
class Foo {
public int main() {
r<caret>
}
}
@@ -22,6 +22,7 @@ import com.intellij.codeInsight.CodeInsightSettings
import com.intellij.codeInsight.lookup.LookupElement
import com.intellij.codeInsight.lookup.LookupElementPresentation
import com.intellij.codeInsight.lookup.impl.LookupImpl
import com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor
import com.intellij.ide.ui.UISettings
import com.intellij.psi.PsiClass
import com.intellij.psi.PsiField
@@ -670,4 +671,10 @@ interface TxANotAnno {}
assertPreferredItems 0, 'get'
}
public void testLiveTemplateOrdering() {
LiveTemplateCompletionContributor.setShowTemplatesInTests(true, getTestRootDisposable())
checkPreferredItems(0, 'return')
assert lookup.items[-1].lookupString == 'ritar'
}
}
@@ -91,7 +91,9 @@ public class LiveTemplateCompletionContributor extends CompletionContributor {
@Override
public void consume(CompletionResult completionResult) {
finalResult.passResult(completionResult);
ensureTemplatesShown(templatesShown, templates, parameters, finalResult);
if (completionResult.isStartMatch()) {
ensureTemplatesShown(templatesShown, templates, parameters, finalResult);
}
}
});