mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
WI-81268 add xml.frontend.split to core classloader
GitOrigin-RevId: 96c1c3f8d33f3b7346a9f5f6e590c7898b8be0c7
This commit is contained in:
committed by
intellij-monorepo-bot
parent
becdc5b2a2
commit
dffaf4c22e
Generated
+1
@@ -1194,6 +1194,7 @@
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/dom-impl/intellij.xml.dom.impl.iml" filepath="$PROJECT_DIR$/xml/dom-impl/intellij.xml.dom.impl.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/dom-tests/intellij.xml.dom.tests.iml" filepath="$PROJECT_DIR$/xml/dom-tests/intellij.xml.dom.tests.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/xml-frontback-impl/intellij.xml.frontback.impl.iml" filepath="$PROJECT_DIR$/xml/xml-frontback-impl/intellij.xml.frontback.impl.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/xml-frontend-split/intellij.xml.frontend.split.iml" filepath="$PROJECT_DIR$/xml/xml-frontend-split/intellij.xml.frontend.split.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/impl/intellij.xml.impl.iml" filepath="$PROJECT_DIR$/xml/impl/intellij.xml.impl.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/IntelliLang/xml-support/intellij.xml.langInjection.iml" filepath="$PROJECT_DIR$/plugins/IntelliLang/xml-support/intellij.xml.langInjection.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/xml-parser/intellij.xml.parser.iml" filepath="$PROJECT_DIR$/xml/xml-parser/intellij.xml.parser.iml" />
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
### auto-generated section `build intellij.xml.frontend.split` start
|
||||
load("@rules_jvm//:jvm.bzl", "jvm_library", "jvm_resources")
|
||||
|
||||
jvm_resources(
|
||||
name = "frontend-split_resources",
|
||||
files = glob(["resources/**/*"]),
|
||||
strip_prefix = "resources"
|
||||
)
|
||||
|
||||
jvm_library(
|
||||
name = "frontend-split",
|
||||
module_name = "intellij.xml.frontend.split",
|
||||
visibility = ["//visibility:public"],
|
||||
srcs = glob(["src/**/*.kt", "src/**/*.java"], allow_empty = True),
|
||||
deps = [
|
||||
"@lib//:kotlin-stdlib",
|
||||
"//platform/core-api:core",
|
||||
"//platform/core-impl",
|
||||
"//platform/util/base",
|
||||
"//xml/xml-parser:parser",
|
||||
"//platform/projectModel-api:projectModel",
|
||||
"//platform/analysis-api:analysis",
|
||||
"//platform/util",
|
||||
"//platform/editor-ui-api:editor-ui",
|
||||
"//xml/xml-frontback-impl:frontback-impl",
|
||||
],
|
||||
runtime_deps = [":frontend-split_resources"]
|
||||
)
|
||||
### auto-generated section `build intellij.xml.frontend.split` end
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="kotlin-stdlib" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.platform.core" />
|
||||
<orderEntry type="module" module-name="intellij.platform.core.impl" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util.base" />
|
||||
<orderEntry type="module" module-name="intellij.xml.parser" />
|
||||
<orderEntry type="module" module-name="intellij.platform.projectModel" />
|
||||
<orderEntry type="module" module-name="intellij.platform.analysis" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util" />
|
||||
<orderEntry type="module" module-name="intellij.platform.editor.ui" />
|
||||
<orderEntry type="module" module-name="intellij.xml.frontback.impl" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -0,0 +1,60 @@
|
||||
<idea-plugin>
|
||||
<extensionPoints>
|
||||
<extensionPoint qualifiedName="com.intellij.embeddedTokenTypesProvider"
|
||||
interface="com.intellij.lexer.EmbeddedTokenTypesProvider"
|
||||
dynamic="true"/>
|
||||
<extensionPoint qualifiedName="com.intellij.embeddedTokenHighlighter"
|
||||
interface="com.intellij.ide.highlighter.EmbeddedTokenHighlighter"
|
||||
dynamic="true"/>
|
||||
</extensionPoints>
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<fileType name="XML"
|
||||
language="XML"
|
||||
extensions="ant;fxml;jhm;jnlp;jrxml;rng;tld;wsdl;xml;xsd;xsl;xslt;xul"
|
||||
implementationClass="com.intellij.ide.highlighter.XmlFileType"
|
||||
fieldName="INSTANCE"/>
|
||||
<fileType name="DTD"
|
||||
language="DTD"
|
||||
extensions="dtd;elt;ent;mod"
|
||||
implementationClass="com.intellij.ide.highlighter.DTDFileType"
|
||||
fieldName="INSTANCE"/>
|
||||
<fileType name="HTML"
|
||||
language="HTML"
|
||||
extensions="htm;html;sht;shtm;shtml"
|
||||
implementationClass="com.intellij.ide.highlighter.HtmlFileType"
|
||||
fieldName="INSTANCE"/>
|
||||
<fileType name="XHTML"
|
||||
language="XHTML"
|
||||
extensions="xhtml"
|
||||
implementationClass="com.intellij.ide.highlighter.XHtmlFileType"
|
||||
fieldName="INSTANCE"/>
|
||||
|
||||
<applicationService serviceInterface="com.intellij.lang.xml.BasicXmlElementFactory"
|
||||
serviceImplementation="com.intellij.xml.frontend.split.editor.FrontendXmlElementFactory"/>
|
||||
<applicationService serviceInterface="com.intellij.lang.html.BasicHtmlElementFactory"
|
||||
serviceImplementation="com.intellij.xml.frontend.split.editor.FrontendHtmlElementFactory"/>
|
||||
<applicationService serviceInterface="com.intellij.html.embedding.BasicHtmlRawTextElementFactory"
|
||||
serviceImplementation="com.intellij.xml.frontend.split.editor.FrontendHtmlElementFactory"/>
|
||||
|
||||
<lang.parserDefinition language="XML"
|
||||
implementationClass="com.intellij.lang.xml.XMLParserDefinition"/>
|
||||
<lang.parserDefinition language="DTD"
|
||||
implementationClass="com.intellij.lang.dtd.DTDParserDefinition"/>
|
||||
<lang.parserDefinition language="HTML"
|
||||
implementationClass="com.intellij.lang.html.HTMLParserDefinition"/>
|
||||
<lang.parserDefinition language="XHTML"
|
||||
implementationClass="com.intellij.lang.xhtml.XHTMLParserDefinition"/>
|
||||
|
||||
<lang.syntaxHighlighterFactory language="XML"
|
||||
implementationClass="com.intellij.lang.xml.XmlSyntaxHighlighterFactory"/>
|
||||
<lang.syntaxHighlighterFactory language="DTD"
|
||||
implementationClass="com.intellij.lang.dtd.DtdSyntaxHighlighterFactory"/>
|
||||
<lang.syntaxHighlighterFactory language="HTML"
|
||||
implementationClass="com.intellij.lang.html.HtmlSyntaxHighlighterFactory"/>
|
||||
<lang.syntaxHighlighterFactory language="XHTML"
|
||||
implementationClass="com.intellij.lang.xhtml.XhtmlSyntaxHighlighterFactory"/>
|
||||
|
||||
<virtualFileCustomDataConsumer implementation="com.intellij.xml.HtmlCodeStyleSettingsCustomDataSynchronizer"/>
|
||||
</extensions>
|
||||
</idea-plugin>
|
||||
@@ -0,0 +1,21 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.xml.frontend.split.editor
|
||||
|
||||
import com.intellij.openapi.fileTypes.FileType
|
||||
import com.intellij.psi.FileViewProvider
|
||||
import com.intellij.psi.PsiElementVisitor
|
||||
import com.intellij.psi.impl.source.PsiFileImpl
|
||||
import com.intellij.psi.tree.IElementType
|
||||
|
||||
abstract class FrontendFileImpl(
|
||||
viewProvider: FileViewProvider,
|
||||
elementType: IElementType,
|
||||
) : PsiFileImpl(elementType, elementType, viewProvider) {
|
||||
|
||||
override fun getFileType(): FileType =
|
||||
viewProvider.fileType
|
||||
|
||||
override fun accept(visitor: PsiElementVisitor) {
|
||||
visitor.visitFile(this)
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
package com.intellij.xml.frontend.split.editor
|
||||
|
||||
import com.intellij.extapi.psi.ASTWrapperPsiElement
|
||||
import com.intellij.html.embedding.BasicHtmlRawTextElementFactory
|
||||
import com.intellij.lang.ASTNode
|
||||
import com.intellij.lang.html.BasicHtmlElementFactory
|
||||
import com.intellij.psi.FileViewProvider
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiFile
|
||||
|
||||
class FrontendHtmlElementFactory :
|
||||
BasicHtmlElementFactory,
|
||||
BasicHtmlRawTextElementFactory {
|
||||
|
||||
override fun createFile(viewProvider: FileViewProvider): PsiFile =
|
||||
FrontendHtmlFileImpl(viewProvider)
|
||||
|
||||
override fun createElement(node: ASTNode): PsiElement =
|
||||
ASTWrapperPsiElement(node)
|
||||
|
||||
override fun createRawTextElement(node: ASTNode): PsiElement =
|
||||
ASTWrapperPsiElement(node)
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package com.intellij.xml.frontend.split.editor
|
||||
|
||||
import com.intellij.psi.FileViewProvider
|
||||
import com.intellij.psi.xml.XmlElementType
|
||||
|
||||
class FrontendHtmlFileImpl(
|
||||
viewProvider: FileViewProvider,
|
||||
) : FrontendFileImpl(viewProvider, XmlElementType.HTML_FILE) {
|
||||
|
||||
override fun toString(): String =
|
||||
"HtmlFile:$name"
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package com.intellij.xml.frontend.split.editor
|
||||
|
||||
import com.intellij.extapi.psi.ASTWrapperPsiElement
|
||||
import com.intellij.lang.ASTNode
|
||||
import com.intellij.lang.xml.BasicXmlElementFactory
|
||||
import com.intellij.psi.FileViewProvider
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiFile
|
||||
import com.intellij.psi.tree.IElementType
|
||||
import com.intellij.psi.tree.IFileElementType
|
||||
|
||||
class FrontendXmlElementFactory :
|
||||
BasicXmlElementFactory {
|
||||
override fun createFile(
|
||||
viewProvider: FileViewProvider,
|
||||
elementType: IElementType,
|
||||
): PsiFile =
|
||||
FrontendXmlFileImpl(viewProvider, IFileElementType(viewProvider.baseLanguage))
|
||||
|
||||
override fun createElement(node: ASTNode): PsiElement =
|
||||
ASTWrapperPsiElement(node)
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package com.intellij.xml.frontend.split.editor
|
||||
|
||||
import com.intellij.psi.FileViewProvider
|
||||
import com.intellij.psi.tree.IElementType
|
||||
|
||||
class FrontendXmlFileImpl(
|
||||
viewProvider: FileViewProvider,
|
||||
elementType: IElementType,
|
||||
) : FrontendFileImpl(viewProvider, elementType) {
|
||||
|
||||
override fun toString(): String =
|
||||
"XmlFile:$name"
|
||||
}
|
||||
Reference in New Issue
Block a user