<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
   id="org.eclipse.wst.sse.ui"
   name="%Structured_Source_Editor.name"
   version="1.0.0"
   provider-name="IBM"
   class="org.eclipse.wst.sse.ui.EditorPlugin">

   <runtime>
      <library name="editor.jar">
         <export name="*"/>
      </library>
   </runtime>
   <requires>
      <import plugin="org.eclipse.core.runtime.compatibility"/>
      <import plugin="org.eclipse.ui.ide"/>
      <import plugin="org.eclipse.jface.text"/>
<!-- added for break point support -->
<!-- -->
      <import plugin="org.eclipse.debug.core"/>
      <import plugin="org.eclipse.debug.ui"/>
      <import plugin="org.eclipse.ui.editors"/>
<!-- added for marker and annotation support -->
      <import plugin="org.eclipse.search"/>
      <import plugin="org.eclipse.swt"/>
      <import plugin="org.eclipse.jface"/>
      <import plugin="org.eclipse.ui"/>
      <import plugin="org.eclipse.ui.workbench.texteditor"/>
      <import plugin="org.eclipse.ui.workbench"/>
      <import plugin="org.eclipse.ui.views"/>
      <import plugin="org.eclipse.wst.sse.core"/>
      <import plugin="org.eclipse.core.filebuffers"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.core.runtime"/>
      <import plugin="org.eclipse.wst.common.encoding"/>
      <import plugin="org.eclipse.wst.validation.core"/>
      <import plugin="org.eclipse.wst.validation"/>
   </requires>


   <extension-point id="adapterFactoryDescription" name="%Adapter_Factory_Description_Extension.name"/>
   <extension-point id="embeddedAdapterFactoryProvider" name="%Embedded_Content_Type_Adapter_Factory_Provider_Extension.name"/>
   <extension-point id="extendedEditorActions" name="%Extended_Editor_Actions_Extension.name"/>
   <extension-point id="dropTargetTransfers" name="%Drop_Target_Transfers_Extension.name"/>
   <extension-point id="extendedconfiguration" name="%Extended_Editor_Configuration_Extension.name" schema="schema/extendedconfiguration.exsd"/>

<!-- 
		note: this perspective stuff should probably go in the 
		com.ibm.etools.xml.tools.XMLPerspective 
		or in the plugin.xml for com.ibm.etools.xml.tools
	-->
<!-- PERSPECTIVE EXTENSIONS -->

<!-- reusable extensions -->
   <extension
         point="org.eclipse.wst.sse.ui.extendedconfiguration">
      <contentoutlineconfiguration
            class="org.eclipse.wst.sse.ui.views.contentoutline.StructuredContentOutlineConfiguration"
            target="org.eclipse.wst.sse.ui.StructuredTextEditor">
      </contentoutlineconfiguration>
      <propertysheetconfiguration
            class="org.eclipse.wst.sse.ui.views.properties.StructuredPropertySheetConfiguration"
            target="org.eclipse.wst.sse.ui.StructuredTextEditor">
      </propertysheetconfiguration>
      <textviewerconfiguration
            class="org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration"
            target="org.eclipse.wst.sse.ui.StructuredTextEditor">
      </textviewerconfiguration>
      <preferencepages
            preferenceids="org.eclipse.ui.preferencePages.Workbench/org.eclipse.ui.preferencePages.Editors/org.eclipse.wst.sse.ui.preferences.editor"
            target="org.eclipse.wst.sse.ui.StructuredTextEditor">
      </preferencepages>
   </extension>
<!-- associate the NavigateActionSet with various parts of the XML perspective-->
   <extension
         point="org.eclipse.ui.actionSetPartAssociations">
      <actionSetPartAssociation
            targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
         <part
               id="org.eclipse.wst.sse.ui.StructuredTextEditor">
         </part>
      </actionSetPartAssociation>
      <actionSetPartAssociation
            targetID="org.eclipse.ui.NavigateActionSet">
<!--
				<part id="org.eclipse.ui.views.ResourceNavigator"/>
				<part id="org.eclipse.ui.views.ContentOutline"/>
			-->
