| <?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> |