Skip to content

Commit 56e0020

Browse files
committed
say goodbye to our TwigHelper
1 parent fb493c2 commit 56e0020

File tree

46 files changed

+2145
-2241
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+2145
-2241
lines changed

META-INF/plugin.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@
189189
<gotoDeclarationHandler implementation="fr.adrienbrault.idea.symfony2plugin.templating.TwigTemplateGoToDeclarationHandler"/>
190190
<gotoDeclarationHandler implementation="fr.adrienbrault.idea.symfony2plugin.config.yaml.YamlGoToDeclarationHandler"/>
191191
<gotoDeclarationHandler implementation="fr.adrienbrault.idea.symfony2plugin.asset.AssetGoToDeclarationHandler"/>
192-
<gotoDeclarationHandler implementation="fr.adrienbrault.idea.symfony2plugin.twig.PhpTemplateGlobalStringGoToDeclarationHandler"/>
192+
<gotoDeclarationHandler implementation="fr.adrienbrault.idea.symfony2plugin.templating.PhpTemplateGlobalStringGoToDeclarationHandler"/>
193193
<gotoDeclarationHandler implementation="fr.adrienbrault.idea.symfony2plugin.config.PhpClassServiceGotoDeclarationHandler"/>
194194
<gotoDeclarationHandler implementation="fr.adrienbrault.idea.symfony2plugin.doctrine.querybuilder.QueryBuilderGotoDeclarationHandler"/>
195195

