IDEA-102817 Accept completion variants by closing parentheses/brackets

This commit is contained in:
peter
2013-03-11 11:43:27 +01:00
parent 6409f9f6a3
commit 7f31bbcbee
6 changed files with 18 additions and 4 deletions

View File

@@ -76,7 +76,7 @@ public class JavaCharFilter extends CharFilter {
}
if (c == '[') return CharFilter.Result.SELECT_ITEM_AND_FINISH_LOOKUP;
if (c == '[' || c == ']' || c == ')' || c == '>') return CharFilter.Result.SELECT_ITEM_AND_FINISH_LOOKUP;
if (c == '<' && o instanceof PsiClass) return Result.SELECT_ITEM_AND_FINISH_LOOKUP;
if (c == '(') {
if (o instanceof PsiClass) {

View File

@@ -0,0 +1,5 @@
class Bar {
int foo(Object o1, Object o2) {
return equals(o<caret>)
}
}

View File

@@ -0,0 +1,5 @@
class Bar {
int foo(Object o1, Object o2) {
return equals(o1)<caret>
}
}

View File

@@ -1126,6 +1126,8 @@ public class ListUtils {
public void testMethodColon() throws Exception { doTest(':') }
public void testVariableColon() throws Exception { doTest(':') }
public void testFinishByClosingParenthesis() throws Exception { doTest(')') }
public void testNoMethodsInParameterType() {
configure()
assertFirstStringItems "final", "float"

View File

@@ -15,11 +15,9 @@
*/
package org.jetbrains.plugins.groovy.lang.completion;
import com.intellij.codeInsight.completion.JavaCharFilter;
import com.intellij.codeInsight.lookup.CharFilter;
import com.intellij.codeInsight.lookup.Lookup;
import com.intellij.codeInsight.lookup.LookupElement;
import com.intellij.codeInsight.lookup.impl.LookupImpl;
import com.intellij.patterns.StandardPatterns;
import com.intellij.psi.*;
import org.jetbrains.annotations.Nullable;
@@ -72,7 +70,7 @@ public class GroovyReferenceCharFilter extends CharFilter {
}
if (c == '[') return CharFilter.Result.SELECT_ITEM_AND_FINISH_LOOKUP;
if (c == '[' || c == ']' || c == ')' || c == '>') return CharFilter.Result.SELECT_ITEM_AND_FINISH_LOOKUP;
if (c == '<' && item.getObject() instanceof PsiClass) return Result.SELECT_ITEM_AND_FINISH_LOOKUP;
if (c == '(' && PsiKeyword.RETURN.equals(item.getLookupString())) {
return Result.HIDE_LOOKUP;

View File

@@ -641,6 +641,10 @@ class A {
myFixture.checkResult "List<String> l = new ArrayList<>(<caret>)"
}
public void testFinishByClosingBracket() {
doCompletionTest "int o1, o2; array[o<caret>", "int o1, o2; array[o1]<caret>", "]", CompletionType.BASIC
}
public void testAfterNewWithInner() {
myFixture.addClass """class Zzoo {
static class Impl {}