package com.intellij.perlplugin.extensions.run.configuration; import com.intellij.execution.ExecutionException; import com.intellij.execution.Executor; import com.intellij.execution.configurations.*; import com.intellij.execution.runners.ExecutionEnvironment; import com.intellij.openapi.options.SettingsEditor; import com.intellij.openapi.project.Project; import com.intellij.perlplugin.extensions.run.configuration.ui.PerlSettingsEditor; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** * Created by ELI-HOME on 22-May-15. */ public class PerlConfigurationFactory extends ConfigurationFactory { protected PerlConfigurationFactory(ConfigurationType type) { super(type); } @Override public RunConfiguration createTemplateConfiguration(Project project) { return new RunConfigurationBase(project,this,"Perl RunConfiguration Template") { @NotNull @Override public SettingsEditor<? extends RunConfiguration> getConfigurationEditor() { return new PerlSettingsEditor(); } @Override public void checkConfiguration() throws RuntimeConfigurationException { } @Nullable @Override public RunProfileState getState(Executor executor, ExecutionEnvironment executionEnvironment) throws ExecutionException { return new PerlRunProfileState(executionEnvironment); } }; } }