<!--
				should probably only "force" association of action sets for workbench parts that we own
				or only if the view is focusse in the XMLPerspective
			-->
         <part
               id="org.eclipse.wst.sse.ui.StructuredTextEditor">
         </part>
      </actionSetPartAssociation>
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
<!-- ROOT PREFERENCE PAGE FOR WEB AND XML FILES -->
      <page
            name="%WEB_AND_XML_Files.name"
            class="org.eclipse.wst.sse.ui.preferences.ui.FilePreferencePage"
            id="org.eclipse.wst.sse.ui.preferences">
      </page>
<!-- Source Editor Preference page under Workbench->Editors -->
      <page
            name="%Structured_Text_Editor.name"
            category="org.eclipse.ui.preferencePages.Editors"
            class="org.eclipse.wst.sse.ui.preferences.ui.StructuredTextEditorPreferencePage"
            id="org.eclipse.wst.sse.ui.preferences.editor">
      </page>
   </extension>
<!--
		<extension-point id="dragSourceTransfers" name="Drag Source Transfers"/>
	-->
   <extension
         point="org.eclipse.ui.commands">
      <scope
            name="%scope.structuredTextEditor.name"
            parent="org.eclipse.ui.textEditorScope"
            description="%scope.structuredTextEditor.description"
            id="org.eclipse.wst.sse.ui.structuredTextEditorScope">
      </scope>
      <!--    dmw 6/6 (and 11/10 :) removed from 'scope'  parentId="org.eclipse.ui.textEditorScope" -->
      <!-- afw 11/11 added scope back in because these are keybindings for structuredtexteditors only -->
      
<!-- Edit commands -->
      <command
            name="%ActionDefinition.selectEnclosing.name"
            description="%ActionDefinition.selectEnclosing.description"
            category="org.eclipse.ui.category.edit"
            id="org.eclipse.wst.sse.ui.structure.select.enclosing">
      </command>
      <command
            name="%ActionDefinition.selectNext.name"
            description="%ActionDefinition.selectNext.description"
            category="org.eclipse.ui.category.edit"
            id="org.eclipse.wst.sse.ui.structure.select.next">
      </command>
      <command
            name="%ActionDefinition.selectPrevious.name"
            description="%ActionDefinition.selectPrevious.description"
            category="org.eclipse.ui.category.edit"
            id="org.eclipse.wst.sse.ui.structure.select.previous">
      </command>
      <command
            name="%ActionDefinition.selectLast.name"
            description="%ActionDefinition.selectLast.description"
            category="org.eclipse.ui.category.edit"
            id="org.eclipse.wst.sse.ui.structure.select.last">
      </command>
      <command
            name="%ActionDefinition.showJavadoc.name"
            description="%ActionDefinition.showJavadoc.description"
            category="org.eclipse.ui.category.edit"
            id="org.eclipse.wst.sse.ui.show.javadoc">
      </command>
      <command
            name="%ActionDefinition.quickFix.name"
            description="%ActionDefinition.quickFix.description"
            category="org.eclipse.ui.category.edit"
            id="org.eclipse.wst.sse.ui.edit.text.java.correction.assist.proposals">
      </command>
<!-- Source commands -->
      <command
            name="%command.toggle.comment.name"
            description="%command.toggle.comment.description"
            category="org.eclipse.ui.category.edit"
            id="org.eclipse.wst.sse.ui.toggle.comment">
      </command>
      <command
            name="%command.add.block.comment.name"
            description="%command.add.block.comment.description"
            category="org.eclipse.ui.category.edit"
            id="org.eclipse.wst.sse.ui.add.block.comment">
      </command>
      <command
            name="%command.remove.block.comment.name"
            description="%command.remove.block.comment.description"
            category="org.eclipse.ui.category.edit"
            id="org.eclipse.wst.sse.ui.remove.block.comment">
      </command>
      <command
            name="%command.cleanup.document.name"
            description="%command.cleanup.document.description"
            category="org.eclipse.ui.category.edit"
            id="org.eclipse.wst.sse.ui.cleanup.document">
      </command>
      <command
            name="%command.format.document.name"
            description="%command.format.document.description"
            category="org.eclipse.ui.category.edit"
            id="org.eclipse.wst.sse.ui.format.document">
      </command>
      <command
            name="%command.format.active.elements.name"
            description="%command.format.active.elements.description"
            category="org.eclipse.ui.category.edit"
            id="org.eclipse.wst.sse.ui.format.active.elements">
      </command>
