flow & tsx: tag synchronizer

This commit is contained in:
Andrey Starovoyt
2015-09-17 12:19:22 +03:00
parent e6102123e7
commit 21b6d35e83
@@ -57,6 +57,7 @@ import com.intellij.psi.xml.XmlTokenType;
import com.intellij.util.Function;
import com.intellij.util.SmartList;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.xml.util.HtmlUtil;
import com.intellij.xml.util.XmlUtil;
import org.jetbrains.annotations.NotNull;
@@ -70,11 +71,7 @@ public class XmlTagNameSynchronizer extends CommandAdapter implements NamedCompo
private static final Logger LOG = Logger.getInstance(XmlTagNameSynchronizer.class);
private static final Set<String> SUPPORTED_LANGUAGES = ContainerUtil.set(HTMLLanguage.INSTANCE.getID(),
XMLLanguage.INSTANCE.getID(),
XHTMLLanguage.INSTANCE.getID(),
"JavaScript",
"JSX Harmony",
"TypeScript JSX",
"ECMA Script Level 4");
XHTMLLanguage.INSTANCE.getID());
private static final Key<TagNameSynchronizer> SYNCHRONIZER_KEY = Key.create("tag_name_synchronizer");
private final FileDocumentManager myFileDocumentManager;
@@ -104,7 +101,8 @@ public class XmlTagNameSynchronizer extends CommandAdapter implements NamedCompo
final PsiFile psiFile = file != null && file.isValid() ? PsiManager.getInstance(project).findFile(file) : null;
if (psiFile != null) {
for (Language language : psiFile.getViewProvider().getLanguages()) {
if (SUPPORTED_LANGUAGES.contains(language.getID())) return language;
if ( SUPPORTED_LANGUAGES.contains(language.getID()) ||
HtmlUtil.supportsXmlTypedHandlers(psiFile)) return language;
}
}
return null;