JSX: use case sensitive comparison for emmet and completion (WEB-36536)

GitOrigin-RevId: 31a3e7aa92377fdb6b46f4524995fb59b96ddb97
This commit is contained in:
Dennis Ushakov
2019-05-26 21:05:50 +03:00
committed by intellij-monorepo-bot
parent 978826cf22
commit ff0cf2859f
@@ -31,6 +31,7 @@ import com.intellij.psi.impl.source.html.HtmlDocumentImpl;
import com.intellij.psi.impl.source.parsing.xml.HtmlBuilderDriver;
import com.intellij.psi.impl.source.parsing.xml.XmlBuilder;
import com.intellij.psi.impl.source.tree.CompositeElement;
import com.intellij.psi.impl.source.xml.XmlTagImpl;
import com.intellij.psi.templateLanguages.OuterLanguageElement;
import com.intellij.psi.templateLanguages.TemplateLanguageFileViewProvider;
import com.intellij.psi.util.PsiTreeUtil;
@@ -136,7 +137,7 @@ public class HtmlUtil {
public static boolean isSingleHtmlTag(@NotNull XmlTag tag, boolean lowerCase) {
final XmlExtension extension = XmlExtension.getExtensionByElement(tag);
final String name = tag.getName();
boolean result = EMPTY_TAGS_MAP.contains(lowerCase ? StringUtil.toLowerCase(name) : name);
boolean result = EMPTY_TAGS_MAP.contains(!lowerCase || (tag instanceof XmlTagImpl && ((XmlTagImpl)tag).isCaseSensitive()) ? name : StringUtil.toLowerCase(name));
return result && (extension == null || !extension.isSingleTagException(tag));
}