<!-- Navigate commands -->
      <command
            name="%command.open.file.from.source.name"
            description="%command.open.file.from.source.description"
            category="org.eclipse.ui.category.edit"
            id="org.eclipse.wst.sse.ui.open.file.from.source">
      </command>
<!-- Find Occurrences -->
      <command
            name="%command.search.find.occurrences.name"
            description="%command.search.find.occurrences.description"
            category="org.eclipse.ui.category.edit"
            id="org.eclipse.wst.sse.ui.search.find.occurrences">
      </command>
<!-- Edit commands -->
      <keyBinding
            string="Alt+Shift+ARROW_UP"
            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
            command="org.eclipse.wst.sse.ui.structure.select.enclosing"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
      <keyBinding
            string="Alt+Shift+ARROW_RIGHT"
            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
            command="org.eclipse.wst.sse.ui.structure.select.next"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
      <keyBinding
            string="Alt+Shift+ARROW_LEFT"
            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
            command="org.eclipse.wst.sse.ui.structure.select.previous"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
      <keyBinding
            string="Alt+Shift+ARROW_DOWN"
            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
            command="org.eclipse.wst.sse.ui.structure.select.last"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
      <keyBinding
            string="F2"
            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
            command="org.eclipse.wst.sse.ui.show.javadoc"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
      <keyBinding
            string="Ctrl+1"
            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
            command="org.eclipse.wst.sse.ui.edit.text.java.correction.assist.proposals"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
<!-- Source commands -->
      <keyBinding
            string="Ctrl+Shift+C"
            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
            command="org.eclipse.wst.sse.ui.toggle.comment"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
      <keyBinding
            string="Ctrl+Shift+/"
            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
            command="org.eclipse.wst.sse.ui.add.block.comment"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
      <keyBinding
            string="Ctrl+Shift+\"
            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
            command="org.eclipse.wst.sse.ui.remove.block.comment"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
      <keyBinding
            string="Ctrl+Shift+L"
            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
            command="org.eclipse.wst.sse.ui.cleanup.document"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
      <keyBinding
            string="Ctrl+Shift+F"
            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
            command="org.eclipse.wst.sse.ui.format.document"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
      <keyBinding
            string="Ctrl+I"
            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
            command="org.eclipse.wst.sse.ui.format.active.elements"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
<!-- Navigate commands -->
      <keyBinding
            string="F3"
            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
            command="org.eclipse.wst.sse.ui.open.file.from.source"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
<!-- Find Occurrences -->
      <keyBinding
            string="Ctrl+Shift+A"
            scope="org.eclipse.wst.sse.ui.structuredTextEditorScope"
            command="org.eclipse.wst.sse.ui.search.find.occurrences"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
   </extension>
<!-- Font and colors contributions -->
   <extension
         point="org.eclipse.ui.themes">
      <themeElementCategory
            label="%Structured_Text_Editor.name"
            id="org.eclipse.wst.sse.ui">
      </themeElementCategory>
      <fontDefinition
            label="%sourceEditorFontDefiniton.label"
            categoryId="org.eclipse.wst.sse.ui"
            defaultsTo="org.eclipse.jface.textfont"
            id="org.eclipse.wst.sse.ui.textfont">
         <description>
            %sourceEditorFontDefintion.description
         </description>
      </fontDefinition>
   </extension>
   <extension
         point="org.eclipse.wst.sse.ui.dropTargetTransfers">
      <dropTargetContribution
            targetID="org.eclipse.wst.sse.ui.StructuredTextEditor"
            id="org.eclipse.wst.sse.edit.extention.ExtendedTransfers">
         <transfer
               priority="mid"
               singleton="true"
               class="org.eclipse.swt.dnd.FileTransfer"
               method="getInstance"
               id="org.eclipse.swt.dnd.FileTransfer">
         </transfer>
         <dropAction
               class="org.eclipse.wst.sse.ui.extension.FileDropAction"
               transferID="org.eclipse.swt.dnd.FileTransfer"
               id="org.eclipse.wst.sse.ui.extension.FileDropAction">
         </dropAction>
         <transfer
               priority="low"
               singleton="true"
               class="org.eclipse.swt.dnd.TextTransfer"
               method="getInstance"
               id="org.eclipse.swt.dnd.TextTransfer">
         </transfer>
         <dropAction
               class="org.eclipse.wst.sse.ui.extension.TextDropAction"
               transferID="org.eclipse.swt.dnd.TextTransfer"
               id="org.eclipse.wst.sse.ui.extension.TextDropAction">
         </dropAction>
      </dropTargetContribution>
   </extension>
