mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
WEB-41713 Vue: properly color contents within <script type="text/x-template">.
GitOrigin-RevId: d21f1744391119ea6a8ba305657a90d9318cee0f
This commit is contained in:
committed by
intellij-monorepo-bot
parent
730c63e067
commit
a2ec01c460
@@ -21,8 +21,8 @@ public class HTMLParser implements PsiParser {
|
||||
return builder.getTreeBuilt();
|
||||
}
|
||||
|
||||
public static void parseWithoutBuildingTree(@NotNull IElementType root, @NotNull PsiBuilder builder) {
|
||||
parseWithoutBuildingTree(root, builder, new HtmlParsing(builder));
|
||||
public void parseWithoutBuildingTree(@NotNull IElementType root, @NotNull PsiBuilder builder) {
|
||||
parseWithoutBuildingTree(root, builder, createHtmlParsing(builder));
|
||||
}
|
||||
|
||||
private static void parseWithoutBuildingTree(@NotNull IElementType root, @NotNull PsiBuilder builder,
|
||||
@@ -38,4 +38,4 @@ public class HTMLParser implements PsiParser {
|
||||
protected HtmlParsing createHtmlParsing(@NotNull PsiBuilder builder) {
|
||||
return new HtmlParsing(builder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,6 +67,7 @@ public class HtmlHighlightingLexer extends BaseHtmlLexer {
|
||||
|
||||
XmlEmbeddmentHandler value = new XmlEmbeddmentHandler();
|
||||
registerHandler(XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN, value);
|
||||
registerHandler(XmlTokenType.XML_START_TAG_START, value);
|
||||
registerHandler(XmlTokenType.XML_DATA_CHARACTERS, value);
|
||||
registerHandler(XmlTokenType.XML_COMMENT_CHARACTERS, value);
|
||||
}
|
||||
@@ -112,16 +113,10 @@ public class HtmlHighlightingLexer extends BaseHtmlLexer {
|
||||
LOG.assertTrue(highlighter != null, ourStyleFileType);
|
||||
styleLexer = highlighter.getHighlightingLexer();
|
||||
}
|
||||
else {
|
||||
styleLexer = null;
|
||||
}
|
||||
styleLexers.put(styleType, styleLexer);
|
||||
}
|
||||
else if (hasSeenAttribute()) {
|
||||
if (ourStyleFileType == null) {
|
||||
styleLexer = null;
|
||||
}
|
||||
else {
|
||||
if (ourStyleFileType != null) {
|
||||
SyntaxHighlighter highlighter = SyntaxHighlighterFactory.getSyntaxHighlighter(ourStyleFileType, null, null);
|
||||
LOG.assertTrue(highlighter != null, ourStyleFileType);
|
||||
styleLexer = highlighter.getHighlightingLexer();
|
||||
@@ -265,6 +260,7 @@ public class HtmlHighlightingLexer extends BaseHtmlLexer {
|
||||
final IElementType tokenType = lexer.getTokenType();
|
||||
|
||||
if (tokenType == XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN && hasSeenAttribute() ||
|
||||
tokenType == XmlTokenType.XML_START_TAG_START && hasSeenTag() ||
|
||||
tokenType == XmlTokenType.XML_DATA_CHARACTERS && hasSeenTag() ||
|
||||
tokenType == XmlTokenType.XML_COMMENT_CHARACTERS && hasSeenTag()
|
||||
) {
|
||||
|
||||
@@ -92,7 +92,7 @@ public interface XmlElementType extends XmlTokenType {
|
||||
assert file != null : chameleon;
|
||||
|
||||
final PsiBuilder builder = PsiBuilderFactory.getInstance().createBuilder(file.getProject(), chameleon);
|
||||
HTMLParser.parseWithoutBuildingTree(HTML_FILE, builder);
|
||||
new HTMLParser().parseWithoutBuildingTree(HTML_FILE, builder);
|
||||
return builder.getLightTree();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user