mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Emmet: replace hardcoded xml zen generator with extension
This commit is contained in:
@@ -198,6 +198,7 @@
|
||||
|
||||
<highlightVisitor implementation="com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor"/>
|
||||
|
||||
<xml.zenCodingGenerator implementation="com.intellij.codeInsight.template.emmet.generators.XmlZenCodingGeneratorImpl" order="last"/>
|
||||
<customLiveTemplate implementation="com.intellij.codeInsight.template.emmet.ZenCodingTemplate"/>
|
||||
<typedHandler implementation="com.intellij.codeInsight.template.emmet.EmmetPreviewTypedHandler"/>
|
||||
<lookup.actionProvider implementation="com.intellij.codeInsight.template.emmet.completion.EmmetLookupActionProvider"/>
|
||||
|
||||
@@ -132,7 +132,7 @@ public class ZenCodingTemplate extends CustomLiveTemplateBase {
|
||||
@Nullable
|
||||
private static ZenCodingGenerator findApplicableGenerator(ZenCodingNode node, PsiElement context, boolean wrapping) {
|
||||
ZenCodingGenerator defaultGenerator = null;
|
||||
List<ZenCodingGenerator> generators = ZenCodingGenerator.getInstances();
|
||||
ZenCodingGenerator[] generators = ZenCodingGenerator.getInstances();
|
||||
for (ZenCodingGenerator generator : generators) {
|
||||
if (defaultGenerator == null && generator.isMyContext(context, wrapping) && generator.isAppliedByDefault(context)) {
|
||||
defaultGenerator = generator;
|
||||
|
||||
+3
-8
@@ -30,8 +30,6 @@ import com.intellij.psi.PsiElement;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -39,7 +37,7 @@ import java.util.List;
|
||||
* @author Eugene.Kudelevsky
|
||||
*/
|
||||
public abstract class ZenCodingGenerator {
|
||||
private static final ExtensionPointName<ZenCodingGenerator> EP_NAME = new ExtensionPointName<ZenCodingGenerator>("com.intellij.xml.zenCodingGenerator");
|
||||
public static final ExtensionPointName<ZenCodingGenerator> EP_NAME = new ExtensionPointName<ZenCodingGenerator>("com.intellij.xml.zenCodingGenerator");
|
||||
|
||||
public abstract TemplateImpl generateTemplate(@NotNull TemplateToken token, boolean hasChildren, @NotNull PsiElement context);
|
||||
|
||||
@@ -59,11 +57,8 @@ public abstract class ZenCodingGenerator {
|
||||
|
||||
public abstract boolean isEnabled();
|
||||
|
||||
public static List<ZenCodingGenerator> getInstances() {
|
||||
List<ZenCodingGenerator> generators = new ArrayList<ZenCodingGenerator>();
|
||||
Collections.addAll(generators, EP_NAME.getExtensions());
|
||||
generators.add(XmlZenCodingGeneratorImpl.INSTANCE);
|
||||
return generators;
|
||||
public static ZenCodingGenerator[] getInstances() {
|
||||
return EP_NAME.getExtensions();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
Reference in New Issue
Block a user