<!-- new for annotation support -->
   <extension
         point="org.eclipse.ui.editors.annotationTypes">
      <type
            super="org.eclipse.ui.workbench.texteditor.error"
            markerType="org.eclipse.wst.sse.problem"
            name="org.eclipse.wst.sse.ui.temp.error"
            markerSeverity="2">
      </type>
      <type
            super="org.eclipse.ui.workbench.texteditor.warning"
            markerType="org.eclipse.wst.sse.problem"
            name="org.eclipse.wst.sse.ui.temp.warning"
            markerSeverity="1">
      </type>
      <type
            super="org.eclipse.ui.workbench.texteditor.info"
            markerType="org.eclipse.wst.sse.problem"
            name="org.eclipse.wst.sse.ui.temp.info"
            markerSeverity="0">
      </type>
   </extension>
   <extension
         point="org.eclipse.ui.editors.markerAnnotationSpecification">
      <specification
            annotationImageProvider="org.eclipse.wst.sse.ui.internal.ui.StructuredTextAnnotationImageProvider"
            verticalRulerPreferenceValue="false"
            annotationType="org.eclipse.wst.sse.ui.temp.error">
      </specification>
      <specification
            annotationImageProvider="org.eclipse.wst.sse.ui.internal.ui.StructuredTextAnnotationImageProvider"
            verticalRulerPreferenceValue="false"
            annotationType="org.eclipse.wst.sse.ui.temp.warning">
      </specification>
      <specification
            annotationImageProvider="org.eclipse.wst.sse.ui.internal.ui.StructuredTextAnnotationImageProvider"
            annotationType="org.eclipse.wst.sse.ui.temp.info">
      </specification>
   </extension>
<!-- dynamic content type supporting editor, no supported file extensions by default -->
   <extension
         point="org.eclipse.ui.editors">
      <editor
            name="%Standalone_Structured_Source_Editor.name"
            icon="icons/sourceEditor.gif"
            contributorClass="org.eclipse.wst.sse.ui.edit.util.ActionContributor"
            class="org.eclipse.wst.sse.ui.StructuredTextEditor"
            symbolicFontName="org.eclipse.wst.sse.ui.textfont"
            id="org.eclipse.wst.sse.ui.StructuredTextEditor">
      </editor>
   </extension>
   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.core.resources.IContainer"
            id="org.eclipse.wst.sse.ui.actions.ContainerSourceActions">
         <menu
               label="%Source"
               path="additions"
               id="source">
            <groupMarker
                  name="sourceGroup">
            </groupMarker>
            <separator
                  name="separator">
            </separator>
            <groupMarker
                  name="convertGroup">
            </groupMarker>
         </menu>
         <action
               label="%FormatDocument"
               class="org.eclipse.wst.sse.ui.edit.util.FormatActionDelegate"
               menubarPath="source/sourceGroup"
               enablesFor="+"
               id="org.eclipse.wst.sse.ui.actions.ContainerSourceActions.Format">
         </action>
         <action
               label="%ConvertLineDelimitersToCR"
               class="org.eclipse.wst.sse.ui.edit.util.ConvertLineDelimitersToCRActionDelegate"
               menubarPath="source/convertGroup"
               enablesFor="+"
               id="org.eclipse.wst.sse.ui.actions.ContainerSourceActions.EOLCR">
         </action>
         <action
               label="%ConvertLineDelimitersToLF"
               class="org.eclipse.wst.sse.ui.edit.util.ConvertLineDelimitersToLFActionDelegate"
               menubarPath="source/convertGroup"
               enablesFor="+"
               id="org.eclipse.wst.sse.ui.actions.ContainerSourceActions.EOLLF">
         </action>
         <action
               label="%ConvertLineDelimitersToCRLF"
               class="org.eclipse.wst.sse.ui.edit.util.ConvertLineDelimitersToCRLFActionDelegate"
               menubarPath="source/convertGroup"
               enablesFor="+"
               id="org.eclipse.wst.sse.ui.actions.ContainerSourceActions.EOLCRLF">
         </action>
      </objectContribution>
      <objectContribution
            objectClass="org.eclipse.core.resources.IFile"
            id="org.eclipse.wst.sse.ui.actions.FileSourceActions">
         <menu
               label="%Source"
               path="additions"
               id="source">
            <groupMarker
                  name="sourceGroup">
            </groupMarker>
            <separator
                  name="separator">
            </separator>
            <groupMarker
                  name="convertGroup">
            </groupMarker>
         </menu>
         <action
               label="%FormatDocument"
               class="org.eclipse.wst.sse.ui.edit.util.FormatActionDelegate"
               menubarPath="source/sourceGroup"
               enablesFor="+"
               id="org.eclipse.wst.sse.ui.actions.FileSourceActions.Format">
         </action>
         <action
               label="%ConvertLineDelimitersToCR"
               class="org.eclipse.wst.sse.ui.edit.util.ConvertLineDelimitersToCRActionDelegate"
               menubarPath="source/convertGroup"
               enablesFor="+"
               id="org.eclipse.wst.sse.ui.actions.FileSourceActions.EOLCR">
         </action>
         <action
               label="%ConvertLineDelimitersToLF"
               class="org.eclipse.wst.sse.ui.edit.util.ConvertLineDelimitersToLFActionDelegate"
               menubarPath="source/convertGroup"
               enablesFor="+"
               id="org.eclipse.wst.sse.ui.actions.FileSourceActions.EOLLF">
         </action>
         <action
               label="%ConvertLineDelimitersToCRLF"
               class="org.eclipse.wst.sse.ui.edit.util.ConvertLineDelimitersToCRLFActionDelegate"
               menubarPath="source/convertGroup"
               enablesFor="+"
               id="org.eclipse.wst.sse.ui.actions.FileSourceActions.EOLCRLF">
         </action>
      </objectContribution>
   </extension>
   <extension
         point="org.eclipse.wst.sse.ui.extendedEditorActions">     
      <editorContribution
            targetID="org.eclipse.wst.sse.ui.StructuredTextEditor"
            id="org.eclipse.wst.sse.ui.extendedActions">
