|
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