blob: 7835e106f8035ac108ffd18fe2226279a35d7d13 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
Copyright (c) 2014 1C LLC.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
Contributors:
Vladimir Piskarev (1C) - initial API and implementation
-->
<plugin>
<extension
point="org.eclipse.ui.editors">
<editor
class="org.eclipse.handly.examples.basic.ui.FooExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
default="true"
extensions="foo"
id="org.eclipse.handly.examples.basic.Foo"
name="Foo Editor">
</editor>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="org.eclipse.handly.examples.basic.ui.FooExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
<activeWhen>
<reference
definitionId="org.eclipse.handly.examples.basic.Foo.Editor.opened">
</reference>
</activeWhen>
</handler>
<handler
class="org.eclipse.handly.examples.basic.ui.FooExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
commandId="org.eclipse.handly.examples.basic.Foo.validate">
<activeWhen>
<reference
definitionId="org.eclipse.handly.examples.basic.Foo.Editor.opened">
</reference>
</activeWhen>
</handler>
<!-- copy qualified name -->
<handler
class="org.eclipse.handly.examples.basic.ui.FooExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
<activeWhen>
<reference definitionId="org.eclipse.handly.examples.basic.Foo.Editor.opened" />
</activeWhen>
</handler>
<handler
class="org.eclipse.handly.examples.basic.ui.FooExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
<activeWhen>
<and>
<reference definitionId="org.eclipse.handly.examples.basic.Foo.XtextEditor.opened" />
<iterate>
<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
</iterate>
</and>
</activeWhen>
</handler>
</extension>
<extension point="org.eclipse.core.expressions.definitions">
<definition id="org.eclipse.handly.examples.basic.Foo.Editor.opened">
<and>
<reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
<with variable="activeEditor">
<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
value="org.eclipse.handly.examples.basic.Foo"
forcePluginActivation="true"/>
</with>
</and>
</definition>
<definition id="org.eclipse.handly.examples.basic.Foo.XtextEditor.opened">
<and>
<reference definitionId="isXtextEditorActive"/>
<with variable="activeEditor">
<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
value="org.eclipse.handly.examples.basic.Foo"
forcePluginActivation="true"/>
</with>
</and>
</definition>
</extension>
<extension
point="org.eclipse.ui.preferencePages">
<page
class="org.eclipse.handly.examples.basic.ui.FooExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
id="org.eclipse.handly.examples.basic.Foo"
name="Foo">
<keywordReference id="org.eclipse.handly.examples.basic.ui.keyword_Foo"/>
</page>
<page
category="org.eclipse.handly.examples.basic.Foo"
class="org.eclipse.handly.examples.basic.ui.FooExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
id="org.eclipse.handly.examples.basic.Foo.coloring"
name="Syntax Coloring">
<keywordReference id="org.eclipse.handly.examples.basic.ui.keyword_Foo"/>
</page>
<page
category="org.eclipse.handly.examples.basic.Foo"
class="org.eclipse.handly.examples.basic.ui.FooExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
id="org.eclipse.handly.examples.basic.Foo.templates"
name="Templates">
<keywordReference id="org.eclipse.handly.examples.basic.ui.keyword_Foo"/>
</page>
</extension>
<extension
point="org.eclipse.ui.propertyPages">
<page
class="org.eclipse.handly.examples.basic.ui.FooExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
id="org.eclipse.handly.examples.basic.Foo"
name="Foo">
<keywordReference id="org.eclipse.handly.examples.basic.ui.keyword_Foo"/>
<enabledWhen>
<adapt type="org.eclipse.core.resources.IProject"/>
</enabledWhen>
<filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
</page>
</extension>
<extension
point="org.eclipse.ui.keywords">
<keyword
id="org.eclipse.handly.examples.basic.ui.keyword_Foo"
label="Foo"/>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
description="Trigger expensive validation"
id="org.eclipse.handly.examples.basic.Foo.validate"
name="Validate">
</command>
<!-- copy qualified name -->
<command
id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
categoryId="org.eclipse.ui.category.edit"
description="Copy the qualified name for the selected element"
name="Copy Qualified Name">
</command>
<command
id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
categoryId="org.eclipse.ui.category.edit"
description="Copy the qualified name for the selected element"
name="Copy Qualified Name">
</command>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:#TextEditorContext?after=group.edit">
<command
commandId="org.eclipse.handly.examples.basic.Foo.validate"
style="push"
tooltip="Trigger expensive validation">
<visibleWhen checkEnabled="false">
<reference
definitionId="org.eclipse.handly.examples.basic.Foo.Editor.opened">
</reference>
</visibleWhen>
</command>
</menuContribution>
<!-- copy qualified name -->
<menuContribution locationURI="popup:#TextEditorContext?after=copy">
<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
style="push" tooltip="Copy Qualified Name">
<visibleWhen checkEnabled="false">
<reference definitionId="org.eclipse.handly.examples.basic.Foo.Editor.opened" />
</visibleWhen>
</command>
</menuContribution>
<menuContribution locationURI="menu:edit?after=copy">
<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
style="push" tooltip="Copy Qualified Name">
<visibleWhen checkEnabled="false">
<reference definitionId="org.eclipse.handly.examples.basic.Foo.Editor.opened" />
</visibleWhen>
</command>
</menuContribution>
<menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
style="push" tooltip="Copy Qualified Name">
<visibleWhen checkEnabled="false">
<and>
<reference definitionId="org.eclipse.handly.examples.basic.Foo.XtextEditor.opened" />
<iterate>
<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
</iterate>
</and>
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
<visibleWhen checkEnabled="false">
<reference definitionId="org.eclipse.handly.examples.basic.Foo.Editor.opened">
</reference>
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
class="org.eclipse.handly.examples.basic.ui.FooExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
commandId="org.eclipse.xtext.ui.editor.FindReferences">
<activeWhen>
<reference
definitionId="org.eclipse.handly.examples.basic.Foo.Editor.opened">
</reference>
</activeWhen>
</handler>
</extension>
<!-- adding resource factories -->
<extension
point="org.eclipse.emf.ecore.extension_parser">
<parser
class="org.eclipse.handly.examples.basic.ui.FooExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
type="foo">
</parser>
</extension>
<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
<resourceServiceProvider
class="org.eclipse.handly.examples.basic.ui.FooExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
uriExtension="foo">
</resourceServiceProvider>
</extension>
<!-- hand-written -->
<extension
id="fooNature"
name="Foo Project Nature"
point="org.eclipse.core.resources.natures">
<runtime>
<run
class="org.eclipse.handly.internal.examples.basic.ui.model.FooProjectNature">
</run>
</runtime>
<requires-nature
id="org.eclipse.xtext.ui.shared.xtextNature">
</requires-nature>
</extension>
<extension
point="org.eclipse.core.runtime.adapters">
<factory
adaptableType="org.eclipse.handly.examples.basic.ui.model.IFooElement"
class="org.eclipse.handly.internal.examples.basic.ui.model.FooElementAdapterFactory">
<adapter
type="org.eclipse.core.resources.IResource">
</adapter>
</factory>
</extension>
<extension
point="org.eclipse.ui.newWizards">
<category
id="org.eclipse.handly.examples.basic.ui.fooCategory"
name="Foo">
</category>
<wizard
id="org.eclipse.handly.examples.basic.ui.wizards.new.fooProject"
name="Foo Project"
icon="icons/etool16/newprj_wiz.gif"
class="org.eclipse.handly.examples.basic.ui.FooExecutableExtensionFactory:org.eclipse.handly.internal.examples.basic.ui.wizards.NewFooProjectWizard"
category="org.eclipse.handly.examples.basic.ui.fooCategory"
project="true">
</wizard>
</extension>
<extension
point="org.eclipse.ui.views">
<category
id="org.eclipse.handly.examples.basic.ui.fooCategory"
name="Foo">
</category>
<view
id="org.eclipse.handly.examples.basic.ui.views.fooNavigator"
name="Foo Navigator"
class="org.eclipse.handly.internal.examples.basic.ui.navigator.FooNavigator"
category="org.eclipse.handly.examples.basic.ui.fooCategory"
restorable="true">
</view>
</extension>
<extension
point="org.eclipse.ui.navigator.viewer">
<viewer
viewerId="org.eclipse.handly.examples.basic.ui.views.fooNavigator">
</viewer>
<viewerContentBinding
viewerId="org.eclipse.handly.examples.basic.ui.views.fooNavigator">
<includes>
<contentExtension
pattern="org.eclipse.handly.examples.basic.ui.navigator.fooContent">
</contentExtension>
<contentExtension
pattern="org.eclipse.handly.examples.basic.ui.navigator.fooLinkHelper">
</contentExtension>
<contentExtension
pattern="org.eclipse.ui.navigator.resources.filters.startsWithDot">
</contentExtension>
</includes>
</viewerContentBinding>
<viewerActionBinding
viewerId="org.eclipse.handly.examples.basic.ui.views.fooNavigator">
<includes>
<actionExtension
pattern="org.eclipse.handly.examples.basic.ui.navigator.OpenActionProvider">
</actionExtension>
</includes>
</viewerActionBinding>
</extension>
<extension
point="org.eclipse.ui.navigator.navigatorContent">
<navigatorContent
id="org.eclipse.handly.examples.basic.ui.navigator.fooContent"
name="Foo Content"
contentProvider="org.eclipse.handly.internal.examples.basic.ui.FooContentProvider"
labelProvider="org.eclipse.handly.internal.examples.basic.ui.FooLabelProvider">
<triggerPoints>
<or>
<instanceof
value="org.eclipse.handly.examples.basic.ui.model.IFooElement">
</instanceof>
<instanceof
value="org.eclipse.core.resources.IFolder">
</instanceof>
</or>
</triggerPoints>
<possibleChildren>
<or>
<instanceof
value="org.eclipse.handly.examples.basic.ui.model.IFooElement">
</instanceof>
<instanceof
value="org.eclipse.core.resources.IFolder">
</instanceof>
<instanceof
value="org.eclipse.core.resources.IFile">
</instanceof>
</or>
</possibleChildren>
</navigatorContent>
<actionProvider
id="org.eclipse.handly.examples.basic.ui.navigator.OpenActionProvider"
class="org.eclipse.handly.internal.examples.basic.ui.navigator.OpenActionProvider">
<enablement></enablement>
</actionProvider>
</extension>
<extension
point="org.eclipse.ui.navigator.linkHelper">
<linkHelper
id="org.eclipse.handly.examples.basic.ui.navigator.fooLinkHelper"
class="org.eclipse.handly.internal.examples.basic.ui.navigator.FooLinkHelper">
<editorInputEnablement>
<or>
<instanceof
value="org.eclipse.ui.IFileEditorInput">
</instanceof>
</or>
</editorInputEnablement>
<selectionEnablement>
<or>
<instanceof
value="org.eclipse.handly.examples.basic.ui.model.IFooElement">
</instanceof>
<instanceof
value="org.eclipse.core.resources.IResource">
</instanceof>
</or>
</selectionEnablement>
</linkHelper>
</extension>
</plugin>