From 12ce959dd2a8ea587300bc8aaff22cdd2b3c1727 Mon Sep 17 00:00:00 2001 From: Eugene Kudelevsky Date: Thu, 15 Dec 2011 15:20:07 +0400 Subject: [PATCH] WI-8750 zen-coding: text nodes is invalid in css --- .../template/zencoding/ZenCodingTemplate.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java index a63e79ad3075..adbbcf69d36d 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java @@ -21,6 +21,7 @@ import com.intellij.codeInsight.template.*; import com.intellij.codeInsight.template.impl.TemplateImpl; import com.intellij.codeInsight.template.impl.TemplateState; import com.intellij.codeInsight.template.zencoding.filters.ZenCodingFilter; +import com.intellij.codeInsight.template.zencoding.generators.XmlZenCodingGenerator; import com.intellij.codeInsight.template.zencoding.generators.ZenCodingGenerator; import com.intellij.codeInsight.template.zencoding.nodes.*; import com.intellij.codeInsight.template.zencoding.tokens.*; @@ -145,10 +146,22 @@ public class ZenCodingTemplate implements CustomLiveTemplate { if (tokens == null) { return null; } + if (generator != null && !validate(tokens, generator)) { + return null; + } MyParser parser = new MyParser(tokens, callback, generator); ZenCodingNode node = parser.parse(); return parser.myIndex == tokens.size() ? node : null; } + + private static boolean validate(@NotNull List tokens, @NotNull ZenCodingGenerator generator) { + for (ZenCodingToken token : tokens) { + if (token instanceof TextToken && !(generator instanceof XmlZenCodingGenerator)) { + return false; + } + } + return true; + } @Nullable private static List lex(@NotNull String text) {