Skip to content

Commit fb493c2

Browse files
committed
introduce Twig pattern class
1 parent 77fd8bb commit fb493c2

30 files changed

+1890
-1846
lines changed

src/fr/adrienbrault/idea/symfony2plugin/asset/AssetGoToDeclarationHandler.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.intellij.psi.PsiElement;
88
import com.intellij.psi.PsiManager;
99
import fr.adrienbrault.idea.symfony2plugin.Symfony2ProjectComponent;
10+
import fr.adrienbrault.idea.symfony2plugin.templating.TwigPattern;
1011
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigHelper;
1112
import org.apache.commons.lang.ArrayUtils;
1213
import org.jetbrains.annotations.Nullable;
@@ -49,7 +50,7 @@ private String[] findValidAssetFilter(PsiElement psiElement) {
4950
}
5051

5152
// asset / absolute_url dont have pre filter
52-
if(TwigHelper.getPrintBlockOrTagFunctionPattern("asset", "absolute_url").accepts(psiElement)) {
53+
if(TwigPattern.getPrintBlockOrTagFunctionPattern("asset", "absolute_url").accepts(psiElement)) {
5354
return (String[]) ArrayUtils.addAll(TwigHelper.CSS_FILES_EXTENSIONS, TwigHelper.JS_FILES_EXTENSIONS);
5455
}
5556

@@ -59,7 +60,7 @@ private String[] findValidAssetFilter(PsiElement psiElement) {
5960
@Nullable
6061
private String[] getFileExtensionFilterIfValidTag(PsiElement psiElement) {
6162
for (String tag: new String[] {"stylesheets", "javascripts"}) {
62-
if (!TwigHelper.getAutocompletableAssetTag(tag).accepts(psiElement)) {
63+
if (!TwigPattern.getAutocompletableAssetTag(tag).accepts(psiElement)) {
6364
continue;
6465
}
6566

src/fr/adrienbrault/idea/symfony2plugin/navigation/TwigFoldingBuilder.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.jetbrains.twig.TwigFile;
1111
import fr.adrienbrault.idea.symfony2plugin.Settings;
1212
import fr.adrienbrault.idea.symfony2plugin.Symfony2ProjectComponent;
13+
import fr.adrienbrault.idea.symfony2plugin.templating.TwigPattern;
1314
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigHelper;
1415
import fr.adrienbrault.idea.symfony2plugin.routing.Route;
1516
import fr.adrienbrault.idea.symfony2plugin.routing.RouteHelper;
@@ -56,7 +57,7 @@ public FoldingDescriptor[] buildFoldRegions(@NotNull PsiElement psiElement, @Not
5657
private void attachTemplateFoldingDescriptors(PsiElement psiElement, List<FoldingDescriptor> descriptors) {
5758
// find path calls in file
5859
PsiElement[] fileReferences = PsiTreeUtil.collectElements(psiElement, psiElement1 ->
59-
TwigHelper.getTemplateFileReferenceTagPattern().accepts(psiElement1) || TwigHelper.getFormThemeFileTag().accepts(psiElement1)
60+
TwigPattern.getTemplateFileReferenceTagPattern().accepts(psiElement1) || TwigHelper.getFormThemeFileTag().accepts(psiElement1)
6061
);
6162

6263
if(fileReferences.length == 0) {
@@ -83,7 +84,7 @@ private void attachPathFoldingDescriptors(PsiElement psiElement, List<FoldingDes
8384

8485
// find path calls in file
8586
PsiElement[] psiElements = PsiTreeUtil.collectElements(psiElement, psiElement12 ->
86-
TwigHelper.getAutocompletableRoutePattern().accepts(psiElement12)
87+
TwigPattern.getAutocompletableRoutePattern().accepts(psiElement12)
8788
);
8889

8990
if(psiElements.length == 0) {
@@ -122,7 +123,7 @@ public String getPlaceholderText() {
122123
private void attachConstantFoldingDescriptors(PsiElement psiElement, List<FoldingDescriptor> descriptors) {
123124
// find path calls in file
124125
PsiElement[] constantReferences = PsiTreeUtil.collectElements(psiElement, psiElement1 ->
125-
TwigHelper.getPrintBlockOrTagFunctionPattern("constant").accepts(psiElement1)
126+
TwigPattern.getPrintBlockOrTagFunctionPattern("constant").accepts(psiElement1)
126127
);
127128

128129
if(constantReferences.length == 0) {

src/fr/adrienbrault/idea/symfony2plugin/routing/inspection/TwigRouteMissingInspection.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import com.intellij.psi.PsiElement;
66
import com.intellij.psi.PsiElementVisitor;
77
import fr.adrienbrault.idea.symfony2plugin.Symfony2ProjectComponent;
8-
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigHelper;
8+
import fr.adrienbrault.idea.symfony2plugin.templating.TwigPattern;
99
import fr.adrienbrault.idea.symfony2plugin.routing.RouteHelper;
1010
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil;
1111
import org.apache.commons.lang.StringUtils;
@@ -24,7 +24,7 @@ public PsiElementVisitor buildVisitor(final @NotNull ProblemsHolder holder, bool
2424
return new PsiElementVisitor() {
2525
@Override
2626
public void visitElement(PsiElement element) {
27-
if(TwigHelper.getAutocompletableRoutePattern().accepts(element) && TwigUtil.isValidStringWithoutInterpolatedOrConcat(element)) {
27+
if(TwigPattern.getAutocompletableRoutePattern().accepts(element) && TwigUtil.isValidStringWithoutInterpolatedOrConcat(element)) {
2828
invoke(element, holder);
2929
}
3030

src/fr/adrienbrault/idea/symfony2plugin/security/VoterGotoCompletionRegistrar.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import com.jetbrains.php.lang.psi.elements.PhpClass;
1010
import com.jetbrains.php.lang.psi.elements.StringLiteralExpression;
1111
import fr.adrienbrault.idea.symfony2plugin.Symfony2Icons;
12-
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigHelper;
12+
import fr.adrienbrault.idea.symfony2plugin.templating.TwigPattern;
1313
import fr.adrienbrault.idea.symfony2plugin.codeInsight.GotoCompletionProvider;
1414
import fr.adrienbrault.idea.symfony2plugin.codeInsight.GotoCompletionRegistrar;
1515
import fr.adrienbrault.idea.symfony2plugin.codeInsight.GotoCompletionRegistrarParameter;
@@ -32,9 +32,9 @@ public void register(@NotNull GotoCompletionRegistrarParameter registrar) {
3232
// {% is_granted(['foobar']) %}
3333
registrar.register(
3434
PlatformPatterns.or(
35-
TwigHelper.getPrintBlockOrTagFunctionPattern("is_granted"),
36-
TwigHelper.getFunctionWithFirstParameterAsArrayPattern("is_granted"),
37-
TwigHelper.getFunctionWithFirstParameterAsLiteralPattern("is_granted")
35+
TwigPattern.getPrintBlockOrTagFunctionPattern("is_granted"),
36+
TwigPattern.getFunctionWithFirstParameterAsArrayPattern("is_granted"),
37+
TwigPattern.getFunctionWithFirstParameterAsLiteralPattern("is_granted")
3838
),
3939
MyVisitorGotoCompletionProvider::new
4040
);

src/fr/adrienbrault/idea/symfony2plugin/templating/BlockGotoCompletionRegistrar.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public class BlockGotoCompletionRegistrar implements GotoCompletionRegistrar {
2525
public void register(@NotNull GotoCompletionRegistrarParameter registrar) {
2626

2727
// {{ block('foo_block') }}
28-
registrar.register(TwigHelper.getPrintBlockFunctionPattern("block"), psiElement -> {
28+
registrar.register(TwigPattern.getPrintBlockFunctionPattern("block"), psiElement -> {
2929
if (!Symfony2ProjectComponent.isEnabled(psiElement)) {
3030
return null;
3131
}

src/fr/adrienbrault/idea/symfony2plugin/templating/FilterGotoCompletionRegistrar.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import com.intellij.psi.PsiElement;
55
import com.intellij.util.containers.ContainerUtil;
66
import fr.adrienbrault.idea.symfony2plugin.Symfony2ProjectComponent;
7-
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigHelper;
87
import fr.adrienbrault.idea.symfony2plugin.codeInsight.GotoCompletionProvider;
98
import fr.adrienbrault.idea.symfony2plugin.codeInsight.GotoCompletionRegistrar;
109
import fr.adrienbrault.idea.symfony2plugin.codeInsight.GotoCompletionRegistrarParameter;
@@ -25,7 +24,7 @@
2524
public class FilterGotoCompletionRegistrar implements GotoCompletionRegistrar {
2625
public void register(@NotNull GotoCompletionRegistrarParameter registrar) {
2726
// {% trans foo<caret>bar %}
28-
registrar.register(TwigHelper.getFilterTagPattern(), psiElement -> {
27+
registrar.register(TwigPattern.getFilterTagPattern(), psiElement -> {
2928
if (!Symfony2ProjectComponent.isEnabled(psiElement)) {
3029
return null;
3130
}

src/fr/adrienbrault/idea/symfony2plugin/templating/TwigLineMarkerProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public void collectSlowLineMarkers(@NotNull List<PsiElement> psiElements, @NotNu
6565
if(overwrites != null) {
6666
results.add(overwrites);
6767
}
68-
} else if (TwigHelper.getBlockTagPattern().accepts(psiElement) || TwigHelper.getPrintBlockFunctionPattern("block").accepts(psiElement)) {
68+
} else if (TwigPattern.getBlockTagPattern().accepts(psiElement) || TwigPattern.getPrintBlockFunctionPattern("block").accepts(psiElement)) {
6969
// blocks: {% block 'foobar' %}, {{ block('foobar') }}
7070

7171
LineMarkerInfo lineImpl = this.attachBlockImplements(psiElement);

0 commit comments

Comments
 (0)