package com.nvlad.yii2support.database; import com.intellij.codeInsight.completion.CompletionType; import com.intellij.patterns.ElementPattern; import com.intellij.patterns.PlatformPatterns; import com.intellij.psi.PsiElement; import com.jetbrains.php.lang.psi.elements.ArrayCreationExpression; import com.jetbrains.php.lang.psi.elements.MethodReference; import org.jetbrains.annotations.NotNull; public class ParamsCompletionContributor extends com.intellij.codeInsight.completion.CompletionContributor { public ParamsCompletionContributor() { extend(CompletionType.BASIC, ElementPattern(), new ParamsCompletionProvider()); } @Override public boolean invokeAutoPopup(@NotNull PsiElement position, char typeChar) { if ((typeChar == '\'' || typeChar == '"') && position.getParent() instanceof ArrayCreationExpression) { return true; } return false; } private static ElementPattern<PsiElement> ElementPattern() { return PlatformPatterns.or( PlatformPatterns.psiElement().withSuperParent(3, ArrayCreationExpression.class), PlatformPatterns.psiElement().withSuperParent(4, ArrayCreationExpression.class)); } }