|
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