package com.intellij.javascript.karma.execution; import com.intellij.execution.configurations.ConfigurationFactory; import com.intellij.execution.configurations.ConfigurationTypeBase; import com.intellij.execution.configurations.ConfigurationTypeUtil; import com.intellij.execution.configurations.RunConfiguration; import com.intellij.openapi.project.Project; import icons.JSKarmaIcons; import org.jetbrains.annotations.NotNull; public class KarmaConfigurationType extends ConfigurationTypeBase { public KarmaConfigurationType() { super("JavaScriptTestRunnerKarma", "Karma", "Karma", JSKarmaIcons.Karma2); addFactory(new ConfigurationFactory(this) { @NotNull @Override public RunConfiguration createTemplateConfiguration(@NotNull Project project) { return new KarmaRunConfiguration(project, this, "Karma"); } @Override public boolean isConfigurationSingletonByDefault() { return true; } @Override public boolean canConfigurationBeSingleton() { return false; } }); } @NotNull public static KarmaConfigurationType getInstance() { return ConfigurationTypeUtil.findConfigurationType(KarmaConfigurationType.class); } @NotNull public static ConfigurationFactory getFactory() { KarmaConfigurationType type = getInstance(); return type.getConfigurationFactories()[0]; } }