|
7 | 7 |
|
8 | 8 | import com.intellij.codeInsight.completion.CompletionContributor;
|
9 | 9 | import com.intellij.codeInsight.completion.CompletionType;
|
| 10 | +import com.intellij.patterns.PatternCondition; |
10 | 11 | import com.intellij.patterns.XmlPatterns;
|
| 12 | +import com.intellij.psi.xml.XmlAttribute; |
11 | 13 | import com.intellij.psi.xml.XmlTokenType;
|
12 | 14 | // CHECKSTYLE IGNORE check FOR NEXT 6 LINES
|
| 15 | +import com.intellij.util.ProcessingContext; |
13 | 16 | import com.magento.idea.magento2plugin.completion.provider.*;//NOPMD
|
14 | 17 | import com.magento.idea.magento2plugin.completion.provider.mftf.*;//NOPMD
|
15 | 18 | import com.magento.idea.magento2plugin.magento.files.*;//NOPMD
|
| 19 | +import org.jetbrains.annotations.NotNull; |
| 20 | + |
16 | 21 | import static com.intellij.patterns.PlatformPatterns.psiElement;
|
17 | 22 | import static com.intellij.patterns.StandardPatterns.string;
|
18 | 23 | import static com.intellij.patterns.XmlPatterns.xmlFile;
|
@@ -282,8 +287,15 @@ public XmlCompletionContributor() {
|
282 | 287 | // mftf data entity completion contributor
|
283 | 288 | extend(
|
284 | 289 | CompletionType.BASIC,
|
285 |
| - psiElement(XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN) |
286 |
| - .inside(XmlPatterns.xmlAttribute().withName(string().oneOf("entity", "value", "userInput")) |
| 290 | + psiElement(XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN).inside(XmlPatterns.xmlAttribute() |
| 291 | + .withName(string().oneOf("entity", "value", "userInput")) |
| 292 | + .without(new PatternCondition<XmlAttribute>("value attribute of general text tag") { |
| 293 | + @Override |
| 294 | + public boolean accepts(@NotNull XmlAttribute attribute, ProcessingContext context) { |
| 295 | + final String tagName = attribute.getParent().getName(); |
| 296 | + return tagName.matches("stories|title|description"); |
| 297 | + } |
| 298 | + }) |
287 | 299 | ),
|
288 | 300 | new DataCompletionProvider()
|
289 | 301 | );
|
|
0 commit comments