Skip to content

Commit 3fb23cb

Browse files
authored
Merge pull request #1803 from Haehnchen/feature/xml-linemaker-filter
xml line marker should only trigger with "xml" extension
2 parents 6b30cbb + 7b9eebe commit 3fb23cb

File tree

4 files changed

+41
-0
lines changed

4 files changed

+41
-0
lines changed

src/main/java/fr/adrienbrault/idea/symfony2plugin/config/xml/XmlHelper.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package fr.adrienbrault.idea.symfony2plugin.config.xml;
22

3+
import com.intellij.ide.highlighter.XmlFileType;
4+
import com.intellij.openapi.vfs.VirtualFile;
35
import com.intellij.patterns.*;
46
import com.intellij.psi.PsiElement;
57
import com.intellij.psi.PsiFile;
@@ -797,4 +799,25 @@ public static PsiElementPattern.Capture<PsiElement> getXmlTagNameLeafStartPatter
797799
.afterLeaf(PlatformPatterns.psiElement(XmlTokenType.XML_START_TAG_START))
798800
.withParent(XmlTag.class);
799801
}
802+
803+
public static boolean isXmlFileExtension(@NotNull PsiFile psiFile) {
804+
if (psiFile.getFileType() != XmlFileType.INSTANCE) {
805+
return false;
806+
}
807+
808+
String filename = psiFile.getName();
809+
810+
int i = filename.lastIndexOf('.');
811+
String extension = null;
812+
if (i > 0) {
813+
extension = filename.substring(i + 1).toLowerCase();
814+
}
815+
816+
if ("xml".equalsIgnoreCase(extension)) {
817+
return true;
818+
}
819+
820+
VirtualFile virtualFile = psiFile.getVirtualFile();
821+
return virtualFile == null || !"xml".equalsIgnoreCase(virtualFile.getExtension());
822+
}
800823
}

src/main/java/fr/adrienbrault/idea/symfony2plugin/dic/linemarker/XmlLineMarkerProvider.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.intellij.patterns.XmlPatterns;
77
import com.intellij.patterns.XmlTagPattern;
88
import com.intellij.psi.PsiElement;
9+
import com.intellij.psi.PsiFile;
910
import com.intellij.psi.xml.XmlTag;
1011
import fr.adrienbrault.idea.symfony2plugin.Symfony2ProjectComponent;
1112
import fr.adrienbrault.idea.symfony2plugin.config.xml.XmlHelper;
@@ -33,6 +34,11 @@ public void collectSlowLineMarkers(@NotNull List<? extends PsiElement> psiElemen
3334
return;
3435
}
3536

37+
PsiFile containingFile = psiElements.get(0).getContainingFile();
38+
if (containingFile == null || !XmlHelper.isXmlFileExtension(containingFile)) {
39+
return;
40+
}
41+
3642
LazyDecoratedParentServiceValues lazyDecoratedParentServiceValues = null;
3743

3844
for (PsiElement psiElement : psiElements) {

src/main/java/fr/adrienbrault/idea/symfony2plugin/doctrine/metadata/DoctrineMetadataLineMarkerProvider.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@
55
import com.intellij.codeInsight.navigation.NavigationGutterIconBuilder;
66
import com.intellij.openapi.project.Project;
77
import com.intellij.psi.PsiElement;
8+
import com.intellij.psi.PsiFile;
89
import com.intellij.psi.xml.XmlAttributeValue;
910
import com.intellij.psi.xml.XmlTokenType;
1011
import com.jetbrains.php.lang.psi.elements.PhpClass;
1112
import fr.adrienbrault.idea.symfony2plugin.Symfony2Icons;
1213
import fr.adrienbrault.idea.symfony2plugin.Symfony2ProjectComponent;
14+
import fr.adrienbrault.idea.symfony2plugin.config.xml.XmlHelper;
1315
import fr.adrienbrault.idea.symfony2plugin.doctrine.metadata.util.DoctrineMetadataUtil;
1416
import org.apache.commons.lang.StringUtils;
1517
import org.jetbrains.annotations.NotNull;
@@ -41,6 +43,11 @@ public void collectSlowLineMarkers(@NotNull List<? extends PsiElement> psiElemen
4143
return;
4244
}
4345

46+
PsiFile containingFile = psiElements.get(0).getContainingFile();
47+
if (containingFile == null || !XmlHelper.isXmlFileExtension(containingFile)) {
48+
return;
49+
}
50+
4451
for(PsiElement psiElement: psiElements) {
4552
if(psiElement.getNode().getElementType() != XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN) {
4653
continue;

src/main/java/fr/adrienbrault/idea/symfony2plugin/routing/XmlLineMarkerProvider.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ public void collectSlowLineMarkers(@NotNull List<? extends PsiElement> psiElemen
3131
return;
3232
}
3333

34+
PsiFile containingFile = psiElements.get(0).getContainingFile();
35+
if (containingFile == null || !XmlHelper.isXmlFileExtension(containingFile)) {
36+
return;
37+
}
38+
3439
for(PsiElement psiElement: psiElements) {
3540
if(XmlHelper.getXmlTagNameLeafStartPattern().accepts(psiElement)) {
3641
attachRouteActions(psiElement, lineMarkerInfos);

0 commit comments

Comments
 (0)