mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-13 15:52:01 +07:00
WEB-68289 WEB-68214 HTML: Ensure that listeners registration and extension point access happens within a non-cancellable section
GitOrigin-RevId: 8682fb7f6c531eb37f7baac251f8cb34778b756d
This commit is contained in:
committed by
intellij-monorepo-bot
parent
6b1a9134fc
commit
32a4911734
@@ -7,6 +7,7 @@ import com.intellij.openapi.editor.HighlighterColors;
|
||||
import com.intellij.openapi.editor.XmlHighlighterColors;
|
||||
import com.intellij.openapi.editor.colors.TextAttributesKey;
|
||||
import com.intellij.openapi.fileTypes.SyntaxHighlighterBase;
|
||||
import com.intellij.openapi.progress.Cancellation;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.MultiMap;
|
||||
@@ -52,8 +53,12 @@ public class HtmlFileHighlighter extends SyntaxHighlighterBase {
|
||||
|
||||
ourMap.putValue(XML_BAD_CHARACTER, HighlighterColors.BAD_CHARACTER);
|
||||
|
||||
registerAdditionalHighlighters(ourMap);
|
||||
EMBEDDED_HIGHLIGHTERS.addExtensionPointListener(new XmlFileHighlighter.EmbeddedTokenHighlighterExtensionPointListener(ourMap), null);
|
||||
Cancellation.computeInNonCancelableSection(() -> {
|
||||
// PCE in static initializer breaks class initialization
|
||||
registerAdditionalHighlighters(ourMap);
|
||||
EMBEDDED_HIGHLIGHTERS.addExtensionPointListener(new XmlFileHighlighter.EmbeddedTokenHighlighterExtensionPointListener(ourMap), null);
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user