mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 14:23:28 +07:00
WEB-43908 Create meta-language for HTML compatible languages - improve API naming.
GitOrigin-RevId: 46ef16d38cb6edf6674d7587675cc75ef4aac1f6
This commit is contained in:
committed by
intellij-monorepo-bot
parent
985b4facd7
commit
cd30e59d0a
@@ -1,7 +1,7 @@
|
||||
<idea-plugin>
|
||||
<extensionPoints>
|
||||
<extensionPoint qualifiedName="com.intellij.html.htmlLikeLanguage"
|
||||
beanClass="com.intellij.lang.html.HTMLLikeMetaLanguage$HtmlLikeTemplateEP"
|
||||
<extensionPoint qualifiedName="com.intellij.html.compatibleLanguage"
|
||||
beanClass="com.intellij.lang.html.HtmlCompatibleMetaLanguage$HtmlCompatibleLanguageEP"
|
||||
dynamic="true"/>
|
||||
</extensionPoints>
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
@@ -25,7 +25,7 @@
|
||||
id="xml.catalog"/>
|
||||
</projectConfigurable>
|
||||
|
||||
<metaLanguage implementation="com.intellij.lang.html.HTMLLikeMetaLanguage"/>
|
||||
<html.htmlLikeLanguage language="HTML"/>
|
||||
<metaLanguage implementation="com.intellij.lang.html.HtmlCompatibleMetaLanguage"/>
|
||||
<html.compatibleLanguage language="HTML"/>
|
||||
</extensions>
|
||||
</idea-plugin>
|
||||
@@ -0,0 +1,9 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.lang.html;
|
||||
|
||||
import com.intellij.psi.PsiFile;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
|
||||
@ApiStatus.Experimental
|
||||
public interface HtmlCompatibleFile extends PsiFile {
|
||||
}
|
||||
@@ -17,16 +17,16 @@ import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
public class HTMLLikeMetaLanguage extends MetaLanguage {
|
||||
private static final ExtensionPointName<HtmlLikeTemplateEP> EP_NAME =
|
||||
new ExtensionPointName<>("com.intellij.html.htmlLikeLanguage");
|
||||
public class HtmlCompatibleMetaLanguage extends MetaLanguage {
|
||||
private static final ExtensionPointName<HtmlCompatibleLanguageEP> EP_NAME =
|
||||
new ExtensionPointName<>("com.intellij.html.compatibleLanguage");
|
||||
private static final ClearableLazyValue<Set<String>> LANGS = ExtensionPointUtil.dropLazyValueOnChange(
|
||||
ClearableLazyValue.create(
|
||||
() -> ContainerUtil.map2Set(EP_NAME.getExtensionList(), e -> e.language)
|
||||
), EP_NAME, null);
|
||||
|
||||
public HTMLLikeMetaLanguage() {
|
||||
super("HTML-like");
|
||||
public HtmlCompatibleMetaLanguage() {
|
||||
super("HtmlCompatible");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -40,7 +40,7 @@ public class HTMLLikeMetaLanguage extends MetaLanguage {
|
||||
}
|
||||
|
||||
@ApiStatus.Experimental
|
||||
public static class HtmlLikeTemplateEP extends BaseKeyedLazyInstance<String> {
|
||||
public static class HtmlCompatibleLanguageEP extends BaseKeyedLazyInstance<String> {
|
||||
|
||||
@Attribute("language")
|
||||
public String language;
|
||||
@@ -16,6 +16,7 @@
|
||||
package com.intellij.psi.impl.source.html;
|
||||
|
||||
import com.intellij.lang.ASTNode;
|
||||
import com.intellij.lang.html.HtmlCompatibleFile;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.ex.http.HttpFileSystem;
|
||||
import com.intellij.openapi.vfs.impl.http.HttpVirtualFile;
|
||||
@@ -37,7 +38,7 @@ import java.util.Collections;
|
||||
/**
|
||||
* @author maxim
|
||||
*/
|
||||
public class HtmlFileImpl extends XmlFileImpl implements FileReferenceResolver, HtmlLikeFile {
|
||||
public class HtmlFileImpl extends XmlFileImpl implements FileReferenceResolver, HtmlCompatibleFile {
|
||||
public HtmlFileImpl(FileViewProvider provider) {
|
||||
this(provider, XmlElementType.HTML_FILE);
|
||||
}
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.psi.impl.source.html;
|
||||
|
||||
public interface HtmlLikeFile {
|
||||
}
|
||||
Reference in New Issue
Block a user