package com.jetbrains.lang.dart.ide.runner.server; 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 com.intellij.psi.search.FileTypeIndex; import com.intellij.psi.search.GlobalSearchScope; import com.jetbrains.lang.dart.DartBundle; import com.jetbrains.lang.dart.DartFileType; import icons.DartIcons; import org.jetbrains.annotations.NotNull; public class DartRemoteDebugConfigurationType extends ConfigurationTypeBase { public static DartRemoteDebugConfigurationType getInstance() { return ConfigurationTypeUtil.findConfigurationType(DartRemoteDebugConfigurationType.class); } public DartRemoteDebugConfigurationType() { super("DartRemoteDebugConfigurationType", DartBundle.message("remote.debug.configuration.name"), DartBundle.message("remote.debug.configuration.description"), DartIcons.Dart_remote); addFactory(new ConfigurationFactory(this) { @NotNull @Override public RunConfiguration createTemplateConfiguration(@NotNull Project project) { return new DartRemoteDebugConfiguration(project, DartRemoteDebugConfigurationType.this, "Dart Remote"); } @Override public boolean isApplicable(@NotNull Project project) { return FileTypeIndex.containsFileOfType(DartFileType.INSTANCE, GlobalSearchScope.projectScope(project)); } }); } }