|  | <?xml version="1.0" encoding="UTF-8"?> | 
|  | <?eclipse version="3.0"?> | 
|  |  | 
|  | <plugin> | 
|  |  | 
|  | <extension point="org.eclipse.ui.editors"> | 
|  | <editor class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor" | 
|  | contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor" default="true" extensions="proto" | 
|  | icon="icons/pb.gif" id="com.google.eclipse.protobuf.Protobuf" name="%editor.name"> | 
|  | </editor> | 
|  | </extension> | 
|  | <extension point="org.eclipse.ui.handlers"> | 
|  | <handler | 
|  | class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler" | 
|  | commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration"> | 
|  | <activeWhen> | 
|  | <reference definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened"> | 
|  | </reference> | 
|  | </activeWhen> | 
|  | </handler> | 
|  | <handler | 
|  | class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler" | 
|  | commandId="com.google.eclipse.protobuf.Protobuf.validate"> | 
|  | <activeWhen> | 
|  | <reference definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened"> | 
|  | </reference> | 
|  | </activeWhen> | 
|  | </handler> | 
|  | <handler | 
|  | class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:com.google.eclipse.protobuf.ui.commands.SmartSemicolonHandler" | 
|  | commandId="com.google.eclipse.protobuf.ui.smartSemicolon"> | 
|  | <activeWhen> | 
|  | <reference definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened"> | 
|  | </reference> | 
|  | </activeWhen> | 
|  | </handler> | 
|  | </extension> | 
|  | <extension point="org.eclipse.core.expressions.definitions"> | 
|  | <definition id="com.google.eclipse.protobuf.Protobuf.Editor.opened"> | 
|  | <and> | 
|  | <reference definitionId="isActiveEditorAnInstanceOfXtextEditor" /> | 
|  | <with variable="activeEditor"> | 
|  | <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" value="com.google.eclipse.protobuf.Protobuf" | 
|  | forcePluginActivation="true" /> | 
|  | </with> | 
|  | </and> | 
|  | </definition> | 
|  | </extension> | 
|  | <extension point="org.eclipse.ui.preferencePages"> | 
|  | <page | 
|  | class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage" | 
|  | id="com.google.eclipse.protobuf.Protobuf" name="%page.name"> | 
|  | <keywordReference id="com.google.eclipse.protobuf.ui.keyword_Protobuf" /> | 
|  | </page> | 
|  | <page category="com.google.eclipse.protobuf.Protobuf" | 
|  | class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage" | 
|  | id="com.google.eclipse.protobuf.Protobuf.coloring" name="%page.name.0"> | 
|  | <keywordReference id="com.google.eclipse.protobuf.ui.keyword_Protobuf" /> | 
|  | </page> | 
|  | <page category="com.google.eclipse.protobuf.Protobuf" | 
|  | class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage" | 
|  | id="com.google.eclipse.protobuf.Protobuf.templates" name="%page.name.1"> | 
|  | <keywordReference id="com.google.eclipse.protobuf.ui.keyword_Protobuf" /> | 
|  | </page> | 
|  | <page category="com.google.eclipse.protobuf.Protobuf" | 
|  | class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:com.google.eclipse.protobuf.ui.preferences.CompilerPreferencePage" | 
|  | id="com.google.eclipse.protobuf.ui.preferences.CompilerPreferencePage" name="%page.name.2"> | 
|  | <keywordReference id="com.google.eclipse.protobuf.ui.keyword_Protobuf" /> | 
|  | </page> | 
|  | </extension> | 
|  | <extension point="org.eclipse.ui.keywords"> | 
|  | <keyword id="com.google.eclipse.protobuf.ui.keyword_Protobuf" label="%keyword.label" /> | 
|  | </extension> | 
|  | <extension point="org.eclipse.ui.commands"> | 
|  | <command description="%command.description" id="com.google.eclipse.protobuf.Protobuf.validate" name="%command.name"> | 
|  | </command> | 
|  | </extension> | 
|  | <extension point="org.eclipse.ui.menus"> | 
|  | <menuContribution locationURI="popup:#TextEditorContext?after=group.edit"> | 
|  | <command commandId="com.google.eclipse.protobuf.Protobuf.validate" style="push" tooltip="%command.tooltip"> | 
|  | <visibleWhen checkEnabled="false"> | 
|  | <reference definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened"> | 
|  | </reference> | 
|  | </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="com.google.eclipse.protobuf.Protobuf.Editor.opened"> | 
|  | </reference> | 
|  | </visibleWhen> | 
|  | </command> | 
|  | </menuContribution> | 
|  | </extension> | 
|  | <extension point="org.eclipse.ui.handlers"> | 
|  | <handler | 
|  | class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler" | 
|  | commandId="org.eclipse.xtext.ui.editor.FindReferences"> | 
|  | <activeWhen> | 
|  | <reference definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened"> | 
|  | </reference> | 
|  | </activeWhen> | 
|  | </handler> | 
|  | </extension> | 
|  |  | 
|  | <!-- adding resource factories --> | 
|  | <extension point="org.eclipse.emf.ecore.extension_parser"> | 
|  | <parser | 
|  | class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory" | 
|  | type="proto"> | 
|  | </parser> | 
|  | </extension> | 
|  | <extension point="org.eclipse.xtext.extension_resourceServiceProvider"> | 
|  | <resourceServiceProvider | 
|  | class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider" | 
|  | uriExtension="proto"> | 
|  | </resourceServiceProvider> | 
|  | </extension> | 
|  |  | 
|  | <!-- Quick Outline --> | 
|  | <extension point="org.eclipse.ui.handlers"> | 
|  | <handler | 
|  | class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler" | 
|  | commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"> | 
|  | <activeWhen> | 
|  | <reference definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened"> | 
|  | </reference> | 
|  | </activeWhen> | 
|  | </handler> | 
|  | </extension> | 
|  | <extension point="org.eclipse.ui.commands"> | 
|  | <command description="%command.description.0" id="org.eclipse.xtext.ui.editor.outline.QuickOutline" name="%command.name.0"> | 
|  | </command> | 
|  | <command categoryId="org.eclipse.ui.category.textEditor" description="%command.description.1" | 
|  | id="com.google.eclipse.protobuf.ui.smartSemicolon" name="%command.name.1"> | 
|  | </command> | 
|  | </extension> | 
|  | <extension point="org.eclipse.ui.menus"> | 
|  | <menuContribution locationURI="popup:#TextEditorContext?after=group.open"> | 
|  | <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline" style="push" tooltip="%command.tooltip.0"> | 
|  | <visibleWhen checkEnabled="false"> | 
|  | <reference definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened" /> | 
|  | </visibleWhen> | 
|  | </command> | 
|  | </menuContribution> | 
|  | </extension> | 
|  |  | 
|  | <!-- quickfix marker resolution generator --> | 
|  | <extension point="org.eclipse.ui.ide.markerResolution"> | 
|  | <markerResolutionGenerator | 
|  | class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"> | 
|  | </markerResolutionGenerator> | 
|  | </extension> | 
|  | <extension point="org.eclipse.ui.bindings"> | 
|  | <key commandId="com.google.eclipse.protobuf.ui.smartSemicolon" contextId="org.eclipse.xtext.ui.XtextEditorScope" | 
|  | schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence=";"> | 
|  | </key> | 
|  | </extension> | 
|  | <extension point="org.eclipse.ui.propertyPages"> | 
|  | <page | 
|  | class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:com.google.eclipse.protobuf.ui.preferences.CompilerPreferencePage" | 
|  | id="com.google.eclipse.protobuf.ui.properties.CompilerPropertyPage" name="%page.name.3" selectionFilter="single"> | 
|  | </page> | 
|  | </extension> | 
|  | <extension point="org.eclipse.xtext.builder.participant"> | 
|  | <participant | 
|  | class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:com.google.eclipse.protobuf.ui.builder.ProtobufBuildParticipant"> | 
|  | </participant> | 
|  | </extension> | 
|  | <extension id="protocMarker" name="%protoc.marker.name" point="org.eclipse.core.resources.markers"> | 
|  | <super type="org.eclipse.core.resources.problemmarker"> | 
|  | </super> | 
|  | <super type="org.eclipse.core.resources.textmarker"> | 
|  | </super> | 
|  | <persistent value="true"> | 
|  | </persistent> | 
|  | </extension> | 
|  |  | 
|  | <!-- Rename Refactoring --> | 
|  | <extension point="org.eclipse.ui.handlers"> | 
|  | <handler | 
|  | class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RenameElementHandler" | 
|  | commandId="org.eclipse.xtext.ui.refactoring.RenameElement"> | 
|  | <activeWhen> | 
|  | <reference definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened"> | 
|  | </reference> | 
|  | </activeWhen> | 
|  | </handler> | 
|  | </extension> | 
|  | <extension point="org.eclipse.ui.menus"> | 
|  | <menuContribution locationURI="popup:#TextEditorContext?after=group.edit"> | 
|  | <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement" style="push"> | 
|  | <visibleWhen checkEnabled="false"> | 
|  | <reference definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened"> | 
|  | </reference> | 
|  | </visibleWhen> | 
|  | </command> | 
|  | </menuContribution> | 
|  | </extension> | 
|  | </plugin> |