diff --git a/platform/lang-api/src/com/intellij/execution/configurations/RunConfiguration.java b/platform/lang-api/src/com/intellij/execution/configurations/RunConfiguration.java index 992f6715611a..0c579beefd1b 100644 --- a/platform/lang-api/src/com/intellij/execution/configurations/RunConfiguration.java +++ b/platform/lang-api/src/com/intellij/execution/configurations/RunConfiguration.java @@ -24,6 +24,10 @@ import org.jetbrains.annotations.Nullable; /** * @see com.intellij.execution.RunManager + * + * If debugger is provided by plugin, RunConfiguration should also implement RunConfigurationWithSuppressedDefaultDebugAction + * Otherwise (in case of disabled plugin) debug action may be enabled in UI but with no reaction + * @see RunConfigurationWithSuppressedDefaultDebugAction */ public interface RunConfiguration extends RunProfile, JDOMExternalizable, Cloneable { ConfigurationFactory getFactory(); diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/RunConfigurationWithSuppressedDefaultDebugAction.java b/platform/lang-api/src/com/intellij/execution/configurations/RunConfigurationWithSuppressedDefaultDebugAction.java similarity index 74% rename from java/debugger/impl/src/com/intellij/debugger/impl/RunConfigurationWithSuppressedDefaultDebugAction.java rename to platform/lang-api/src/com/intellij/execution/configurations/RunConfigurationWithSuppressedDefaultDebugAction.java index 7a7121dc7565..911d06574dd3 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/RunConfigurationWithSuppressedDefaultDebugAction.java +++ b/platform/lang-api/src/com/intellij/execution/configurations/RunConfigurationWithSuppressedDefaultDebugAction.java @@ -13,7 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.intellij.debugger.impl; +package com.intellij.execution.configurations; + +// This interface for RunConfiguration indicates specific debugger (e.g. provided by plugin) +// and RunConfiguration won't be started with default runner (UI will show disabled button) public interface RunConfigurationWithSuppressedDefaultDebugAction { } diff --git a/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/run/XsltRunConfiguration.java b/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/run/XsltRunConfiguration.java index a223b2150a9e..c01b49ee4d99 100644 --- a/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/run/XsltRunConfiguration.java +++ b/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/run/XsltRunConfiguration.java @@ -59,7 +59,7 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -public final class XsltRunConfiguration extends RunConfigurationBase implements LocatableConfiguration, ModuleRunConfiguration { +public final class XsltRunConfiguration extends RunConfigurationBase implements LocatableConfiguration, ModuleRunConfiguration, RunConfigurationWithSuppressedDefaultDebugAction { private static final String NAME = "XSLT Configuration"; private static final String STRICT_FILE_PATH_EXPR = "(file\\://?(?:/?\\p{Alpha}\\:)?(?:/\\p{Alpha}\\:)?[^:]+)";