From 47a474328447c7028fefa0eb257ce3be5c338e28 Mon Sep 17 00:00:00 2001 From: Sergey Evdokimov Date: Tue, 29 Mar 2011 20:42:43 +0400 Subject: [PATCH] IDEA-66978 (Intuitive code completion when calling constructors with named parameters) --- .../MapArgumentCompletionProvider.java | 20 +++++---- .../groovy/lang/GroovyMapAttributeTest.groovy | 45 +++++++++++++++++++ 2 files changed, 57 insertions(+), 8 deletions(-) create mode 100644 plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GroovyMapAttributeTest.groovy diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/MapArgumentCompletionProvider.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/MapArgumentCompletionProvider.java index d14fe7b9c916..b2300d53107b 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/MapArgumentCompletionProvider.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/MapArgumentCompletionProvider.java @@ -88,10 +88,14 @@ class MapArgumentCompletionProvider extends CompletionProvider inLabel = psiElement(GroovyTokenTypes.mIDENT).withParent(psiElement(GrArgumentLabel.class).withParent( + GroovyPatterns.methodNamedParameter(null))); - contributor.extend(CompletionType.BASIC, psiElement(GroovyTokenTypes.mIDENT).withParent(psiElement(GrArgumentLabel.class).withParent( - GroovyPatterns.methodNamedParameter(null))), instance); + contributor.extend(CompletionType.BASIC, inArgumentListOfCall, instance); + contributor.extend(CompletionType.BASIC, inLabel, instance); + + contributor.extend(CompletionType.SMART, inArgumentListOfCall, instance); + contributor.extend(CompletionType.SMART, inLabel, instance); } @Override @@ -188,11 +192,11 @@ class MapArgumentCompletionProvider extends CompletionProvider) + } +} +""") + myFixture.configureFromExistingVirtualFile file.virtualFile + + def res = myFixture.complete(CompletionType.SMART) + assertNotNull(res) + assertSize(2, res) + } + +}