blob: 37989a6994978360e9dfa9d3a820825e9de6ec6c [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.eclipse.core.contenttype.contentTypes">
<content-type
base-type="org.eclipse.core.runtime.text"
file-extensions="rs"
id="org.eclipse.corrosion.rust"
name="Rust project file"
priority="normal">
</content-type>
<content-type
base-type="org.eclipse.core.runtime.text"
file-names="Cargo.toml"
id="org.eclipse.corrosion.manifest"
name="Cargo manifest file"
priority="normal">
</content-type>
</extension>
<extension
point="org.eclipse.ui.editors">
<editorContentTypeBinding
contentTypeId="org.eclipse.corrosion.rust"
editorId="org.eclipse.ui.genericeditor.GenericEditor">
</editorContentTypeBinding>
<editorContentTypeBinding
contentTypeId="org.eclipse.corrosion.manifest"
editorId="org.eclipse.ui.genericeditor.GenericEditor">
</editorContentTypeBinding>
</extension>
<extension
point="org.eclipse.lsp4e.languageServer">
<server
class="org.eclipse.corrosion.RLSStreamConnectionProvider"
id="org.eclipse.corrosion.rls"
label="org.eclipse.corrosion.RLS"
clientImpl="org.eclipse.corrosion.RLSClientImplementation"
serverInterface="org.eclipse.corrosion.RLSServerInterface">
</server>
<contentTypeMapping
contentType="org.eclipse.corrosion.rust"
id="org.eclipse.corrosion.rls">
</contentTypeMapping>
</extension>
<extension
point="org.eclipse.tm4e.registry.grammars">
<grammar
path="grammar/Rust.tmLanguage"
scopeName="source.rust">
</grammar>
<scopeNameContentTypeBinding
contentTypeId="org.eclipse.corrosion.rust"
scopeName="source.rust">
</scopeNameContentTypeBinding>
<grammar
path="grammar/TOML.tmLanguage"
scopeName="source.toml">
</grammar>
<scopeNameContentTypeBinding
contentTypeId="org.eclipse.corrosion.manifest"
scopeName="source.toml">
</scopeNameContentTypeBinding>
</extension>
<extension
point="org.eclipse.ui.genericeditor.presentationReconcilers">
<presentationReconciler
class="org.eclipse.tm4e.ui.text.TMPresentationReconciler"
contentType="org.eclipse.corrosion.rust">
</presentationReconciler>
</extension>
<extension
point="org.eclipse.ui.genericeditor.contentAssistProcessors">
<contentAssistProcessor
class="org.eclipse.corrosion.snippet.SnippetContentAssistProcessor"
contentType="org.eclipse.corrosion.rust">
</contentAssistProcessor>
</extension>
<extension
point="org.eclipse.core.runtime.preferences">
<initializer
class="org.eclipse.corrosion.CorrosionPreferenceInitializer">
</initializer>
</extension>
<extension
point="org.eclipse.ui.preferencePages">
<page
class="org.eclipse.corrosion.CorrosionPreferencePage"
id="org.eclipse.corrosion.preferencePage"
name="Rust">
</page>
</extension>
<extension
point="org.eclipse.core.expressions.definitions">
<definition id="org.eclipse.corrosion.isCargoProject">
<with variable="selection">
<count value="1"/>
<iterate>
<adapt type="org.eclipse.core.resources.IResource">
<test property="org.eclipse.corrosion.isCargoProject"
forcePluginActivation="true"/>
</adapt>
</iterate>
</with>
</definition>
</extension>
<!-- WIZARDS -->
<extension
point="org.eclipse.ui.newWizards">
<category
id="org.eclipse.corrosion.rust"
name="Rust">
</category>
<wizard
category="org.eclipse.corrosion.rust"
class="org.eclipse.corrosion.wizards.newCargo.NewCargoProjectWizard"
icon="icons/cargo.png"
id="org.eclipse.corrosion.wizards.newCargo"
name="Cargo project"
project="true">
</wizard>
</extension>
<extension
point="org.eclipse.ui.exportWizards">
<wizard
id="org.eclipse.corrosion.wizards.export"
name="Rust Crate Packager"
class="org.eclipse.corrosion.wizards.export.CargoExportWizard"
icon="icons/cargo.png">
<description>
A wizard to assist with packaging Cargo based Rust projects into crates
</description>
<selection class="org.eclipse.core.resources.IResource"/>
</wizard>
</extension>
<!-- LAUNCH CONFIGURATIONS -->
<extension
point="org.eclipse.debug.core.launchConfigurationTypes">
<launchConfigurationType
delegate="org.eclipse.corrosion.run.CargoRunDelegate"
id="org.eclipse.corrosion.run.CargoRunDelegate"
modes="run"
name="Cargo Based Rust Project">
</launchConfigurationType>
<launchConfigurationType
delegate="org.eclipse.corrosion.debug.RustDebugDelegate"
id="org.eclipse.corrosion.debug.RustDebugDelegate"
modes="debug"
name="Rust"
public="true"
sourceLocatorId="com.eclipse.corrosion.debug.SourceLocator">
</launchConfigurationType>
</extension>
<extension
point="org.eclipse.debug.ui.launchConfigurationTabGroups">
<launchConfigurationTabGroup
class="org.eclipse.corrosion.run.CargoRunTabGroup"
id="org.eclipse.corrosion.run.CargoRunTabGroup"
type="org.eclipse.corrosion.run.CargoRunDelegate">
</launchConfigurationTabGroup>
<launchConfigurationTabGroup
class="org.eclipse.corrosion.debug.RustDebugTabGroup"
id="org.eclipse.corrosion.debug.RustDebugTabGroup"
type="org.eclipse.corrosion.debug.RustDebugDelegate">
</launchConfigurationTabGroup>
</extension>
<extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
<launchConfigurationTypeImage
id="org.eclipse.corrosion.run.CargoRunTypeImage"
configTypeID="org.eclipse.corrosion.run.CargoRunDelegate"
icon="icons/cargo.png">
</launchConfigurationTypeImage>
<launchConfigurationTypeImage
id="org.eclipse.corrosion.debug.RustDebugTypeImage"
configTypeID="org.eclipse.corrosion.debug.RustDebugDelegate"
icon="icons/rust.png">
</launchConfigurationTypeImage>
</extension>
<extension point="org.eclipse.core.expressions.propertyTesters">
<propertyTester
id="org.eclipse.corrosion.cargoProjectTester"
type="org.eclipse.core.resources.IResource"
namespace="org.eclipse.corrosion"
properties="isCargoProject"
class="org.eclipse.corrosion.CargoProjectTester">
</propertyTester>
</extension>
<extension point="org.eclipse.debug.ui.launchShortcuts">
<shortcut
id="org.eclipse.corrosion.run.Shortcut"
class="org.eclipse.corrosion.run.CargoRunDelegate"
label="Cargo Based Rust Project"
icon="icons/cargo.png"
modes="run">
<contextualLaunch>
<enablement>
<reference definitionId="org.eclipse.corrosion.isCargoProject"/>
</enablement>
</contextualLaunch>
</shortcut>
<shortcut
class="org.eclipse.corrosion.debug.RustDebugDelegate"
icon="icons/rust.png"
id="org.eclipse.corrosion.debug.Shortcut"
label="Rust Project"
modes="debug">
<contextualLaunch>
<enablement>
<reference definitionId="org.eclipse.corrosion.isCargoProject"/>
</enablement>
</contextualLaunch>
</shortcut>
</extension>
<extension
point="org.eclipse.debug.core.sourceLocators">
<sourceLocator
class="org.eclipse.corrosion.debug.SourceLookupDirector"
id="com.eclipse.corrosion.debug.SourceLocator"
name="Source Locator">
</sourceLocator>
</extension>
<!-- INCREMENTAL BUILD PROCESS -->
<extension
id="org.eclipse.corrosion.builder.IncrementalCargoBuilder"
name="Cargo Builder"
point="org.eclipse.core.resources.builders">
<builder>
<run class="org.eclipse.corrosion.builder.IncrementalCargoBuilder"/>
</builder>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="popup:org.eclipse.ui.projectConfigure?after=additions">
<command
commandId="org.eclipse.corrosion.builder.AddCargoBuilder"
style="push">
<visibleWhen checkEnabled="false">
<and>
<count value="1"/>
<reference definitionId="org.eclipse.corrosion.isCargoProject"/>
<iterate>
<not>
<test
forcePluginActivation="true"
property="org.eclipse.corrosion.builder.isCargoBuilderEnabled">
</test>
</not>
</iterate>
</and>
</visibleWhen>
</command>
<command
commandId="org.eclipse.corrosion.builder.RemoveCargoBuilder"
style="push">
<visibleWhen checkEnabled="true">
<and>
<count value="1"/>
<reference definitionId="org.eclipse.corrosion.isCargoProject"/>
<iterate>
<test
forcePluginActivation="true"
property="org.eclipse.corrosion.builder.isCargoBuilderEnabled">
</test>
</iterate>
</and>
</visibleWhen>
</command>
</menuContribution>
<menuContribution
allPopups="true"
locationURI="popup:#TextEditorContext?after=additions">
<command
commandId="org.eclipse.corrosion.commands.Implementations"
style="push">
</command>
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
defaultHandler="org.eclipse.corrosion.builder.AddCargoBuilder"
name="Add Cargo Builder"
id="org.eclipse.corrosion.builder.AddCargoBuilder">
</command>
<command
defaultHandler="org.eclipse.corrosion.builder.RemoveCargoBuilder"
id="org.eclipse.corrosion.builder.RemoveCargoBuilder"
name="Remove Cargo Builder">
</command>
<command
categoryId="org.eclipse.lsp4e.category"
id="org.eclipse.corrosion.commands.Implementations"
name="Implementations">
</command>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="org.eclipse.corrosion.extensions.Implementations"
commandId="org.eclipse.corrosion.commands.Implementations">
<enabledWhen>
<and>
<with
variable="selection">
<instanceof
value="org.eclipse.jface.text.ITextSelection">
</instanceof>
</with>
</and>
</enabledWhen>
</handler>
</extension>
<extension
point="org.eclipse.core.expressions.propertyTesters">
<propertyTester
class="org.eclipse.corrosion.builder.TestCargoBuilderEnabled"
id="org.eclipse.corrosion.builder.IncrementalCargoBuilderTester"
namespace="org.eclipse.corrosion.builder"
properties="isCargoBuilderEnabled"
type="java.lang.Object">
</propertyTester>
</extension>
<!-- PERSPECTIVE -->
<extension
point="org.eclipse.ui.perspectives">
<perspective
id="org.eclipse.corrosion.rustPerspective"
name="Rust"
class="org.eclipse.corrosion.RustPerspective"
icon="icons/rust.png">
</perspective>
</extension>
<!-- BREAKPOINTS -->
<extension point="org.eclipse.debug.ui.toggleBreakpointsTargetFactories">
<toggleTargetFactory
class="org.eclipse.corrosion.debug.ToggleBreakpointsTargetFactory"
id="com.eclipse.corrosion.debug.ToggleBreakpointsTargetFactory">
</toggleTargetFactory>
</extension>
<extension point="org.eclipse.ui.editorActions">
<editorContribution
targetID="org.eclipse.ui.genericeditor.GenericEditor"
id="com.github.rustdt.ide.debug.ui.EditorBreakpointRulerActions">
<action
actionID="RulerDoubleClick"
class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
id="Editor.rulerDoubleClickAction"
label="Toggle Breakpoint">
</action>
</editorContribution>
</extension>
</plugin>