WEB-45429 SVG: Attributes are shown as invalid when using svg: prefix

IDEA-CR-62489

GitOrigin-RevId: 0e3e5266b197f03b374f833aa175cb5fb11f6292
This commit is contained in:
Piotr Tomiak
2020-05-12 07:50:32 +00:00
committed by intellij-monorepo-bot
parent 62ecee9d83
commit 852f9f04d7
@@ -17,8 +17,8 @@ package com.intellij.psi.impl.source.html.dtd;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiReference;
import com.intellij.psi.xml.XmlElement;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.xml.XmlAttributeDescriptor;
import com.intellij.xml.impl.BasicXmlAttributeDescriptor;
import com.intellij.xml.impl.XmlEnumerationDescriptor;
@@ -113,23 +113,25 @@ public class HtmlAttributeDescriptorImpl extends BasicXmlAttributeDescriptor {
@Override
public PsiElement getValueDeclaration(XmlElement attributeValue, String value) {
String s = myCaseSensitive ? value : StringUtil.toLowerCase(value);
String searchValue = null;
if (!myCaseSensitive) {
String[] enumeratedValues = isEnumerated() ? getEnumeratedValues() : null;
if (enumeratedValues != null) {
searchValue = ContainerUtil.find(getEnumeratedValues(), v -> v.equalsIgnoreCase(value));
}
if (searchValue == null) {
searchValue = StringUtil.toLowerCase(value);
}
} else {
searchValue = value;
}
//noinspection unchecked
return delegate instanceof XmlEnumerationDescriptor ?
((XmlEnumerationDescriptor<XmlElement>)delegate).getValueDeclaration(attributeValue, s) :
((XmlEnumerationDescriptor<XmlElement>)delegate).getValueDeclaration(attributeValue, searchValue) :
super.getValueDeclaration(attributeValue, value);
}
@SuppressWarnings("unchecked")
@Override
public PsiReference[] getValueReferences(XmlElement element, @NotNull String text) {
if (delegate instanceof XmlEnumerationDescriptor) {
return ((XmlEnumerationDescriptor<XmlElement>)delegate).getValueReferences(element, text);
}
return super.getValueReferences(element, text);
}
public boolean isCaseSensitive() {
return myCaseSensitive;
}
}
}