<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<plugin>

    <extension
            point="org.eclipse.ui.editors">
        <editor
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
            default="true"
            extensions="xcore"
            id="org.eclipse.emf.ecore.xcore.Xcore"
            matchingStrategy="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.editor.JavaEditorInputMatcher"
            name="Xcore Editor">
        </editor>
    </extension>
    <extension
        point="org.eclipse.ui.handlers">
        <handler
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
            commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
            <activeWhen>
                <reference
                    definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened">
                </reference>
            </activeWhen>
        </handler>
        <handler
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
            commandId="org.eclipse.emf.ecore.xcore.Xcore.validate">
         <activeWhen>
            <reference
                    definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened">
            </reference>
         </activeWhen>
      	</handler>
      	<!-- copy qualified name -->
        <handler
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
            commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
            <activeWhen>
				<reference definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened" />
            </activeWhen>
        </handler>
        <handler
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
            commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
            <activeWhen>
            	<and>
            		<reference definitionId="org.eclipse.emf.ecore.xcore.Xcore.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.emf.ecore.xcore.Xcore.Editor.opened">
            <and>
                <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
                <with variable="activeEditor">
                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
                        value="org.eclipse.emf.ecore.xcore.Xcore" 
                        forcePluginActivation="true"/>
                </with>        
            </and>
        </definition>
        <definition id="org.eclipse.emf.ecore.xcore.Xcore.XtextEditor.opened">
            <and>
                <reference definitionId="isXtextEditorActive"/>
                <with variable="activeEditor">
                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
                        value="org.eclipse.emf.ecore.xcore.Xcore" 
                        forcePluginActivation="true"/>
                </with>        
            </and>
        </definition>
    </extension>
    <extension
            point="org.eclipse.ui.preferencePages">
        <page
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
            id="org.eclipse.emf.ecore.xcore.Xcore"
            name="Xcore">
            <keywordReference id="org.eclipse.emf.ecore.xcore.ui.keyword_Xcore"/>
        </page>
        <page
            category="org.eclipse.emf.ecore.xcore.Xcore"
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
            id="org.eclipse.emf.ecore.xcore.Xcore.coloring"
            name="Syntax Coloring">
            <keywordReference id="org.eclipse.emf.ecore.xcore.ui.keyword_Xcore"/>
        </page>
        <page
            category="org.eclipse.emf.ecore.xcore.Xcore"
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
            id="org.eclipse.emf.ecore.xcore.Xcore.templates"
            name="Templates">
            <keywordReference id="org.eclipse.emf.ecore.xcore.ui.keyword_Xcore"/>
        </page>
    </extension>
    <extension
            point="org.eclipse.ui.propertyPages">
        <page
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
            id="org.eclipse.emf.ecore.xcore.Xcore"
            name="Xcore">
            <keywordReference id="org.eclipse.emf.ecore.xcore.ui.keyword_Xcore"/>
            <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.emf.ecore.xcore.ui.keyword_Xcore"
            label="Xcore"/>
    </extension>
    <extension
         point="org.eclipse.ui.commands">
      <command
            description="Trigger expensive validation"
            id="org.eclipse.emf.ecore.xcore.Xcore.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.emf.ecore.xcore.Xcore.validate"
                 style="push"
                 tooltip="Trigger expensive validation">
            <visibleWhen checkEnabled="false">
                <reference
                    definitionId="org.eclipse.emf.ecore.xcore.Xcore.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.emf.ecore.xcore.Xcore.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.emf.ecore.xcore.Xcore.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.emf.ecore.xcore.Xcore.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.emf.ecore.xcore.Xcore.Editor.opened">
                	</reference>
            	</visibleWhen>
			</command>
		</menuContribution>
	</extension>
	<extension point="org.eclipse.ui.handlers">
	    <handler
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
            commandId="org.eclipse.xtext.ui.editor.FindReferences">
            <activeWhen>
                <reference
                    definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened">
                </reference>
            </activeWhen>
        </handler>
    </extension>   

