Skip to content

Commit 1d24a8f

Browse files
1030: Added theme xml files support
1 parent 22071d7 commit 1d24a8f

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

src/com/magento/idea/magento2uct/inspections/xml/ModuleConfigFileInspection.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,28 @@
1010
import com.intellij.codeInspection.ProblemsHolder;
1111
import com.intellij.codeInspection.XmlSuppressableInspectionTool;
1212
import com.intellij.openapi.project.Project;
13+
import com.intellij.openapi.vfs.VirtualFile;
1314
import com.intellij.psi.PsiElement;
1415
import com.intellij.psi.PsiElementVisitor;
1516
import com.intellij.psi.PsiFile;
1617
import com.intellij.psi.tree.IElementType;
1718
import com.intellij.psi.util.PsiTreeUtil;
1819
import com.intellij.psi.xml.XmlToken;
1920
import com.intellij.psi.xml.XmlTokenType;
20-
import com.jetbrains.php.lang.PhpLangUtil;
2121
import com.magento.idea.magento2uct.settings.UctSettingsService;
2222
import com.magento.idea.magento2uct.versioning.VersionStateManager;
2323
import java.util.ArrayList;
2424
import java.util.Arrays;
2525
import java.util.List;
26+
import java.util.regex.Pattern;
2627
import org.jetbrains.annotations.NotNull;
2728
import org.jetbrains.annotations.Nullable;
2829

2930
abstract class ModuleConfigFileInspection extends XmlSuppressableInspectionTool {
3031

32+
private static final String LAYOUT_FILE_REGEX = "\\/(layout|ui_component)\\/.*\\.xml";
33+
private static final Pattern LAYOUT_FILE_PATTERN = Pattern.compile(LAYOUT_FILE_REGEX);
34+
3135
private final String[] supportedFiles = new String[]{
3236
"di.xml",
3337
"system.xml",
@@ -68,7 +72,8 @@ abstract class ModuleConfigFileInspection extends XmlSuppressableInspectionTool
6872
return getEmptyResult();
6973
}
7074

71-
if (Arrays.stream(supportedFiles).noneMatch(name -> name.equals(file.getName()))) {
75+
if (Arrays.stream(supportedFiles).noneMatch(name -> name.equals(file.getName()))
76+
&& !isLayoutFile(file)) {
7277
return getEmptyResult();
7378
}
7479
final List<IElementType> allowedTokenTypes = new ArrayList<>();
@@ -124,4 +129,14 @@ protected abstract void doInspection(
124129
private ProblemDescriptor[] getEmptyResult() {
125130
return new ProblemDescriptor[0];
126131
}
132+
133+
private boolean isLayoutFile(final @NotNull PsiFile file) {
134+
final VirtualFile virtualFile = file.getVirtualFile();
135+
136+
if (virtualFile == null) {
137+
return false;
138+
}
139+
140+
return LAYOUT_FILE_PATTERN.matcher(virtualFile.getPath()).find();
141+
}
127142
}

0 commit comments

Comments
 (0)