|
10 | 10 | import com.intellij.codeInspection.ProblemsHolder;
|
11 | 11 | import com.intellij.codeInspection.XmlSuppressableInspectionTool;
|
12 | 12 | import com.intellij.openapi.project.Project;
|
| 13 | +import com.intellij.openapi.vfs.VirtualFile; |
13 | 14 | import com.intellij.psi.PsiElement;
|
14 | 15 | import com.intellij.psi.PsiElementVisitor;
|
15 | 16 | import com.intellij.psi.PsiFile;
|
16 | 17 | import com.intellij.psi.tree.IElementType;
|
17 | 18 | import com.intellij.psi.util.PsiTreeUtil;
|
18 | 19 | import com.intellij.psi.xml.XmlToken;
|
19 | 20 | import com.intellij.psi.xml.XmlTokenType;
|
20 |
| -import com.jetbrains.php.lang.PhpLangUtil; |
21 | 21 | import com.magento.idea.magento2uct.settings.UctSettingsService;
|
22 | 22 | import com.magento.idea.magento2uct.versioning.VersionStateManager;
|
23 | 23 | import java.util.ArrayList;
|
24 | 24 | import java.util.Arrays;
|
25 | 25 | import java.util.List;
|
| 26 | +import java.util.regex.Pattern; |
26 | 27 | import org.jetbrains.annotations.NotNull;
|
27 | 28 | import org.jetbrains.annotations.Nullable;
|
28 | 29 |
|
29 | 30 | abstract class ModuleConfigFileInspection extends XmlSuppressableInspectionTool {
|
30 | 31 |
|
| 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 | + |
31 | 35 | private final String[] supportedFiles = new String[]{
|
32 | 36 | "di.xml",
|
33 | 37 | "system.xml",
|
@@ -68,7 +72,8 @@ abstract class ModuleConfigFileInspection extends XmlSuppressableInspectionTool
|
68 | 72 | return getEmptyResult();
|
69 | 73 | }
|
70 | 74 |
|
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)) { |
72 | 77 | return getEmptyResult();
|
73 | 78 | }
|
74 | 79 | final List<IElementType> allowedTokenTypes = new ArrayList<>();
|
@@ -124,4 +129,14 @@ protected abstract void doInspection(
|
124 | 129 | private ProblemDescriptor[] getEmptyResult() {
|
125 | 130 | return new ProblemDescriptor[0];
|
126 | 131 | }
|
| 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 | + } |
127 | 142 | }
|
0 commit comments