allow to type 'for ' in groovy code without unexpected parentheses

This commit is contained in:
peter
2012-08-28 11:39:22 +02:00
parent fff9375397
commit 4c8d93e841
3 changed files with 10 additions and 2 deletions
@@ -709,7 +709,7 @@ public class JavaCompletionData extends JavaAwareCompletionData {
return false;
}
protected static class OverrideableSpace extends TailTypeDecorator<LookupElement> {
public static class OverrideableSpace extends TailTypeDecorator<LookupElement> {
private final TailType myTail;
public OverrideableSpace(LookupElement keyword, TailType tail) {
@@ -21,6 +21,7 @@ import com.intellij.codeInsight.TailType;
import com.intellij.codeInsight.TailTypes;
import com.intellij.codeInsight.completion.CompletionParameters;
import com.intellij.codeInsight.completion.CompletionResultSet;
import com.intellij.codeInsight.completion.JavaCompletionData;
import com.intellij.codeInsight.completion.ModifierChooser;
import com.intellij.codeInsight.lookup.LookupElement;
import com.intellij.codeInsight.lookup.LookupElementBuilder;
@@ -226,7 +227,7 @@ public class GroovyCompletionData {
private static LookupElement keyword(final String keyword, @NotNull TailType tail) {
LookupElementBuilder element = LookupElementBuilder.create(keyword).bold();
return tail != TailType.NONE ? TailTypeDecorator.withTail(element, tail) : element;
return tail != TailType.NONE ? new JavaCompletionData.OverrideableSpace(element, tail) : element;
}
private static void registerControlCompletion(PsiElement context, CompletionResultSet result) {
@@ -1266,6 +1266,13 @@ def foo(Integer a) {
''')
}
public void testForSpace() {
configure('f<caret>')
myFixture.completeBasic()
myFixture.type 'or '
myFixture.checkResult "for <caret>"
}
void testInferArgumentTypeFromMethod3() {
doBasicTest('''\
def bar(String s) {}