|  | <?xml version="1.0" encoding="UTF-8"?> | 
|  | <?eclipse version="3.2"?> | 
|  | <plugin> | 
|  | <extension point="org.eclipse.ui.actionSets"> | 
|  | <actionSet id="org.eclipse.dltk.ruby.debug.ui.ScriptDebugActionSet" | 
|  | label="%actionSet.label.rubyDebug" visible="true"> | 
|  | <menu | 
|  | id="org.eclipse.ui.run" | 
|  | label="%menu.label.run" | 
|  | path="additions"> | 
|  | <separator | 
|  | name="scriptGroup"> | 
|  | </separator> | 
|  | </menu> | 
|  | <action | 
|  | label="%exceptionAction.accel.label" | 
|  | icon="$nl$/icons/elcl16/exc_catch.gif" | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.actions.AddRubyExceptionAction" | 
|  | menubarPath="org.eclipse.ui.run/breakpointGroup" | 
|  | id="org.eclipse.dltk.ruby.debug.ui.actions.AddExceptionBreakpoint"> | 
|  | </action> | 
|  | </actionSet> | 
|  | </extension> | 
|  |  | 
|  | <extension point="org.eclipse.ui.commands"> | 
|  | <command name="%ActionDefinition.RunRubyScript.name" | 
|  | description="%ActionDefinition.RunRubyScript.description" | 
|  | categoryId="org.eclipse.debug.ui.category.run" | 
|  | id="org.eclipse.dltk.ruby.debug.ui.launchShortcut.run"> | 
|  | </command> | 
|  | <command name="%ActionDefinition.DebugRubyScript.name" | 
|  | description="%ActionDefinition.DebugRubyScript.description" | 
|  | categoryId="org.eclipse.debug.ui.category.run" | 
|  | id="org.eclipse.dltk.ruby.debug.ui.launchShortcut.debug"> | 
|  | </command> | 
|  | <command | 
|  | id="org.eclipse.dltk.ruby.debug.ui.commands.toggleGlobalVariables" | 
|  | description="%showGlobalVarsCommand.name" | 
|  | name="%showGlobalVarsCommand.description" /> | 
|  | <command | 
|  | id="org.eclipse.dltk.ruby.debug.ui.commands.toggleClassVariables" | 
|  | description="%showClassVarsCommand.name" | 
|  | name="%showClassVarsCommand.description" /> | 
|  | <command | 
|  | id="org.eclipse.dltk.ruby.debug.ui.commands.toggleLocalVariables" | 
|  | description="%showLocalVarsCommand.name" | 
|  | name="%showLocalVarsCommand.description" /> | 
|  | </extension> | 
|  |  | 
|  | <extension point="org.eclipse.ui.bindings"> | 
|  | <key | 
|  | commandId="org.eclipse.dltk.ruby.debug.ui.launchShortcut.run" | 
|  | contextId="org.eclipse.ui.globalScope" | 
|  | schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" | 
|  | sequence="M3+M2+X Z"> | 
|  | </key> | 
|  | <key | 
|  | commandId="org.eclipse.dltk.ruby.debug.ui.launchShortcut.debug" | 
|  | contextId="org.eclipse.ui.globalScope" | 
|  | schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" | 
|  | sequence="M3+M2+D Z"> | 
|  | </key> | 
|  | </extension> | 
|  |  | 
|  | <extension point="org.eclipse.ui.editorActions"> | 
|  | <editorContribution | 
|  | targetID="org.eclipse.dltk.ruby.ui.editor.RubyEditor" | 
|  | id="org.eclipse.dltk.ruby.ui.editor.RubyEditor.BreakpointRulerActions"> | 
|  |  | 
|  | <action label="%ToggleBreakpoint.label" | 
|  | class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate" | 
|  | style="push" actionID="RulerDoubleClick" | 
|  | id="RubyEditor.doubleClickBreakpointAction" /> | 
|  | </editorContribution> | 
|  | </extension> | 
|  |  | 
|  | <extension point="org.eclipse.ui.popupMenus"> | 
|  | <viewerContribution | 
|  | id="org.eclipse.dltk.ruby.debug.ui.rulerContribution" | 
|  | targetID="#RubyRulerContext"> | 
|  |  | 
|  | <action label="%EnableDisableBreakpoint.label" | 
|  | id="org.eclipse.dltk.ruby.ui.actions.RulerEnableDisableBreakpointActionDelegate" | 
|  | class="org.eclipse.debug.ui.actions.RulerEnableDisableBreakpointActionDelegate" | 
|  | menubarPath="debug"> | 
|  | </action> | 
|  |  | 
|  | <action label="%ToggleBreakpoint.label" | 
|  | id="org.eclipse.dltk.ruby.ui.actions.RulerToggleBreakpointActionDelegate" | 
|  | class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate" | 
|  | menubarPath="debug"> | 
|  | </action> | 
|  |  | 
|  | <action | 
|  | class="org.eclipse.dltk.debug.ui.actions.ScriptBreakpointPropertiesRulerActionDelegate" | 
|  | id="org.eclipse.dltk.ruby.debug.ui.ScriptBreakpointPropertiesRulerActionDelegate" | 
|  | label="%BreakpointProperties.label" | 
|  | menubarPath="group.properties" /> | 
|  | </viewerContribution> | 
|  |  | 
|  | <viewerContribution targetID="#RubyEditorContext" | 
|  | id="org.eclipse.dltk.debug.ui.DebugPopupActions"> | 
|  | <visibility> | 
|  | <and> | 
|  | <systemProperty | 
|  | name="org.eclipse.dltk.debug.ui.debuggerActive" value="true"> | 
|  | </systemProperty> | 
|  | <objectClass | 
|  | name="org.eclipse.jface.text.ITextSelection"> | 
|  | </objectClass> | 
|  | </and> | 
|  | </visibility> | 
|  | <action label="%ScriptWatch.label" | 
|  | icon="$nl$/icons/etool16/watch_exp.gif" | 
|  | class="org.eclipse.dltk.internal.debug.ui.actions.ScriptWatchAction" | 
|  | menubarPath="additions" | 
|  | id="org.eclipse.dltk.ruby.debug.ui.ScriptWatch"> | 
|  | </action> | 
|  | <action label="%ScriptInspect.label" | 
|  | icon="$nl$/icons/etool16/insp_sbook.gif" | 
|  | definitionId="org.eclipse.dlkt.debug.ui.commands.ScriptInspect" | 
|  | class="org.eclipse.dltk.internal.debug.ui.actions.PopupScriptInspectAction" | 
|  | menubarPath="additions" | 
|  | id="org.eclipse.dltk.ruby.debug.ui.ScriptInspect"> | 
|  | </action> | 
|  | <action label="%ScriptDisplay.label" | 
|  | icon="$nl$/icons/etool16/disp_sbook.gif" | 
|  | definitionId="org.eclipse.dlkt.debug.ui.commands.ScriptDisplay" | 
|  | class="org.eclipse.dltk.internal.debug.ui.actions.PopupScriptDisplayAction" | 
|  | menubarPath="additions" | 
|  | id="org.eclipse.dltk.ruby.debug.ui.ScriptDisplay"> | 
|  | </action> | 
|  | </viewerContribution> | 
|  | </extension> | 
|  |  | 
|  | <extension point="org.eclipse.ui.actionSetPartAssociations"> | 
|  | <actionSetPartAssociation | 
|  | targetID="org.eclipse.debug.ui.launchActionSet"> | 
|  | <part id="org.eclipse.dltk.ruby.ui.editor.RubyEditor" /> | 
|  | </actionSetPartAssociation> | 
|  | <actionSetPartAssociation | 
|  | targetID="org.eclipse.debug.ui.launchActionSet"> | 
|  | <part id="org.eclipse.dltk.ui.ScriptExplorer" /> | 
|  | <part id="org.eclipse.dltk.ruby.ui.editor.RubyEditor" /> | 
|  | </actionSetPartAssociation> | 
|  | </extension> | 
|  |  | 
|  | <extension point="org.eclipse.ui.preferencePages"> | 
|  | <page | 
|  | category="org.eclipse.dltk.ruby.preferences" | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.interpreters.RubyInterpreterPreferencePage" | 
|  | id="org.eclipse.dltk.ruby.preferences.interpreters" | 
|  | name="%RubyInterpretersPreferencePage.name" /> | 
|  | <page | 
|  | category="org.eclipse.dltk.ruby.preferences" | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.preferences.RubyDebugPreferencePage" | 
|  | id="org.eclipse.dltk.ruby.preferences.debug" | 
|  | name="%RubyDebugPreferencePage.name" /> | 
|  | <page | 
|  | category="org.eclipse.dltk.ruby.preferences.debug" | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.preferences.RubyDebuggingEnginePreferencePage" | 
|  | id="org.eclipse.dltk.ruby.preferences.debug.engines" | 
|  | name="%RubyDebuggingEnginePreferencePage.name" /> | 
|  | <page | 
|  | category="org.eclipse.dltk.ruby.preferences.debug" | 
|  | class="org.eclipse.dltk.debug.ui.preferences.ScriptStepFilterPreferencePage:org.eclipse.dltk.ruby.core.nature" | 
|  | id="org.eclipse.dltk.ruby.debug.ui.stepfilter" | 
|  | name="%RubyStepFiltersPreferencePage.name" /> | 
|  | </extension> | 
|  |  | 
|  | <extension point="org.eclipse.ui.propertyPages"> | 
|  | <page | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.preferences.RubyDebugPreferencePage" | 
|  | category="org.eclipse.dltk.ruby.propertyPage" | 
|  | id="org.eclipse.dltk.ruby.propertyPage.debug" | 
|  | name="%Debug.PropertyPage"> | 
|  | <enabledWhen> | 
|  | <adapt type="org.eclipse.core.resources.IProject"> | 
|  | <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.dltk.ruby.core.nature"/> | 
|  | </adapt> | 
|  | </enabledWhen> | 
|  | </page> | 
|  | <page | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.preferences.RubyDebuggingEnginePreferencePage" | 
|  | category="org.eclipse.dltk.ruby.propertyPage.debug" | 
|  | id="org.eclipse.dltk.ruby.propertyPage.debug.engines" | 
|  | name="%Engines.PropertyPage"> | 
|  | <enabledWhen> | 
|  | <adapt type="org.eclipse.core.resources.IProject"> | 
|  | <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.dltk.ruby.core.nature"/> | 
|  | </adapt> | 
|  | </enabledWhen> | 
|  | </page> | 
|  | </extension> | 
|  |  | 
|  | <!-- ssanders: Uncomment when matching is correct | 
|  | <extension | 
|  | point="org.eclipse.ui.console.consolePatternMatchListeners"> | 
|  | <consolePatternMatchListener | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.console.RubyConsoleTracker" | 
|  | id="org.eclipse.dltk.ruby.debug.ui.RubyConsoleTracker" | 
|  | regex="(\w?:?[^(:|\n)]+):([\d]+)"> | 
|  | <enablement> | 
|  | <or> | 
|  | <test | 
|  | property="org.eclipse.debug.ui.processTypeTest" | 
|  | value="rubyInterpreter" /> | 
|  | </or> | 
|  | </enablement> | 
|  | </consolePatternMatchListener> | 
|  | </extension> | 
|  | --> | 
|  | <extension point="org.eclipse.debug.ui.debugModelPresentations"> | 
|  | <debugModelPresentation | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.RubyDebugModelPresentation" | 
|  | id="org.eclipse.dltk.debug.rubyModel"> | 
|  | </debugModelPresentation> | 
|  | </extension> | 
|  |  | 
|  | <extension point="org.eclipse.debug.ui.debugModelContextBindings"> | 
|  | <modelContextBinding | 
|  | contextId="org.eclipse.dltk.debug.ui.debugging" | 
|  | debugModelId="org.eclipse.dltk.debug.rubyModel" /> | 
|  | </extension> | 
|  |  | 
|  | <extension | 
|  | point="org.eclipse.debug.core.watchExpressionDelegates"> | 
|  | <watchExpressionDelegate | 
|  | debugModel="org.eclipse.dltk.debug.rubyModel" | 
|  | delegateClass="org.eclipse.dltk.internal.debug.core.model.ScriptWatchExpressionDelegate"> | 
|  | </watchExpressionDelegate> | 
|  | </extension> | 
|  |  | 
|  | <extension | 
|  | point="org.eclipse.debug.ui.launchConfigurationTypeImages"> | 
|  | <launchConfigurationTypeImage icon="icons/obj16/ruby_obj.gif" | 
|  | configTypeID="org.eclipse.dltk.ruby.launching.RubyLaunchConfigurationType" | 
|  | id="org.eclipse.dltk.ruby.debug.ui.launchConfigurationTypeImage"> | 
|  | </launchConfigurationTypeImage> | 
|  | <launchConfigurationTypeImage icon="icons/obj16/ruby_obj.gif" | 
|  | configTypeID="org.eclipse.dltk.ruby.launching.RubyRemoteLaunchConfigurationType" | 
|  | id="org.eclipse.dltk.ruby.debug.ui.remoteLaunchConfigurationTypeImage"> | 
|  | </launchConfigurationTypeImage> | 
|  | </extension> | 
|  |  | 
|  | <extension | 
|  | point="org.eclipse.debug.ui.launchConfigurationTabGroups"> | 
|  | <launchConfigurationTabGroup | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.launchConfigurations.RubyTabGroup" | 
|  | id="org.eclipse.dltk.ruby.debug.ui.RubyTabGroup" | 
|  | type="org.eclipse.dltk.ruby.launching.RubyLaunchConfigurationType"> | 
|  | </launchConfigurationTabGroup> | 
|  | <launchConfigurationTabGroup | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.launchConfigurations.RubyRemoteTabGroup" | 
|  | id="org.eclipse.dltk.ruby.debug.ui.RubyRemoteTabGroup" | 
|  | type="org.eclipse.dltk.ruby.launching.RubyRemoteLaunchConfigurationType"> | 
|  | </launchConfigurationTabGroup> | 
|  | </extension> | 
|  |  | 
|  | <extension point="org.eclipse.debug.ui.launchShortcuts"> | 
|  | <shortcut | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.launcher.RubyLaunchShortcut" | 
|  | description="%RubyLaunchShortcut.description" | 
|  | icon="icons/obj16/ruby_obj.gif" | 
|  | id="org.eclipse.dltk.ruby.debug.ui.launchShortcut" | 
|  | label="%RubyLaunchShortcut.name" modes="run, debug"> | 
|  | <description | 
|  | description="%RubyLaunchShortcut.runDescription" mode="run"> | 
|  | </description> | 
|  | <description | 
|  | description="%RubyLaunchShortcut.debugDescription" mode="debug"> | 
|  | </description> | 
|  | <contextualLaunch> | 
|  | <enablement> | 
|  | <with variable="selection"> | 
|  | <count value="1" /> | 
|  | <iterate> | 
|  | <or> | 
|  | <test | 
|  | args="org.eclipse.dltk.ruby.core.nature" | 
|  | property="org.eclipse.dltk.launching.hasProjectNature" /> | 
|  | </or> | 
|  | </iterate> | 
|  | </with> | 
|  | </enablement> | 
|  | <contextLabel label="%RubyLaunchShortcut.runName" | 
|  | mode="run"> | 
|  | </contextLabel> | 
|  | <contextLabel label="%RubyLaunchShortcut.debugName" | 
|  | mode="debug"> | 
|  | </contextLabel> | 
|  | </contextualLaunch> | 
|  | </shortcut> | 
|  | </extension> | 
|  |  | 
|  | <extension point="org.eclipse.dltk.ui.editorTextHovers"> | 
|  | <hover label="%RubyDebugHover.label" | 
|  | description="%RubyDebugHover.description" | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.RubyDebugHover" | 
|  | id="org.eclipse.dltk.ruby.internal.debug.ui.RubyDebugHover"> | 
|  | </hover> | 
|  | </extension> | 
|  |  | 
|  | <extension point="org.eclipse.dltk.ui.buildpathContainerPage"> | 
|  | <buildpathContainerPath | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.interpreters.RubyInterpreterContainerWizardPage" | 
|  | id="org.eclipse.dltk.ruby.launching.INTERPRETER_CONTAINER" | 
|  | name="Ruby Interpreter Libraries" | 
|  | nature="org.eclipse.dltk.ruby.core.nature" /> | 
|  | </extension> | 
|  |  | 
|  | <extension point="org.eclipse.core.runtime.adapters"> | 
|  | <factory | 
|  | adaptableType="org.eclipse.dltk.ruby.internal.ui.editor.RubyEditor" | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.RubyEditorDebugAdapterFactory"> | 
|  | <adapter type="org.eclipse.debug.ui.actions.IToggleBreakpointsTarget"/> | 
|  | <adapter type="org.eclipse.debug.ui.actions.IRunToLineTarget"/> | 
|  | </factory> | 
|  | </extension> | 
|  | <extension | 
|  | point="org.eclipse.dltk.debug.smartStepEvaluator"> | 
|  | <evaluator | 
|  | class="org.eclipse.dltk.ruby.internal.debug.RubySmartStepEvaluator" | 
|  | nature="org.eclipse.dltk.ruby.core.nature" | 
|  | priority="0"> | 
|  | </evaluator> | 
|  | </extension> | 
|  |  | 
|  | <extension | 
|  | point="org.eclipse.dltk.debug.ui.scriptDetailFormatter"> | 
|  | <detailFormatter | 
|  | nature="org.eclipse.dltk.ruby.core.nature" | 
|  | snippet="(%variable%).to_s" | 
|  | type="BigDecimal"> | 
|  | </detailFormatter> | 
|  | <detailFormatter | 
|  | nature="org.eclipse.dltk.ruby.core.nature" | 
|  | snippet="(%variable%).to_s" | 
|  | type="Complex"> | 
|  | </detailFormatter> | 
|  | <detailFormatter | 
|  | nature="org.eclipse.dltk.ruby.core.nature" | 
|  | snippet="(%variable%).to_s" | 
|  | type="Date"> | 
|  | </detailFormatter> | 
|  | <detailFormatter | 
|  | nature="org.eclipse.dltk.ruby.core.nature" | 
|  | snippet="(%variable%).to_s" | 
|  | type="DateTime"> | 
|  | </detailFormatter> | 
|  | <detailFormatter | 
|  | nature="org.eclipse.dltk.ruby.core.nature" | 
|  | snippet=""{ " + (%variable%).collect{|k, v| k.inspect + " => " + v.inspect}*", " + " }"" | 
|  | type="Hash"> | 
|  | </detailFormatter> | 
|  | <detailFormatter | 
|  | nature="org.eclipse.dltk.ruby.core.nature" | 
|  | snippet="(%variable%).to_a.inspect" | 
|  | type="MatchData"> | 
|  | </detailFormatter> | 
|  | <detailFormatter | 
|  | nature="org.eclipse.dltk.ruby.core.nature" | 
|  | snippet="(%variable%).to_s" | 
|  | type="Rational"> | 
|  | </detailFormatter> | 
|  | <detailFormatter | 
|  | nature="org.eclipse.dltk.ruby.core.nature" | 
|  | snippet=""{ " + (%variable%).collect{|i| i.inspect }*", " + " }"" | 
|  | type="Set"> | 
|  | </detailFormatter> | 
|  | <detailFormatter | 
|  | nature="org.eclipse.dltk.ruby.core.nature" | 
|  | snippet="(%variable%).string" | 
|  | type="StringIO"> | 
|  | </detailFormatter> | 
|  | <detailFormatter | 
|  | nature="org.eclipse.dltk.ruby.core.nature" | 
|  | snippet="(%variable%).inspect" | 
|  | type="#DEFAULT#"> | 
|  | </detailFormatter> | 
|  | </extension> | 
|  |  | 
|  | <extension point="org.eclipse.ui.viewActions"> | 
|  | <viewContribution | 
|  | targetID="org.eclipse.debug.ui.BreakpointView" | 
|  | id="org.eclipse.dltk.debug.ui.BreakpointViewActions"> | 
|  | <action | 
|  | id="org.eclipse.dltk.ruby.debug.ui.actions.AddExceptionBreakpoint" | 
|  | toolbarPath="scriptExceptions" | 
|  | hoverIcon="$nl$/icons/elcl16/exc_catch.gif" | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.actions.AddRubyExceptionAction" | 
|  | disabledIcon="$nl$/icons/dlcl16/exc_catch.gif" | 
|  | icon="$nl$/icons/elcl16/exc_catch.gif" | 
|  | helpContextId="add_exception_action_context" | 
|  | label="%exceptionAction.label" | 
|  | tooltip="%exceptionAction.tooltip"> | 
|  | </action> | 
|  | </viewContribution> | 
|  | </extension> | 
|  |  | 
|  | <extension point="org.eclipse.ui.menus"> | 
|  | <menuContribution locationURI="menu:org.eclipse.debug.ui.VariableView"> | 
|  | <menu | 
|  | label="%variablesViewMenu.name" | 
|  | id="org.eclipse.dltk.ruby.debug.ui.menu.VariableView" /> | 
|  | </menuContribution> | 
|  | <menuContribution locationURI="menu:org.eclipse.dltk.ruby.debug.ui.menu.VariableView"> | 
|  | <command | 
|  | commandId="org.eclipse.dltk.ruby.debug.ui.commands.toggleGlobalVariables" | 
|  | tooltip="%showGlobalVarsCommand.tooltip" | 
|  | style="toggle" /> | 
|  | <command | 
|  | commandId="org.eclipse.dltk.ruby.debug.ui.commands.toggleClassVariables" | 
|  | tooltip="%showClassVarsCommand.tooltip" | 
|  | style="toggle" /> | 
|  | <command | 
|  | commandId="org.eclipse.dltk.ruby.debug.ui.commands.toggleLocalVariables" | 
|  | tooltip="%showLocalVarsCommand.tooltip" | 
|  | style="toggle" /> | 
|  | </menuContribution> | 
|  | </extension> | 
|  |  | 
|  | <extension point="org.eclipse.ui.handlers"> | 
|  | <handler | 
|  | commandId="org.eclipse.dltk.ruby.debug.ui.commands.toggleGlobalVariables" | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.handlers.ToggleGlobalVariablesHandler" /> | 
|  | <handler | 
|  | commandId="org.eclipse.dltk.ruby.debug.ui.commands.toggleClassVariables" | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.handlers.ToggleClassVariablesHandler" /> | 
|  | <handler | 
|  | commandId="org.eclipse.dltk.ruby.debug.ui.commands.toggleLocalVariables" | 
|  | class="org.eclipse.dltk.ruby.internal.debug.ui.handlers.ToggleLocalVariablesHandler" /> | 
|  | </extension> | 
|  |  | 
|  | </plugin> |