<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
 Copyright (c) 2016, 2017 Red Hat Inc. and others. 

 This program and the accompanying materials
 are made available under the terms of the Eclipse Public License 2.0
 which accompanies this distribution, and is available at
 https://www.eclipse.org/legal/epl-2.0/

 SPDX-License-Identifier: EPL-2.0
 
 Contributors:
      Sopot Cela & Mickael Istria (Red Hat Inc). -initial implementation
      Lucas Bullen (Red Hat Inc.) - Bug 508829, 521382
      Simon Scholz <simon.scholz@vogella.com> - Bug 527830
-->
<plugin>
   <extension-point id="reconcilers" name="%ExtPoint.reconciliers" schema="schema/reconcilers.exsd"/>
   <extension-point id="presentationReconcilers" name="%ExtPoint.presentationReconciliers" schema="schema/presentationReconcilers.exsd"/>
   <extension-point id="contentAssistProcessors" name="%ExtPoint.contentAssistProcessors" schema="schema/contentAssistProcessors.exsd"/>
   <extension-point id="hoverProviders" name="%ExtPoint.hoverProviders" schema="schema/hoverProviders.exsd"/>
   <extension-point id="autoEditStrategies" name="%ExtPoint.autoEditStrategies" schema="schema/autoEditStrategies.exsd"/>
   <extension-point id="highlightReconcilers" name="%ExtPoint.highlightReconcilers" schema="schema/highlightReconcilers.exsd"/>
   <extension-point id="foldingReconcilers" name="%ExtPoint.foldingReconcilers" schema="schema/foldingReconcilers.exsd"/>
   <extension-point id="characterPairMatchers" name="%ExtPoint.characterPairMatchers" schema="schema/characterPairMatchers.exsd"/>
   <extension-point id="icons" name="%ExtPoint.iconProviders" schema="schema/icons.exsd"/>
   <extension
         point="org.eclipse.ui.editors">
      <editor
            class="org.eclipse.ui.internal.genericeditor.ExtensionBasedTextEditor"
            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
            default="false"
            icon="icons/full/obj16/generic_editor.png"
            id="org.eclipse.ui.genericeditor.GenericEditor"
            name="%genericEditor_name">
         <contentTypeBinding
               contentTypeId="org.eclipse.core.runtime.text">
         </contentTypeBinding>
      </editor>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            description="%findReferencesCommand_description"
            id="org.eclipse.ui.genericeditor.findReferences"
            name="%findReferencesCommand_name">
      </command>
      <command
            id="org.eclipse.ui.genericeditor.togglehighlight"
            name="%command.toggle.highlight.name">
		   <state
		         class="org.eclipse.ui.handlers.RegistryToggleState:true"
		         id="org.eclipse.ui.commands.toggleState">
		   </state>
      </command>
   </extension>
   <extension
         point="org.eclipse.ui.contexts">
      <context
            description="%context_description"
            id="org.eclipse.ui.genericeditor.genericEditorContext"
            name="%context_name"
            parentId="org.eclipse.ui.textEditorScope">
      </context>
   </extension>
   <extension
         point="org.eclipse.ui.bindings">
      <key
            commandId="org.eclipse.ui.edit.text.open.hyperlink"
            contextId="org.eclipse.ui.genericeditor.genericEditorContext"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            sequence="F3">
      </key>
      <key
            commandId="org.eclipse.ui.genericeditor.findReferences"
            contextId="org.eclipse.ui.genericeditor.genericEditorContext"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            sequence="M1+M2+G">
      </key>
   </extension>
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            allPopups="true"
            locationURI="popup:#TextEditorContext?after=additions">
         <menu
               id="org.eclipse.ui.genericeditor.source.menu"
               label="%menu.source.label">
            <command
                  commandId="org.eclipse.ui.edit.text.delete.line"
                  style="push">
            </command>
            <command
                  commandId="org.eclipse.ui.edit.text.copyLineDown"
                  style="push">
            </command>
         </menu>
         <command
               commandId="org.eclipse.ui.genericeditor.findReferences"
               style="push">
         </command>
      </menuContribution>
      <menuContribution
            allPopups="false"
            locationURI="toolbar:org.eclipse.ui.edit.text.actionSet.presentation">
         <command
               commandId="org.eclipse.ui.genericeditor.togglehighlight"
               label="%command.toggle.highlight.label"
               style="toggle">
            <visibleWhen>
               <reference
                     definitionId="org.eclipse.ui.genericeditor.GenericEditor.active">
               </reference>
            </visibleWhen>
         </command>
      </menuContribution>
   </extension>
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            commandId="org.eclipse.ui.genericeditor.togglehighlight">
         <class
               class="org.eclipse.ui.internal.genericeditor.ToggleHighlight"></class>
      </handler>
   </extension>
   <extension
         point="org.eclipse.ui.genericeditor.hoverProviders">
      <hoverProvider
         isBefore="*"
         class="org.eclipse.ui.internal.genericeditor.markers.MarkerAnnotationHover"
         contentType="org.eclipse.core.runtime.text"
         id="org.eclipse.ui.genericeditor.markers.annotationsHoverProvider">
      </hoverProvider>
      <hoverProvider
            isBefore="*"
            isAfter="org.eclipse.ui.genericeditor.markers.annotationsHoverProvider"
            class="org.eclipse.ui.internal.genericeditor.AnnotationHoverDelegate"
            contentType="org.eclipse.core.runtime.text"
            id="org.eclipse.ui.genericeditor.annotationsHoverProvider">
      </hoverProvider>
   </extension>
   <extension
         point="org.eclipse.ui.commandImages">
      <image
            commandId="org.eclipse.ui.genericeditor.togglehighlight"
            disabledIcon="icons/full/dtool16/mark_occurrences.png"
            icon="icons/full/etool16/mark_occurrences.png">
      </image>
   </extension>
   <extension point="org.eclipse.ui.editors.annotationTypes">
      <type name="org.eclipse.ui.genericeditor.text"></type>
   </extension>
   <extension point="org.eclipse.ui.editors.markerAnnotationSpecification">
		<specification annotationType="org.eclipse.ui.genericeditor.text"
			label="Text Occurrence"
			textPreferenceKey="TextOccurrenceIndication" textPreferenceValue="false"
			highlightPreferenceKey="TextOccurrenceHighlighting"
			highlightPreferenceValue="true" contributesToHeader="false"
			overviewRulerPreferenceKey="TextOccurrenceIndicationInOverviewRuler"
			overviewRulerPreferenceValue="true"
			verticalRulerPreferenceKey="TextOccurrenceIndicationInVerticalRuler"
			verticalRulerPreferenceValue="false" colorPreferenceKey="TextOccurrenceIndicationColor"
			colorPreferenceValue="212,212,212" presentationLayer="4"
			showInNextPrevDropdownToolbarAction="true"
			textStylePreferenceKey="TextOccurrenceTextStyle"
			textStylePreferenceValue="NONE">
		</specification>
   </extension>
   <extension
         point="org.eclipse.e4.ui.css.swt.theme">
      <stylesheet
            uri="resources/css/dark.css">
         <themeid
               refid="org.eclipse.e4.ui.css.theme.e4_dark">
         </themeid>
      </stylesheet>
   </extension>
   <extension
         point="org.eclipse.ui.workbench.texteditor.hyperlinkDetectorTargets">
      <target
            id="org.eclipse.ui.genericeditor.GenericEditor"
            name="%ExtPoint.hyperlinkDetectorTarget">
         <context
               type="org.eclipse.ui.texteditor.ITextEditor">
         </context>
      </target>
   </extension>
   <extension
         point="org.eclipse.ui.actionSetPartAssociations">
      <actionSetPartAssociation
            targetID="org.eclipse.ui.edit.text.actionSet.presentation">
         <part
               id="org.eclipse.ui.genericeditor.GenericEditor">
         </part>
      </actionSetPartAssociation>
   </extension>
   <extension
         point="org.eclipse.core.expressions.definitions">
      <definition
            id="org.eclipse.ui.genericeditor.GenericEditor.active">
         <with
               variable="activeEditorId">
            <equals
                  value="org.eclipse.ui.genericeditor.GenericEditor">
            </equals>
         </with>
      </definition>
   </extension>
   <extension point="org.eclipse.core.runtime.preferences">
      <initializer class="org.eclipse.ui.internal.genericeditor.preferences.GenericEditorPluginPreferenceInitializer"/>
   </extension>
   <extension
         point="org.eclipse.compare.contentViewers">
      <viewer
            class="org.eclipse.ui.internal.genericeditor.compare.CompareViewerCreator"
            id="org.eclipse.ui.genericeditor.compareViewer">
      </viewer>
   </extension>
   <extension
         point="org.eclipse.compare.contentMergeViewers">
      <viewer
            class="org.eclipse.ui.internal.genericeditor.compare.CompareViewerCreator"
            id="org.eclipse.ui.genericeditor.compareViewer">
      </viewer>
   </extension>
  <extension
         point="org.eclipse.ui.ide.editorAssociationOverride">
      <editorAssociationOverride
            class="org.eclipse.ui.internal.genericeditor.GenericEditorWithIconAssociationOverride"
            id="org.eclipse.ui.internal.genericeditor.GenericEditorAssociationOverride"/>
   </extension>
</plugin>
