blob: 90200c55e72e6dfbe6ce578e94954ba8a413fbe5 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
#=============================================================================#
# Copyright (c) 2011, 2020 Stephan Wahlbrink and others.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0 which is available at
# https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
# which is available at https://www.apache.org/licenses/LICENSE-2.0.
#
# SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
#
# Contributors:
# Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
#=============================================================================#
-->
<plugin>
<!-- debug model -->
<extension
point="org.eclipse.debug.ui.debugModelPresentations">
<debugModelPresentation
id="org.eclipse.statet.r.debugModels.R"
class="org.eclipse.statet.internal.r.debug.ui.RDebugModelPresentation">
</debugModelPresentation>
</extension>
<extension
point="org.eclipse.debug.ui.detailPaneFactories">
<detailFactories
id="org.eclipse.statet.r.debugDetailPane.RBreakpointDetailPaneFactory"
class="org.eclipse.statet.internal.r.debug.ui.breakpoints.BreakpointDetailFactory">
<enablement>
<with
variable="selection">
<count
value="1">
</count>
<iterate>
<or>
<instanceof
value="org.eclipse.statet.r.debug.core.breakpoints.IRBreakpoint">
</instanceof>
</or>
</iterate>
</with>
</enablement>
</detailFactories>
</extension>
<extension
point="org.eclipse.debug.ui.sourceContainerPresentations">
<!-- platform uri not suppored -->
<sourceContainerPresentation
id="org.eclipse.statet.r.debugSourceContainerPresentations.REnvLibraryPathPresentation"
containerTypeID="org.eclipse.statet.r.debugSourceContainers.REnvLibraryPathType"
icon="icons/obj_16/r_env.png">
</sourceContainerPresentation>
<sourceContainerPresentation
id="org.eclipse.statet.r.debugSourceContainerPresentations.RLibraryPresentation"
containerTypeID="org.eclipse.statet.r.debugSourceContainers.RLibraryType"
browserClass="org.eclipse.statet.internal.r.debug.ui.sourcelookup.RLibrarySourceContainerBrowser"
icon="icons/obj_16/r_library.png">
</sourceContainerPresentation>
<sourceContainerPresentation
id="org.eclipse.statet.r.debugSourceContainerPresentations.AllRProjectsPresentation"
containerTypeID="org.eclipse.statet.r.debugSourceContainers.AllRProjectsType"
browserClass="org.eclipse.statet.internal.r.debug.ui.sourcelookup.AllRProjectsSourceContainerBrowser"
icon="icons/obj_16/r_project.png">
</sourceContainerPresentation>
<sourceContainerPresentation
id="org.eclipse.statet.r.debugSourceContainerPresentations.RProjectPresentation"
containerTypeID="org.eclipse.statet.r.debugSourceContainers.RProjectType"
browserClass="org.eclipse.statet.internal.r.debug.ui.sourcelookup.RProjectSourceContainerBrowser"
icon="icons/obj_16/r_project.png">
</sourceContainerPresentation>
</extension>
<extension
point="org.eclipse.core.runtime.adapters">
<factory
adaptableType="org.eclipse.statet.r.debug.core.sourcelookup.IRSourceLookupMatch"
class="org.eclipse.statet.internal.r.debug.ui.sourcelookup.RSourceLookupAdapterFactory">
<adapter
type="org.eclipse.ui.model.IWorkbenchAdapter"/>
<adapter
type="org.eclipse.ui.IContributorResourceAdapter"/>
</factory>
<factory
adaptableType="org.eclipse.statet.r.debug.core.IRVariable"
class="org.eclipse.statet.internal.r.debug.ui.variables.VariableUIAdapterFactory">
<adapter
type="org.eclipse.debug.internal.ui.viewers.model.provisional.IElementLabelProvider"/>
<adapter
type="org.eclipse.debug.internal.ui.viewers.model.provisional.IElementEditor"/>
<adapter
type="org.eclipse.debug.ui.actions.IWatchExpressionFactoryAdapter"/>
</factory>
</extension>
<extension
point="org.eclipse.core.expressions.definitions">
<definition
id="org.eclipse.statet.r.expressions.isSelection.RDebugVariable">
<with
variable="selection">
<count
value="1"/>
<iterate>
<instanceof
value="org.eclipse.statet.r.debug.core.IRVariable">
</instanceof>
</iterate>
</with>
</definition>
<definition
id="org.eclipse.statet.r.expressions.isSelection.RDebugElementVariable">
<with
variable="selection">
<count
value="1"/>
<iterate>
<instanceof
value="org.eclipse.statet.r.debug.core.IRElementVariable"/>
</iterate>
</with>
</definition>
<definition
id="org.eclipse.statet.r.expressions.isSelection.RDebugVariables">
<with
variable="selection">
<count
value="+"/>
<iterate>
<instanceof
value="org.eclipse.statet.r.debug.core.IRVariable">
</instanceof>
</iterate>
</with>
</definition>
<definition
id="org.eclipse.statet.r.expressions.isSelection.RDebugExpression">
<with
variable="selection">
<count
value="1"/>
<iterate>
<and>
<instanceof
value="org.eclipse.debug.core.model.IExpression"/>
<test property="org.eclipse.statet.ecommons.debug.equalsModelIdentifier"
value="org.eclipse.statet.r.debugModels.R"/>
</and>
</iterate>
</with>
</definition>
<definition
id="org.eclipse.statet.r.expressions.isSelection.RDebugExpressionWithElementVariable">
<with
variable="selection">
<count
value="1"/>
<iterate>
<and>
<instanceof
value="org.eclipse.debug.core.model.IExpression"/>
<test property="org.eclipse.statet.ecommons.debug.equalsModelIdentifier"
value="org.eclipse.statet.r.debugModels.R"/>
<adapt
type="org.eclipse.statet.r.debug.core.IRVariable">
<instanceof
value="org.eclipse.statet.r.debug.core.IRElementVariable"/>
</adapt>
</and>
</iterate>
</with>
</definition>
</extension>
<!-- breakpoint actions -->
<extension
point="org.eclipse.ui.commands">
<command
id="org.eclipse.statet.r.commands.AddExceptionBreakpoint"
categoryId="org.eclipse.debug.ui.category.run"
name="%commands_AddExceptionBreakpoint_label"
description="%commands_AddExceptionBreakpoint_description"
defaultHandler="org.eclipse.statet.internal.r.debug.ui.actions.AddExceptionBreakpointHandler">
</command>
</extension>
<extension
point="org.eclipse.ui.commandImages">
<image
commandId="org.eclipse.statet.r.commands.AddExceptionBreakpoint"
icon="icons/obj_16/r_exception.png"/>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="menu:org.eclipse.ui.run?endof=breakpointGroup">
<separator
name="Debug.R.Breakpoints">
</separator>
<command
commandId="org.eclipse.statet.r.commands.AddExceptionBreakpoint"
label="%menus_AddExceptionBreakpoint_label">
<visibleWhen
checkEnabled="false">
<or>
<with
variable="debugContext">
<count value="+"/>
</with>
<with
variable="activePartId">
<equals
value="org.eclipse.debug.ui.BreakpointView"/>
</with>
<reference
definitionId="org.eclipse.statet.r.expressions.isEditorActive.RSourceEditor"/>
</or>
</visibleWhen>
</command>
</menuContribution>
</extension>
<!-- variable/expression actions -->
<extension
point="org.eclipse.ui.commands">
<command
id="org.eclipse.statet.r.commands.InspectAttributes"
categoryId="org.eclipse.debug.ui.category.run"
name="%commands_InspectAttributes_label"
description="%commands_InspectAttributes_description">
</command>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
commandId="org.eclipse.statet.workbench.commands.CopyElementName"
class="org.eclipse.statet.internal.r.debug.ui.actions.CopyQualifiedNameHandler">
<activeWhen>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugVariables"/>
</activeWhen>
</handler>
<handler
commandId="org.eclipse.jdt.ui.edit.text.java.open.editor"
class="org.eclipse.statet.internal.r.debug.ui.actions.OpenInEditorHandler">
<activeWhen>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugVariable"/>
</activeWhen>
</handler>
<handler
commandId="org.eclipse.jdt.debug.ui.commands.Watch"
class="org.eclipse.statet.internal.r.debug.ui.actions.WatchHandler">
<activeWhen>
<or>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugVariables"/>
<reference
definitionId="org.eclipse.statet.r.expressions.isPartActive.RSourceEditor"/>
</or>
</activeWhen>
</handler>
<handler
commandId="org.eclipse.jdt.debug.ui.commands.Inspect"
class="org.eclipse.statet.internal.r.debug.ui.actions.InspectHandler">
<activeWhen>
<or>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugVariable"/>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugExpression"/>
<reference
definitionId="org.eclipse.statet.r.expressions.isPartActive.RSourceEditor"/>
</or>
</activeWhen>
<enabledWhen>
<and>
<with
variable="debugContext">
<count value="+"/>
</with>
<or>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugElementVariable"/>
<reference
definitionId="org.eclipse.statet.r.expressions.isPartActive.RSourceEditor"/>
</or>
</and>
</enabledWhen>
</handler>
<handler
commandId="org.eclipse.statet.r.commands.InspectAttributes"
class="org.eclipse.statet.internal.r.debug.ui.actions.InspectAttributesHandler">
<activeWhen>
<or>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugVariable"/>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugExpression"/>
<reference
definitionId="org.eclipse.statet.r.expressions.isPartActive.RSourceEditor"/>
</or>
</activeWhen>
<enabledWhen>
<and>
<with
variable="debugContext">
<count value="+"/>
</with>
<or>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugElementVariable"/>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugExpressionWithElementVariable"/>
<reference
definitionId="org.eclipse.statet.r.expressions.isPartActive.RSourceEditor"/>
</or>
</and>
</enabledWhen>
</handler>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:org.eclipse.ui.popup.any?after=variableGroup">
<command
commandId="org.eclipse.statet.workbench.commands.CopyElementName"
label="%menus_CopyQualifiedName_label">
<visibleWhen
checkEnabled="false">
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugVariables"/>
</visibleWhen>
</command>
</menuContribution>
<menuContribution
locationURI="popup:org.eclipse.ui.popup.any?after=additions">
<separator
name="debug.inspect"
visible="true">
</separator>
<command
commandId="org.eclipse.jdt.debug.ui.commands.Inspect"
label="%menus_Inspect_label">
<visibleWhen
checkEnabled="false">
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugElementVariable"/>
</visibleWhen>
</command>
<command
commandId="org.eclipse.statet.r.commands.InspectAttributes"
label="%menus_InspectAttributes_label">
<visibleWhen
checkEnabled="false">
<or>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugElementVariable"/>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugExpressionWithElementVariable"/>
</or>
</visibleWhen>
</command>
</menuContribution>
<menuContribution
locationURI="popup:org.eclipse.ui.popup.any?after=emptyNavigationGroup">
<command
commandId="org.eclipse.jdt.ui.edit.text.java.open.editor"
label="%menus_OpenInDataEditor_label">
<visibleWhen
checkEnabled="false">
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugVariable"/>
</visibleWhen>
</command>
</menuContribution>
<menuContribution
locationURI="menu:org.eclipse.ui.run?endof=Debug.R.Breakpoints">
<separator
name="Debug.R.Inspect"
visible="true">
</separator>
<command
commandId="org.eclipse.jdt.debug.ui.commands.Inspect">
<visibleWhen
checkEnabled="false">
<or>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugVariables"/>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugExpression"/>
<reference
definitionId="org.eclipse.statet.r.expressions.isEditorActive.RSourceEditor"/>
</or>
</visibleWhen>
</command>
<command
commandId="org.eclipse.statet.r.commands.InspectAttributes"
label="%menus_InspectAttributes_label">
<visibleWhen
checkEnabled="false">
<or>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugVariable"/>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugExpression"/>
<reference
definitionId="org.eclipse.statet.r.expressions.isEditorActive.RSourceEditor"/>
</or>
</visibleWhen>
</command>
<command
commandId="org.eclipse.jdt.debug.ui.commands.Watch"
label="%menus_Watch_label">
<visibleWhen
checkEnabled="false">
<or>
<reference
definitionId="org.eclipse.statet.r.expressions.isSelection.RDebugVariables"/>
<reference
definitionId="org.eclipse.statet.r.expressions.isEditorActive.RSourceEditor"/>
</or>
</visibleWhen>
</command>
</menuContribution>
</extension>
<!-- editor contributions -->
<extension
point="org.eclipse.core.runtime.adapters">
<factory
adaptableType="org.eclipse.statet.internal.r.ui.editors.REditor"
class="org.eclipse.statet.internal.r.debug.ui.actions.RetargettableActionAdapterFactory">
<adapter
type="org.eclipse.debug.ui.actions.IToggleBreakpointsTarget"/>
</factory>
</extension>
<extension
point="org.eclipse.debug.core.launchDelegates">
<launchDelegate
id="org.eclipse.statet.r.launchDelegates.RConsoleDebug"
type="org.eclipse.statet.r.launchConfigurations.RConsole"
modes="debug"
delegate="org.eclipse.statet.internal.r.debug.ui.lauching.RConsoleDebugLaunchDelegate"
sourceLocatorId="org.eclipse.statet.r.debugSourceLocators.RSourceLocator"
sourcePathComputerId="org.eclipse.statet.r.debugSourcePathComputers.RSourcePathComputer">
</launchDelegate>
<launchDelegate
id="org.eclipse.statet.r.launchDelegates.RRemoteConsoleDebug"
type="org.eclipse.statet.r.launchConfigurations.RRemoteConsole"
modes="debug"
delegate="org.eclipse.statet.internal.r.debug.ui.lauching.RRemoteConsoleDebugLaunchDelegate"
sourceLocatorId="org.eclipse.statet.r.debugSourceLocators.RSourceLocator"
sourcePathComputerId="org.eclipse.statet.r.debugSourcePathComputers.RSourcePathComputer">
</launchDelegate>
</extension>
<extension
point="org.eclipse.ui.editors.markerUpdaters">
<updater
id="org.eclipse.statet.r.resourceMarkerUpdaters.RBreakpoint"
markerType="org.eclipse.statet.r.resourceMarkers.RBreakpoint"
class="org.eclipse.statet.internal.r.debug.ui.breakpoints.BreakpointMarkerUpdater">
</updater>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
commandId="org.eclipse.jdt.debug.ui.commands.StepIntoSelection"
class="org.eclipse.statet.internal.r.debug.ui.actions.StepIntoSelectionHandler">
<activeWhen>
<reference
definitionId="org.eclipse.statet.r.expressions.isEditorActive.RSourceEditor"/>
</activeWhen>
<enabledWhen>
<with
variable="org.eclipse.statet.activeTool">
<test
property="org.eclipse.statet.nico.isMainType"
value="R"
forcePluginActivation="false">
</test>
</with>
</enabledWhen>
</handler>
</extension>
<extension
point="org.eclipse.ui.editorActions">
<editorContribution
id="org.eclipse.statet.r.legacy.REditorRulerDebugActions"
targetID="org.eclipse.statet.r.editors.R">
<action
id="org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction"
actionID="RulerDoubleClick"
class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
label="ToggleBreakpoint">
</action>
</editorContribution>
</extension>
<extension
point="org.eclipse.ui.popupMenus">
<viewerContribution
id="org.eclipse.statet.r.legacy.REditorRulerMenuDebugContribution"
targetID="org.eclipse.statet.r.menus.REditorRulerMenu">
<action
id=".EnableDisableBreakpoint"
class="org.eclipse.debug.ui.actions.RulerEnableDisableBreakpointActionDelegate"
label="%menus_EnableDisableBreakpoint_label"
menubarPath="debug">
</action>
<action
id=".ToggleBreakpoint"
class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
definitionId="org.eclipse.debug.ui.commands.ToggleBreakpoint"
icon="icons/obj_16/r_breakpoint.png"
label="%menus_ToggleBreakpoint_label"
menubarPath="debug">
</action>
</viewerContribution>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:org.eclipse.statet.r.menus.REditorContextMenu?before=additions">
<separator
name="Debug.R"
visible="true">
</separator>
<command
commandId="org.eclipse.jdt.debug.ui.commands.Inspect">
<visibleWhen
checkEnabled="false">
<with
variable="debugContext">
<count value="+"/>
</with>
</visibleWhen>
</command>
<command
commandId="org.eclipse.statet.r.commands.InspectAttributes">
<visibleWhen
checkEnabled="false">
<with
variable="debugContext">
<count value="+"/>
</with>
</visibleWhen>
</command>
<command
commandId="org.eclipse.jdt.debug.ui.commands.Watch">
<visibleWhen
checkEnabled="false">
<with
variable="debugContext">
<count value="+"/>
</with>
</visibleWhen>
</command>
<separator
name="Debug.R.additions"
visible="true">
</separator>
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.workbench.texteditor.hyperlinkDetectors">
<hyperlinkDetector
id="org.eclipse.statet.r.hyperlinks.StepIntoSelectionDetector"
targetId="org.eclipse.statet.r.editorHyperlinks.REditorTarget"
class="org.eclipse.statet.internal.r.debug.ui.actions.StepIntoSelectionHyperlinkDetector"
name="%hyperlinks_StepIntoSelection_name"
activate="false"
modifierKeys="M1+M3">
</hyperlinkDetector>
</extension>
<extension
point="org.eclipse.statet.ltk.AdvancedInfoHover">
<hover
id="org.eclipse.statet.r.infoHovers.RDebug"
contentTypeId="org.eclipse.statet.r.contentTypes.R"
name="Element Info from R Console"
class="org.eclipse.statet.internal.r.debug.ui.actions.RDebugHover">
</hover>
</extension>
</plugin>