<!-- adding resource factories -->

	<extension
		point="org.eclipse.emf.ecore.extension_parser">
		<parser
			class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
			type="xcore">
		</parser>
	</extension>
	<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
        <resourceServiceProvider
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
            uriExtension="xcore">
        </resourceServiceProvider>
    </extension>


    <!-- marker definitions for org.eclipse.emf.ecore.xcore.Xcore -->
    <extension
            id="xcore.check.fast"
            name="Xcore Problem"
            point="org.eclipse.core.resources.markers">
        <super type="org.eclipse.xtext.ui.check.fast"/>
        <persistent value="true"/>
    </extension>
    <extension
            id="xcore.check.normal"
            name="Xcore Problem"
            point="org.eclipse.core.resources.markers">
        <super type="org.eclipse.xtext.ui.check.normal"/>
        <persistent value="true"/>
    </extension>
    <extension
            id="xcore.check.expensive"
            name="Xcore Problem"
            point="org.eclipse.core.resources.markers">
        <super type="org.eclipse.xtext.ui.check.expensive"/>
        <persistent value="true"/>
    </extension>

	<!-- Quick Outline -->
	<extension
		point="org.eclipse.ui.handlers">
		<handler 
			class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
			commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
			<activeWhen>
				<reference
					definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened">
				</reference>
			</activeWhen>
		</handler>
	</extension>
	<extension
		point="org.eclipse.ui.commands">
		<command
			description="Open the quick outline."
			id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
			name="Quick Outline">
		</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="Open Quick Outline">
				<visibleWhen checkEnabled="false">
					<reference definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened"/>
				</visibleWhen>
			</command>
		</menuContribution>
	</extension>

  <extension point="org.eclipse.compare.contentViewers">
    <viewer id="org.eclipse.emf.ecore.xcore.Xcore.compare.contentViewers"
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
            extensions="xcore">
    </viewer>
  </extension>
  <extension point="org.eclipse.compare.contentMergeViewers">
    <viewer id="org.eclipse.emf.ecore.xcore.Xcore.compare.contentMergeViewers"
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
            extensions="xcore" label="Xcore Compare">
     </viewer>
  </extension>
  <extension point="org.eclipse.ui.editors.documentProviders">
    <provider id="org.eclipse.emf.ecore.xcore.Xcore.editors.documentProviders"
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
            extensions="xcore">
    </provider>
  </extension>
  <extension point="org.eclipse.team.core.fileTypes">
    <fileTypes
            extension="xcore"
            type="text">
    </fileTypes>
  </extension>
    <!-- quickfix marker resolution generator for org.eclipse.emf.ecore.xcore.Xcore -->
    <extension
            point="org.eclipse.ui.ide.markerResolution">
        <markerResolutionGenerator
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
            markerType="org.eclipse.emf.ecore.xcore.ui.xcore.check.fast">
            <attribute
                name="FIXABLE_KEY"
                value="true">
            </attribute>
        </markerResolutionGenerator>
        <markerResolutionGenerator
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
            markerType="org.eclipse.emf.ecore.xcore.ui.xcore.check.normal">
            <attribute
                name="FIXABLE_KEY"
                value="true">
            </attribute>
        </markerResolutionGenerator>
        <markerResolutionGenerator
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
            markerType="org.eclipse.emf.ecore.xcore.ui.xcore.check.expensive">
            <attribute
                name="FIXABLE_KEY"
                value="true">
            </attribute>
        </markerResolutionGenerator>
    </extension>

   <extension
         point="org.eclipse.xtext.builder.participant">
      <participant
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
            fileExtensions="xcore"
            >
      </participant>
   </extension>
   <extension
            point="org.eclipse.ui.preferencePages">
        <page
            category="org.eclipse.emf.ecore.xcore.Xcore"
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
            id="org.eclipse.emf.ecore.xcore.Xcore.compiler.preferencePage"
            name="Compiler">
            <keywordReference id="org.eclipse.emf.ecore.xcore.ui.keyword_Xcore"/>
        </page>
    </extension>
    <extension
            point="org.eclipse.ui.propertyPages">
        <page
            category="org.eclipse.emf.ecore.xcore.Xcore"
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
            id="org.eclipse.emf.ecore.xcore.Xcore.compiler.propertyPage"
            name="Compiler">
            <keywordReference id="org.eclipse.emf.ecore.xcore.ui.keyword_Xcore"/>
            <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.menus">
		<menuContribution locationURI="popup:#TextEditorContext?after=xtext.ui.openDeclaration">
			<command
				commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand"
				id="org.eclipse.emf.ecore.xcore.Xcore.OpenGeneratedCode"
				style="push">
					<visibleWhen checkEnabled="false">
						<reference definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened" />
					</visibleWhen>
			</command>
		</menuContribution>
	</extension>
	<extension point="org.eclipse.ui.handlers">
		<handler
			class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler"
			commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand">
				<activeWhen>
					<reference definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened" />
				</activeWhen>
		</handler>
	</extension>
   	<!-- Rename Refactoring -->
	<extension point="org.eclipse.ui.handlers">
		<handler 
			class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
			commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
			<activeWhen>
				<reference
					definitionId="org.eclipse.emf.ecore.xcore.Xcore.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="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened">
               </reference>
            </visibleWhen>
         </command>
      </menuContribution>
   </extension>
   <extension point="org.eclipse.ui.preferencePages">
	    <page
	        category="org.eclipse.emf.ecore.xcore.Xcore"
	        class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
	        id="org.eclipse.emf.ecore.xcore.Xcore.refactoring"
	        name="Refactoring">
	        <keywordReference id="org.eclipse.emf.ecore.xcore.ui.keyword_Xcore"/>
	    </page>
	</extension>

