From adce84ccc80d4b03c274cfec57e49058094fc0f9 Mon Sep 17 00:00:00 2001 From: Maxim Medvedev Date: Mon, 7 Dec 2009 16:03:35 +0300 Subject: [PATCH] remove keywords from completion after .& in Groovy --- .../plugins/groovy/lang/completion/GroovyCompletionData.java | 10 ++-------- .../lang/completion/filters/types/BuiltInTypeFilter.java | 3 +-- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/GroovyCompletionData.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/GroovyCompletionData.java index a313f82b2c..1ca95d8552 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/GroovyCompletionData.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/GroovyCompletionData.java @@ -124,13 +124,7 @@ public class GroovyCompletionData extends CompletionData { private void registerBuiltInTypesAsArgumentCompletion() { AndFilter filter = new AndFilter(new BuiltInTypeAsArgumentFilter(), new NotFilter(new ThrowsFilter())); - LeftNeighbour afterDotFilter = new LeftNeighbour(new TextFilter(".")); - CompletionVariant variant = new CompletionVariant(new AndFilter(new NotFilter(afterDotFilter), filter)); - variant.includeScopeClass(LeafPsiElement.class); - for (String completion : BUILT_IN_TYPES) { - variant.addCompletion(completion, TailType.SPACE); - } - registerVariant(variant); + registerStandardCompletion(filter, BUILT_IN_TYPES); } private void registerSimpleExprsCompletion() { @@ -193,7 +187,7 @@ public class GroovyCompletionData extends CompletionData { * @param keywords - Keywords to be completed */ private void registerStandardCompletion(ElementFilter filter, String... keywords) { - LeftNeighbour afterDotFilter = new LeftNeighbour(new TextFilter(".")); + LeftNeighbour afterDotFilter = new LeftNeighbour(new TextFilter(".", ".&")); CompletionVariant variant = new CompletionVariant(new AndFilter(new NotFilter(afterDotFilter), filter)); variant.setItemProperty(LookupItem.HIGHLIGHTED_ATTR, ""); variant.includeScopeClass(LeafPsiElement.class); diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/filters/types/BuiltInTypeFilter.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/filters/types/BuiltInTypeFilter.java index 683c1d83b7..d867f977af 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/filters/types/BuiltInTypeFilter.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/filters/types/BuiltInTypeFilter.java @@ -58,8 +58,7 @@ public class BuiltInTypeFilter implements ElementFilter { ASTNode node = prevSibling.getNode(); return !GroovyTokenTypes.DOTS.contains(node.getElementType()); } else { - return !(previous != null && - GroovyTokenTypes.mAT.equals(previous.getNode().getElementType())); + return true; } } if (PsiImplUtil.realPrevious(context.getParent().getPrevSibling()) instanceof GrModifierList) { -- 2.11.4.GIT