src/fr/adrienbrault/idea/symfony2plugin/action/SymfonySymbolSearchAction.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import com.jetbrains.php.lang.psi.elements.PhpClass;
2323
import fr.adrienbrault.idea.symfony2plugin.Symfony2Icons;
2424
import fr.adrienbrault.idea.symfony2plugin.Symfony2ProjectComponent;
25-
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigHelper;
2625
import fr.adrienbrault.idea.symfony2plugin.action.model.SymfonySymbolSearchModel;
2726
import fr.adrienbrault.idea.symfony2plugin.dic.ContainerService;
2827
import fr.adrienbrault.idea.symfony2plugin.doctrine.EntityHelper;
@@ -33,6 +32,7 @@
3332
import fr.adrienbrault.idea.symfony2plugin.stubs.ContainerCollectionResolver;
3433
import fr.adrienbrault.idea.symfony2plugin.templating.dict.TwigExtension;
3534
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigExtensionParser;
35+
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil;
3636
import fr.adrienbrault.idea.symfony2plugin.util.PhpElementsUtil;
3737
import fr.adrienbrault.idea.symfony2plugin.util.SymfonyCommandUtil;
3838
import fr.adrienbrault.idea.symfony2plugin.util.dict.SymfonyCommand;
@@ -94,7 +94,7 @@ private ContainerCollectionResolver.ServiceCollector getServiceCollector() {
9494

9595
private Map<String, Set<VirtualFile>> getTemplateMap() {
9696
if(this.templateMap == null) {
97-
this.templateMap = TwigHelper.getTwigAndPhpTemplateFiles(this.project);
97+
this.templateMap = TwigUtil.getTwigAndPhpTemplateFiles(this.project);
9898
}
9999

100100
return this.templateMap;
@@ -110,7 +110,7 @@ private Map<String, Route> getRoutes() {
110110

111111
private Set<String> getTwigMacroSet() {
112112
if(this.twigMacroSet == null) {
113-
this.twigMacroSet = TwigHelper.getTwigMacroSet(this.project);
113+
this.twigMacroSet = TwigUtil.getTwigMacroSet(this.project);
114114
}
115115

116116
return this.twigMacroSet;
@@ -193,7 +193,7 @@ public void processElementsWithName(@NotNull String name, @NotNull Processor<Nav
193193

194194
// @TODO name filter
195195
if(getTemplateMap().containsKey(name)) {
196-
for (PsiFile psiFile : TwigHelper.getTemplatePsiElements(project, name)) {
196+
for (PsiFile psiFile : TwigUtil.getTemplatePsiElements(project, name)) {
197197
processor.process(new NavigationItemEx(psiFile, name, psiFile.getFileType().getIcon(), "Template"));
198198
}
199199
}
@@ -227,7 +227,7 @@ public void processElementsWithName(@NotNull String name, @NotNull Processor<Nav
227227
}
228228

229229
if(getTwigMacroSet().contains(name)) {
230-
for(PsiElement macroTarget: TwigHelper.getTwigMacroTargets(project, name)) {
230+
for(PsiElement macroTarget: TwigUtil.getTwigMacroTargets(project, name)) {
231231
processor.process(new NavigationItemEx(macroTarget, name, TwigIcons.TwigFileIcon, "Macro"));
232232
}
233233
}

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import com.intellij.psi.PsiManager;
99
import fr.adrienbrault.idea.symfony2plugin.Symfony2ProjectComponent;
1010
import fr.adrienbrault.idea.symfony2plugin.templating.TwigPattern;
11-
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigHelper;
11+
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil;
1212
import org.apache.commons.lang.ArrayUtils;
1313
import org.jetbrains.annotations.Nullable;
1414

@@ -34,7 +34,7 @@ public PsiElement[] getGotoDeclarationTargets(PsiElement psiElement, int i, Edit
3434
}
3535

3636
List<PsiElement> psiElements = new ArrayList<>();
37-
for (VirtualFile virtualFile : TwigHelper.resolveAssetsFiles(psiElement.getProject(), psiElement.getText(), fileExtensionFilterIfValidTag)) {
37+
for (VirtualFile virtualFile : TwigUtil.resolveAssetsFiles(psiElement.getProject(), psiElement.getText(), fileExtensionFilterIfValidTag)) {
3838
psiElements.add(PsiManager.getInstance(psiElement.getProject()).findFile(virtualFile));
3939
}
4040

@@ -51,7 +51,7 @@ private String[] findValidAssetFilter(PsiElement psiElement) {
5151

5252
// asset / absolute_url dont have pre filter
5353
if(TwigPattern.getPrintBlockOrTagFunctionPattern("asset", "absolute_url").accepts(psiElement)) {
54-
return (String[]) ArrayUtils.addAll(TwigHelper.CSS_FILES_EXTENSIONS, TwigHelper.JS_FILES_EXTENSIONS);
54+
return (String[]) ArrayUtils.addAll(TwigUtil.CSS_FILES_EXTENSIONS, TwigUtil.JS_FILES_EXTENSIONS);
5555
}
5656

5757
return null;
@@ -66,9 +66,9 @@ private String[] getFileExtensionFilterIfValidTag(PsiElement psiElement) {
6666

6767
switch (tag) {
6868
case "stylesheets":
69-
return TwigHelper.CSS_FILES_EXTENSIONS;
69+
return TwigUtil.CSS_FILES_EXTENSIONS;
7070
case "javascripts":
71-
return TwigHelper.JS_FILES_EXTENSIONS;
71+
return TwigUtil.JS_FILES_EXTENSIONS;
7272
default:
7373
return null;
7474
}

src/fr/adrienbrault/idea/symfony2plugin/completion/xml/XmlGotoCompletionRegistrar.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import com.jetbrains.php.lang.psi.elements.Parameter;
1818
import com.jetbrains.php.lang.psi.elements.PhpClass;
1919
import fr.adrienbrault.idea.symfony2plugin.Symfony2Icons;
20-
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigHelper;
2120
import fr.adrienbrault.idea.symfony2plugin.codeInsight.*;
2221
import fr.adrienbrault.idea.symfony2plugin.codeInsight.utils.GotoCompletionUtil;
2322
import fr.adrienbrault.idea.symfony2plugin.completion.DecoratedServiceCompletionProvider;
@@ -26,6 +25,7 @@
2625
import fr.adrienbrault.idea.symfony2plugin.routing.RouteGotoCompletionProvider;
2726
import fr.adrienbrault.idea.symfony2plugin.stubs.ContainerCollectionResolver;
2827
import fr.adrienbrault.idea.symfony2plugin.templating.TemplateGotoCompletionRegistrar;
28+
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil;
2929
import fr.adrienbrault.idea.symfony2plugin.util.PhpElementsUtil;
3030
import fr.adrienbrault.idea.symfony2plugin.util.completion.PhpClassCompletionProvider;
3131
import fr.adrienbrault.idea.symfony2plugin.util.dict.ServiceUtil;
@@ -313,7 +313,7 @@ public Collection<PsiElement> getPsiTargets(PsiElement element) {
313313
}
314314

315315
return Arrays.asList(
316-
TwigHelper.getTemplatePsiElements(getElement().getProject(), xmlAttributeValue)
316+
TwigUtil.getTemplatePsiElements(getElement().getProject(), xmlAttributeValue)
317317
);
318318
}
319319
};

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313
import com.jetbrains.php.lang.psi.elements.Method;
1414
import com.jetbrains.php.lang.psi.elements.PhpClass;
1515
import fr.adrienbrault.idea.symfony2plugin.Symfony2ProjectComponent;
16-
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigHelper;
1716
import fr.adrienbrault.idea.symfony2plugin.config.EventDispatcherSubscriberUtil;
1817
import fr.adrienbrault.idea.symfony2plugin.config.utils.ConfigUtil;
1918
import fr.adrienbrault.idea.symfony2plugin.dic.container.util.DotEnvUtil;
2019
import fr.adrienbrault.idea.symfony2plugin.dic.container.util.ServiceContainerUtil;
2120
import fr.adrienbrault.idea.symfony2plugin.routing.RouteHelper;
2221
import fr.adrienbrault.idea.symfony2plugin.stubs.ContainerCollectionResolver;
2322
import fr.adrienbrault.idea.symfony2plugin.stubs.ServiceIndexUtil;
23+
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil;
2424
import fr.adrienbrault.idea.symfony2plugin.util.PhpElementsUtil;
2525
import fr.adrienbrault.idea.symfony2plugin.util.PsiElementUtils;
2626
import fr.adrienbrault.idea.symfony2plugin.util.dict.ServiceUtil;
@@ -226,7 +226,7 @@ private Collection<PsiElement> parameterGoToDeclaration(@NotNull PsiElement psiE
226226

227227
@NotNull
228228
private Collection<PsiFile> templateGoto(@NotNull PsiElement psiElement, @NotNull String templateName) {
229-
return Arrays.asList(TwigHelper.getTemplatePsiElements(psiElement.getProject(), templateName));
229+
return Arrays.asList(TwigUtil.getTemplatePsiElements(psiElement.getProject(), templateName));
230230
}
231231

232232
@NotNull

src/fr/adrienbrault/idea/symfony2plugin/external/locator/TwigFileToolboxTargetLocator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import de.espend.idea.php.toolbox.extension.PhpToolboxTargetLocator;
55
import de.espend.idea.php.toolbox.navigation.locator.TargetLocatorParameter;
66
import fr.adrienbrault.idea.symfony2plugin.Symfony2ProjectComponent;
7-
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigHelper;
7+
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil;
88
import org.jetbrains.annotations.NotNull;
99

1010
import java.util.Collection;
@@ -28,7 +28,7 @@ public Collection<PsiElement> getTargets(@NotNull TargetLocatorParameter paramet
2828
}
2929

3030
Collection<PsiElement> psiElements = new HashSet<>();
31-
Collections.addAll(psiElements, TwigHelper.getTemplatePsiElements(parameter.getProject(), target));
31+
Collections.addAll(psiElements, TwigUtil.getTemplatePsiElements(parameter.getProject(), target));
3232
return psiElements;
3333
}
3434
}

src/fr/adrienbrault/idea/symfony2plugin/external/toolbox/provider/TwigToolboxProvider.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import de.espend.idea.php.toolbox.navigation.dict.PhpToolboxDeclarationHandlerParameter;
88
import de.espend.idea.php.toolbox.provider.presentation.ProviderPresentation;
99
import fr.adrienbrault.idea.symfony2plugin.Symfony2ProjectComponent;
10-
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigHelper;
10+
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil;
1111
import icons.TwigIcons;
1212
import org.jetbrains.annotations.NotNull;
1313
import org.jetbrains.annotations.Nullable;
@@ -28,7 +28,7 @@ public Collection<LookupElement> getLookupElements(@NotNull PhpToolboxCompletion
2828
return Collections.emptyList();
2929
}
3030

31-
return TwigHelper.getAllTemplateLookupElements(parameter.getProject());
31+
return TwigUtil.getAllTemplateLookupElements(parameter.getProject());
3232
}
3333

3434
@NotNull
@@ -39,7 +39,7 @@ public Collection<PsiElement> getPsiTargets(@NotNull PhpToolboxDeclarationHandle
3939
}
4040

4141
Collection<PsiElement> psiElements = new HashSet<>();
42-
Collections.addAll(psiElements, TwigHelper.getTemplatePsiElements(parameter.getProject(), parameter.getContents()));
42+
Collections.addAll(psiElements, TwigUtil.getTemplatePsiElements(parameter.getProject(), parameter.getContents()));
4343
return psiElements;
4444
}
4545

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import com.intellij.navigation.NavigationItem;
55
import com.intellij.openapi.project.Project;
66
import fr.adrienbrault.idea.symfony2plugin.Symfony2ProjectComponent;
7-
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigHelper;
7+
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil;
88
import icons.TwigIcons;
99
import org.jetbrains.annotations.NotNull;
1010

@@ -22,7 +22,7 @@ public String[] getNames(Project project, boolean b) {
2222
return new String[0];
2323
}
2424

25-
Collection<String> twigFileNames = TwigHelper.getTwigFileNames(project);
25+
Collection<String> twigFileNames = TwigUtil.getTwigFileNames(project);
2626
return twigFileNames.toArray(new String[twigFileNames.size()]);
2727
}
2828

@@ -33,7 +33,7 @@ public NavigationItem[] getItemsByName(String templateName, String s2, Project p
3333
return new NavigationItem[0];
3434
}
3535

36-
return Arrays.stream(TwigHelper.getTemplatePsiElements(project, templateName))
36+
return Arrays.stream(TwigUtil.getTemplatePsiElements(project, templateName))
3737
.map(psiFile ->
3838
new NavigationItemEx(psiFile, templateName, TwigIcons.TwigFileIcon, "Template", false)
3939
)

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import fr.adrienbrault.idea.symfony2plugin.Settings;
1212
import fr.adrienbrault.idea.symfony2plugin.Symfony2ProjectComponent;
1313
import fr.adrienbrault.idea.symfony2plugin.templating.TwigPattern;
14-
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigHelper;
1514
import fr.adrienbrault.idea.symfony2plugin.routing.Route;
1615
import fr.adrienbrault.idea.symfony2plugin.routing.RouteHelper;
1716
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil;
@@ -57,7 +56,7 @@ public FoldingDescriptor[] buildFoldRegions(@NotNull PsiElement psiElement, @Not
5756
private void attachTemplateFoldingDescriptors(PsiElement psiElement, List<FoldingDescriptor> descriptors) {
5857
// find path calls in file
5958
PsiElement[] fileReferences = PsiTreeUtil.collectElements(psiElement, psiElement1 ->
60-
TwigPattern.getTemplateFileReferenceTagPattern().accepts(psiElement1) || TwigHelper.getFormThemeFileTag().accepts(psiElement1)
59+
TwigPattern.getTemplateFileReferenceTagPattern().accepts(psiElement1) || TwigUtil.getFormThemeFileTag().accepts(psiElement1)
6160
);
6261

6362
if(fileReferences.length == 0) {

src/fr/adrienbrault/idea/symfony2plugin/navigation/controller/TemplatesControllerRelatedGotoCollector.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import com.jetbrains.php.lang.psi.elements.Method;
99
import com.jetbrains.php.lang.psi.elements.PhpClass;
1010
import fr.adrienbrault.idea.symfony2plugin.Symfony2Icons;
11-
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigHelper;
1211
import fr.adrienbrault.idea.symfony2plugin.config.SymfonyPhpReferenceContributor;
1312
import fr.adrienbrault.idea.symfony2plugin.dic.RelatedPopupGotoLineMarker;
1413
import fr.adrienbrault.idea.symfony2plugin.extension.ControllerActionGotoRelatedCollector;
@@ -58,7 +57,7 @@ public void collectGotoRelatedItems(ControllerActionGotoRelatedCollectorParamete
5857
String resolveString = PhpElementsUtil.getStringValue(psiElement);
5958
if(resolveString != null && !uniqueTemplates.contains(resolveString)) {
6059
uniqueTemplates.add(resolveString);
61-
for(PsiElement templateTarget: TwigHelper.getTemplatePsiElements(parameter.getProject(), resolveString)) {
60+
for(PsiElement templateTarget: TwigUtil.getTemplatePsiElements(parameter.getProject(), resolveString)) {
6261
parameter.add(new RelatedPopupGotoLineMarker.PopupGotoRelatedItem(templateTarget, resolveString).withIcon(TwigIcons.TwigFileIcon, Symfony2Icons.TWIG_LINE_MARKER));
6362
}
6463
}
@@ -81,7 +80,7 @@ public static void visitMethodTemplateNames(@NotNull Method method, @NotNull Con
8180
for(PhpDocTag phpDocTag: phpDocTags) {
8281
// resolve annotation and check for template
8382
PhpClass phpClass = AnnotationBackportUtil.getAnnotationReference(phpDocTag, importMap);
84-
if(phpClass != null && PhpElementsUtil.isEqualClassName(phpClass, TwigHelper.TEMPLATE_ANNOTATION_CLASS)) {
83+
if(phpClass != null && PhpElementsUtil.isEqualClassName(phpClass, TwigUtil.TEMPLATE_ANNOTATION_CLASS)) {
8584
Pair<String, PsiElement[]> templateAnnotationFiles = TwigUtil.getTemplateAnnotationFiles(phpDocTag);
8685
if(templateAnnotationFiles != null) {
8786
consumer.accept(Pair.create(templateAnnotationFiles.getFirst(), templateAnnotationFiles.getSecond()));
@@ -94,7 +93,7 @@ public static void visitMethodTemplateNames(@NotNull Method method, @NotNull Con
9493

9594
// on method name
9695
for (String templateName : TwigUtil.getControllerMethodShortcut(method)) {
97-
consumer.accept(Pair.create(templateName, TwigHelper.getTemplatePsiElements(method.getProject(), templateName)));
96+
consumer.accept(Pair.create(templateName, TwigUtil.getTemplatePsiElements(method.getProject(), templateName)));
9897
}
9998
}
10099
}

0 commit comments

Comments
 (0)