8000 service parent key completion should only be valid inside service sco… · Koc/idea-php-symfony2-plugin@6b4acff · GitHub
[go: up one dir, main page]

Skip to content

Commit 6b4acff

Browse files
committed
service parent key completion should only be valid inside service scope Haehnchen#744
1 parent 0a4ec67 commit 6b4acff

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

src/fr/adrienbrault/idea/symfony2plugin/config/yaml/YamlCompletionContributor.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,11 @@ public void addCompletions(@NotNull CompletionParameters parameters,
162162
new PhpClassAndParameterCompletionProvider()
163163
);
164164

165-
extend(CompletionType.BASIC, YamlElementPatternHelper.getSingleLineScalarKey("factory_service", "parent"), new ServiceCompletionProvider());
165+
extend(CompletionType.BASIC, PlatformPatterns.and(
166+
YamlElementPatternHelper.getSingleLineScalarKey("factory_service", "parent"),
167+
YamlElementPatternHelper.getThreeLevelKeyPattern("services")
168+
), new ServiceCompletionProvider());
169+
166170
extend(CompletionType.BASIC, YamlElementPatternHelper.getParameterClassPattern(), new PhpClassCompletionProvider());
167171

168172
extend(CompletionType.BASIC, YamlElementPatternHelper.getOrmSingleLineScalarKey("targetEntity", "targetDocument"), new PhpEntityClassCompletionProvider());

tests/fr/adrienbrault/idea/symfony2plugin/tests/config/yaml/YamlCompletionContributorTest.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ public class YamlCompletionContributorTest extends SymfonyLightCodeInsightFixtur
1515
public void setUp() throws Exception {
1616
super.setUp();
1717

18+
myFixture.copyFileToProject("services.xml");
1819
myFixture.configureByText("config_foo.yml", "");
1920
myFixture.configureByFile("YamlCompletionContributor.php");
2021
}
@@ -131,4 +132,20 @@ public void testClassCompletion() {
131132
"FooController"
132133
);
133134
}
135+
136+
public void testParentAndServiceClassCompletion() {
137+
assertCompletionContains("services.yml", "" +
138+
"services:\n" +
139+
" foo:\n" +
140+
" parent: <caret>\n",
141+
"foo"
142+
);
143+
144+
assertCompletionContains("services.yml", "" +
145+
"services:\n" +
146+
" foo:\n" +
147+
" factory_service: <caret>\n",
148+
"foo"
149+
);
150+
}
134151
}

0 commit comments

Comments
 (0)
0