<!-- contribute the Edit Preferences action -->
         <action
               popupmenuPath="group.add"
               class="org.eclipse.wst.sse.ui.preferences.ui.EditStructuredTextEditorPreferencesAction"
               id="org.eclipse.wst.sse.ui.preferences.ui.EditStructuredTextEditorPreferencesAction">
         </action>
<!-- contribute the Spell Check action -->
         <action
               class="org.eclipse.wst.sse.ui.SpellCheckActionWrapper"
               definitionId="com.ibm.etools.spellcheck"
               menubarPath="edit/MenuAdditions"
               toolbarPath="Normal/ToolbarAdditions"
               id="org.eclipse.wst.sse.ui.spellcheck">
         </action>
      </editorContribution>     
   </extension>
   
<!--================================================================================================-->
<!-- contribute a SearchResultViewPage for Occurrences in file                                      -->
<!--================================================================================================-->
	<extension 
			id="Occurrences search page" 
			point="org.eclipse.search.searchResultViewPages">
		 <viewPage
			  id="org.eclipse.wst.sse.ui.search.OccurrencesSearchResultPage"
			  searchResultClass="org.eclipse.wst.sse.ui.internal.search.OccurrencesSearchResult"
			  class="org.eclipse.wst.sse.ui.internal.search.OccurrencesSearchViewPage">
		 </viewPage>
	</extension>
	
	
<!-- extension point for breakpoint extension -->
   <extension-point id="breakpoint" name="%Breakpoint_Extension.name"/>
<!-- extension point for spellcheck extension -->
   <extension-point id="spellcheck" name="%SpellCheck_Extension.name"/>
<!-- extension point for reconcile validation -->
<!-- interfaces for this extension point can be found in com.ibm.wtp.validation.core -->
   <extension-point id="reconcileValidator" name="%Reconcile_Validator_Extension.name" schema="schema/org.eclipse.wst.sse.editor.reconcileValidator.exsd"/>
   <extension-point id="openon" name="%Open_On_Extension_Point_Extension.name" schema="schema/org.eclipse.wst.sse.editor.openon.exsd"/>

</plugin>
