Emmet: replace hardcoded xml zen generator with extension

This commit is contained in:
Alexander Zolotov
2014-10-28 18:31:13 +03:00
parent 578bee9e00
commit 15843d4bce
3 changed files with 5 additions and 9 deletions
@@ -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;
@@ -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