<!-- Type Hierarchy  -->
	<extension
		point="org.eclipse.ui.handlers">
		<handler 
			class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.hierarchy.OpenTypeHierarchyHandler"
			commandId="org.eclipse.xtext.xbase.ui.hierarchy.OpenTypeHierarchy">
			<activeWhen>
				<reference
					definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened">
				</reference>
			</activeWhen>
		</handler>
		<handler 
			class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.hierarchy.QuickTypeHierarchyHandler"
			commandId="org.eclipse.jdt.ui.edit.text.java.open.hierarchy">
			<activeWhen>
				<reference
					definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened">
				</reference>
			</activeWhen>
		</handler>
	</extension>
	<extension point="org.eclipse.ui.menus">
		<menuContribution
			locationURI="popup:#TextEditorContext?after=group.open">
			<command commandId="org.eclipse.xtext.xbase.ui.hierarchy.OpenTypeHierarchy"
				style="push"
				tooltip="Open Type Hierarchy">
				<visibleWhen checkEnabled="false">
					<reference definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened"/>
				</visibleWhen>
			</command>
		</menuContribution>
		<menuContribution
			locationURI="popup:#TextEditorContext?after=group.open">
			<command commandId="org.eclipse.jdt.ui.edit.text.java.open.hierarchy"
				style="push"
				tooltip="Quick Type Hierarchy">
				<visibleWhen checkEnabled="false">
					<reference definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened"/>
				</visibleWhen>
			</command>
		</menuContribution>
	</extension>
	<!-- Call Hierachy -->
	<extension
		point="org.eclipse.ui.handlers">
		<handler 
			class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.hierarchy.OpenCallHierachyHandler"
			commandId="org.eclipse.xtext.xbase.ui.hierarchy.OpenCallHierarchy">
			<activeWhen>
				<reference
					definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened">
				</reference>
			</activeWhen>
		</handler>
	</extension>
	
	<extension point="org.eclipse.ui.menus">
		<menuContribution
			locationURI="popup:#TextEditorContext?after=group.open">
			<command commandId="org.eclipse.xtext.xbase.ui.hierarchy.OpenCallHierarchy"
				style="push"
				tooltip="Open Call Hierarchy">
				<visibleWhen checkEnabled="false">
					<reference definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened"/>
				</visibleWhen>
			</command>
		</menuContribution>
	</extension>
	<extension
         point="org.eclipse.core.runtime.adapters">
      <factory class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.builder.smap.StratumBreakpointAdapterFactory"
         adaptableType="org.eclipse.xtext.ui.editor.XtextEditor">
         <adapter type="org.eclipse.debug.ui.actions.IToggleBreakpointsTarget"/>
      </factory> 
   </extension>
   <extension point="org.eclipse.ui.editorActions">
      <editorContribution targetID="org.eclipse.emf.ecore.xcore.Xcore" 
                          id="org.eclipse.emf.ecore.xcore.Xcore.rulerActions">
	     <action
	             label="Not Used"
	             class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
	             style="push"
	             actionID="RulerDoubleClick"
	             id="org.eclipse.emf.ecore.xcore.Xcore.doubleClickBreakpointAction"/>
	  </editorContribution>
   </extension>
   <extension point="org.eclipse.ui.popupMenus">
      <viewerContribution
         targetID="org.eclipse.emf.ecore.xcore.Xcore.RulerContext"
         id="org.eclipse.emf.ecore.xcore.Xcore.RulerPopupActions">
         <action
            label="Toggle Breakpoint"
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
            menubarPath="debug"
            id="org.eclipse.emf.ecore.xcore.Xcore.rulerContextMenu.toggleBreakpointAction">
         </action>
         <action
            label="Not used"
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.debug.ui.actions.RulerEnableDisableBreakpointActionDelegate"
            menubarPath="debug"
            id="org.eclipse.emf.ecore.xcore.Xcore.rulerContextMenu.enableDisableBreakpointAction">
         </action>
         <action
           label="Breakpoint Properties"
           helpContextId="breakpoint_properties_action_context"
           class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.jdt.debug.ui.actions.JavaBreakpointPropertiesRulerActionDelegate"
           menubarPath="group.properties"
           id="org.eclipse.emf.ecore.xcore.Xcore.rulerContextMenu.openBreapointPropertiesAction">
         </action>
      </viewerContribution>
   </extension>
    <!-- Introduce Local Variable Refactoring -->
	<extension point="org.eclipse.ui.handlers">
		<handler 
			class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.refactoring.ExtractVariableHandler"
			commandId="org.eclipse.xtext.xbase.ui.refactoring.ExtractLocalVariable">
			<activeWhen>
				<reference
					definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened">
				</reference>
			</activeWhen>
		</handler>
	</extension>
    <extension point="org.eclipse.ui.menus">
         <menuContribution
            locationURI="popup:#TextEditorContext?after=group.edit">
         <command commandId="org.eclipse.xtext.xbase.ui.refactoring.ExtractLocalVariable"
               style="push">
            <visibleWhen checkEnabled="false">
               <reference
                     definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened">
               </reference>
            </visibleWhen>
         </command>
      </menuContribution>
   </extension>  
   <!-- Open implementation -->
   <extension point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.emf.ecore.xcore.ui.XcoreExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.navigation.OpenImplementationHandler"
            commandId="org.eclipse.xtext.xbase.ui.OpenImplementationCommand">
            <activeWhen>
				<reference
					definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened">
				</reference>
			</activeWhen>
      </handler>
   </extension>
 <extension point="org.eclipse.ui.menus">
       <menuContribution
            locationURI="menu:navigate?after=open.ext4">
         <command commandId="org.eclipse.xtext.xbase.ui.OpenImplementationCommand">
		<visibleWhen checkEnabled="false">
              <reference
                 definitionId="org.eclipse.emf.ecore.xcore.Xcore.Editor.opened">
              </reference>
		</visibleWhen>
         </command>
      </menuContribution>
   </extension>

</plugin>
