Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public class YamlCompletionContributor extends CompletionContributor {

// @TODO: use xsd file
// Symfony/Component/DependencyInjection/Loader/schema/dic/services/services-1.0.xsd
private static final Map<String, String> SERVICE_KEYS = Collections.unmodifiableMap(new HashMap<String, String>() {{
private static final Map<String, String> SERVICE_KEYS = Collections.unmodifiableMap(new HashMap<>() {{
put("class", "(string)");
put("public", "(bool)");
put("tags", null);
Expand Down Expand Up @@ -96,7 +96,7 @@ public class YamlCompletionContributor extends CompletionContributor {
put("exclude", ">= 2.8");
}});

private static final Map<String, String> ROUTE_KEYS = Collections.unmodifiableMap(new HashMap<String, String>() {{
private static final Map<String, String> ROUTE_KEYS = Collections.unmodifiableMap(new HashMap<>() {{
put("pattern", "deprecated");
put("defaults", "(bool)");
put("path", "(string)");
Expand Down Expand Up @@ -136,28 +136,28 @@ public YamlCompletionContributor() {

extend(
CompletionType.BASIC, YamlElementPatternHelper.getServiceParameterDefinition(),
new CompletionProvider<CompletionParameters>() {
new CompletionProvider<>() {
public void addCompletions(@NotNull CompletionParameters parameters,
@NotNull ProcessingContext context,
@NotNull CompletionResultSet resultSet) {

if(!Symfony2ProjectComponent.isEnabled(parameters.getPosition())) {
if (!Symfony2ProjectComponent.isEnabled(parameters.getPosition())) {
return;
}

PsiElement element = parameters.getOriginalPosition();

if(element == null) {
if (element == null) {
return;
}

for(ContainerParameter containerParameter: ContainerCollectionResolver.getParameters(parameters.getPosition().getProject()).values()) {
for (ContainerParameter containerParameter : ContainerCollectionResolver.getParameters(parameters.getPosition().getProject()).values()) {
resultSet.addElement(new ParameterLookupElement(containerParameter, ParameterPercentWrapInsertHandler.getInstance(), element.getText()));
}

for (String s : DotEnvUtil.getEnvironmentVariables(element.getProject())) {
resultSet.addElement(new ParameterLookupElement(new ContainerParameter("env(" + s +")", false), ParameterPercentWrapInsertHandler.getInstance(), element.getText()));
resultSet.addElement(new ParameterLookupElement(new ContainerParameter("env(resolve:" + s +")", false), ParameterPercentWrapInsertHandler.getInstance(), element.getText()));
resultSet.addElement(new ParameterLookupElement(new ContainerParameter("env(" + s + ")", false), ParameterPercentWrapInsertHandler.getInstance(), element.getText()));
resultSet.addElement(new ParameterLookupElement(new ContainerParameter("env(resolve:" + s + ")", false), ParameterPercentWrapInsertHandler.getInstance(), element.getText()));
}
}
}
Expand Down Expand Up @@ -271,7 +271,7 @@ public void addCompletions(@NotNull CompletionParameters parameters,
*/
private static class MyFactoryStringMethodCompletionProvider extends CompletionProvider<CompletionParameters> {
@Override
protected void addCompletions(@NotNull CompletionParameters parameters, ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {
protected void addCompletions(@NotNull CompletionParameters parameters, @NotNull ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {
PsiElement position = parameters.getPosition();
if(!Symfony2ProjectComponent.isEnabled(position)) {
return;
Expand Down Expand Up @@ -307,7 +307,7 @@ protected void addCompletions(@NotNull CompletionParameters parameters, Processi

private static class FactoryMethodCompletionProvider extends CompletionProvider<CompletionParameters> {
@Override
protected void addCompletions(@NotNull CompletionParameters parameters, ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {
protected void addCompletions(@NotNull CompletionParameters parameters, @NotNull ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {

PsiElement position = parameters.getPosition();
if(!Symfony2ProjectComponent.isEnabled(position)) {
Expand Down Expand Up @@ -335,7 +335,7 @@ protected void addCompletions(@NotNull CompletionParameters parameters, Processi

public static class DirectoryScopeCompletionProvider extends CompletionProvider<CompletionParameters> {
@Override
protected void addCompletions(@NotNull CompletionParameters completionParameters, final ProcessingContext processingContext, @NotNull final CompletionResultSet completionResultSet) {
protected void addCompletions(@NotNull CompletionParameters completionParameters, final @NotNull ProcessingContext processingContext, @NotNull final CompletionResultSet completionResultSet) {

PsiFile originalFile = completionParameters.getOriginalFile();
if(!Symfony2ProjectComponent.isEnabled(originalFile)) {
Expand Down Expand Up @@ -380,7 +380,7 @@ public boolean visitFile(@NotNull VirtualFile file) {
*/
private static class MyServiceKeyAsClassCompletionParametersCompletionProvider extends CompletionProvider<CompletionParameters> {
@Override
protected void addCompletions(@NotNull CompletionParameters parameters, ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {
protected void addCompletions(@NotNull CompletionParameters parameters, @NotNull ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {
PsiElement position = parameters.getPosition();

if(!Symfony2ProjectComponent.isEnabled(position)) {
Expand All @@ -405,7 +405,7 @@ protected void addCompletions(@NotNull CompletionParameters parameters, Processi
*/
private static class NamedArgumentCompletionProvider extends CompletionProvider<CompletionParameters> {
@Override
protected void addCompletions(@NotNull CompletionParameters parameters, ProcessingContext context, @NotNull CompletionResultSet result) {
protected void addCompletions(@NotNull CompletionParameters parameters, @NotNull ProcessingContext context, @NotNull CompletionResultSet result) {
HashSet<String> uniqueParameters = new HashSet<>();

ServiceContainerUtil.visitNamedArguments(parameters.getPosition().getContainingFile(), parameter -> {
Expand All @@ -430,9 +430,9 @@ protected void addCompletions(@NotNull CompletionParameters parameters, Processi
* tags:
* - { method: 'foobar' }
*/
private class ServiceCallsMethodTestCompletion extends CompletionProvider<CompletionParameters> {
private static class ServiceCallsMethodTestCompletion extends CompletionProvider<CompletionParameters> {

protected void addCompletions(@NotNull CompletionParameters completionParameters, ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {
protected void addCompletions(@NotNull CompletionParameters completionParameters, @NotNull ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {
if(!Symfony2ProjectComponent.isEnabled(completionParameters.getPosition())) {
return;
}
Expand All @@ -450,15 +450,14 @@ protected void addCompletions(@NotNull CompletionParameters completionParameters
}
}

private class ServiceClassMethodInsideScalarKeyCompletion extends CompletionProvider<CompletionParameters> {

private String yamlArrayKeyName;
private static class ServiceClassMethodInsideScalarKeyCompletion extends CompletionProvider<CompletionParameters> {
private final String yamlArrayKeyName;

ServiceClassMethodInsideScalarKeyCompletion(String yamlArrayKeyName) {
this.yamlArrayKeyName = yamlArrayKeyName;
}

protected void addCompletions(@NotNull CompletionParameters completionParameters, ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {
protected void addCompletions(@NotNull CompletionParameters completionParameters, @NotNull ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {

if(!Symfony2ProjectComponent.isEnabled(completionParameters.getPosition())) {
return;
Expand All @@ -476,9 +475,9 @@ protected void addCompletions(@NotNull CompletionParameters completionParameters

}

private class ServiceCallsMethodCompletion extends CompletionProvider<CompletionParameters> {
private static class ServiceCallsMethodCompletion extends CompletionProvider<CompletionParameters> {

protected void addCompletions(@NotNull CompletionParameters completionParameters, ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {
protected void addCompletions(@NotNull CompletionParameters completionParameters, @NotNull ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {
if(!Symfony2ProjectComponent.isEnabled(completionParameters.getPosition())) {
return;
}
Expand Down Expand Up @@ -517,7 +516,7 @@ private static void addYamlClassMethods(@Nullable PsiElement psiElement, Complet

private static class FormAliasCompletionProvider extends CompletionProvider<CompletionParameters> {
@Override
protected void addCompletions(@NotNull CompletionParameters completionParameters, ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {
protected void addCompletions(@NotNull CompletionParameters completionParameters, @NotNull ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {

if(!Symfony2ProjectComponent.isEnabled(completionParameters.getPosition())) {
return;
Expand Down Expand Up @@ -547,7 +546,7 @@ protected void addCompletions(@NotNull CompletionParameters completionParameters

private static class OrmRelationCompletionProvider extends CompletionProvider<CompletionParameters> {
@Override
protected void addCompletions(@NotNull CompletionParameters completionParameters, ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {
protected void addCompletions(@NotNull CompletionParameters completionParameters, @NotNull ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {

PsiElement position = completionParameters.getPosition();
if(!Symfony2ProjectComponent.isEnabled(position)) {
Expand Down Expand Up @@ -590,7 +589,7 @@ protected void addCompletions(@NotNull CompletionParameters completionParameters
*/
private static class ReferencedColumnCompletionProvider extends CompletionProvider<CompletionParameters> {
@Override
protected void addCompletions(@NotNull CompletionParameters completionParameters, ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {
protected void addCompletions(@NotNull CompletionParameters completionParameters, @NotNull ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {

PsiElement position = completionParameters.getPosition();
if(!Symfony2ProjectComponent.isEnabled(position)) {
Expand Down Expand Up @@ -661,9 +660,9 @@ public void addCompletions(@NotNull CompletionParameters parameters, ProcessingC
/**
* "requirements" on "path/pattern: /hello/{name}"
*/
private class RouteRequirementsCompletion extends CompletionProvider<CompletionParameters> {
private static class RouteRequirementsCompletion extends CompletionProvider<CompletionParameters> {
@Override
protected void addCompletions(@NotNull CompletionParameters completionParameters, ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {
protected void addCompletions(@NotNull CompletionParameters completionParameters, @NotNull ProcessingContext processingContext, @NotNull CompletionResultSet completionResultSet) {
YAMLKeyValue yamlKeyValue = PsiTreeUtil.getParentOfType(completionParameters.getOriginalPosition(), YAMLKeyValue.class);
if(yamlKeyValue != null) {
PsiElement compoundValue = yamlKeyValue.getParent();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -843,7 +843,18 @@ public boolean accepts(@NotNull YAMLKeyValue yamlKeyValue, ProcessingContext con
PlatformPatterns.psiElement(YAMLScalar.class).withParent(PlatformPatterns.or(bindKey, argumentsKey))
);

return PlatformPatterns.or(argumentPattern, incompleteCodePattern);
// incomplete code 2.0 for new phpstorm version.
// bind:
// $<caret>
PsiElementPattern.Capture<PsiElement> incompleteCodePattern2 = PlatformPatterns.psiElement(YAMLTokenTypes.TEXT).withText(PlatformPatterns.string().startsWith("$")).withParent(PlatformPatterns.psiElement(YAMLScalar.class).withParent(PlatformPatterns.psiElement(YAMLKeyValue.class).with(new PatternCondition<YAMLKeyValue>("KeyText") {
@Override
public boolean accepts(@NotNull YAMLKeyValue yamlKeyValue, ProcessingContext context) {
String keyText = yamlKeyValue.getKeyText();
return "arguments".equals(keyText) || "bind".equals(keyText);
}
})));

return PlatformPatterns.or(argumentPattern, incompleteCodePattern, incompleteCodePattern2);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -588,6 +588,11 @@ public static boolean hasMissingYamlNamedArgumentForInspection(@NotNull PsiEleme
* _defaults:
* bind:
* $<caret>: ''
*
* services:
* Foo:
* arguments:
* $<caret>
*/
public static void visitNamedArguments(@NotNull PsiFile psiFile, @NotNull Consumer<Parameter> processor) {
if (psiFile instanceof YAMLFile) {
Expand Down