<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
     Copyright (c) 2005, 2010 IBM Corporation and others.
     All rights reserved. This program and the accompanying materials
     are made available under the terms of the Eclipse Public License v1.0
     which accompanies this distribution, and is available at
     http://www.eclipse.org/legal/epl-v10.html
    
     Contributors:
         IBM Corporation - initial API and implementation
 -->

<plugin>
     <extension
         point="org.eclipse.ui.editors">
      <editor
            name="%AntEditor.name"
            icon="$nl$/icons/full/obj16/ant_buildfile.gif"
            class="org.eclipse.ant.internal.ui.editor.AntEditor"
            contributorClass="org.eclipse.ant.internal.ui.editor.AntEditorActionContributor"
            id="org.eclipse.ant.ui.internal.editor.AntEditor">
            <contentTypeBinding
               contentTypeId="org.eclipse.ant.core.antBuildFile"/> 
      </editor>
   </extension>
   <extension
         point="org.eclipse.ui.views">
      <category
            name="%CategoryView.antViews"
            id="org.eclipse.ant.ui.views">
      </category>
      <view
            name="%View.antView"
            icon="$nl$/icons/full/eview16/ant_view.gif"
            category="org.eclipse.ant.ui.views"
            fastViewWidthRatio="0.40"
            class="org.eclipse.ant.internal.ui.views.AntView"
            id="org.eclipse.ant.ui.views.AntView">
      </view>
   </extension>
   
   <extension
          point="org.eclipse.ui.contexts">
       <context
             name="%context.editingAnt.name"
             description="%context.editingAnt.description"
             parentId="org.eclipse.ui.textEditorScope"
             id="org.eclipse.ant.ui.AntEditorScope">
       </context>
   </extension>
   
<!--   NOTE:
M1 = CTRL/COMMAND 
M2 = SHIFT 
M3 = ALT 
M4 = Platform-specific fourth key -->
   <extension
         point="org.eclipse.ui.commands">
      <command
            name="%ActionDefinition.openExternalDoc.name"
            description="%ActionDefinition.openExternalDoc.description"
            categoryId="org.eclipse.jdt.ui.category.source"
            id="org.eclipse.ant.ui.openExternalDoc">
      </command>
      <command
            name="%ActionDefinition.renameInFile.name"
            description="%ActionDefinition.renameInFile.description"
            categoryId="org.eclipse.jdt.ui.category.source"
            id="org.eclipse.ant.ui.renameInFile">
      </command>
      <command
            name="%AntShortcut.description.run"
            description="%AntShortcut.description.run"
            categoryId="org.eclipse.debug.ui.category.run"
            id="org.eclipse.ant.ui.antShortcut.run">
      </command>
       <command
            name="%AntShortcut.description.debug"
            description="%AntShortcut.description.debug"
            categoryId="org.eclipse.debug.ui.category.run"
            id="org.eclipse.ant.ui.antShortcut.debug">
      </command>
      <command 
      	name="%toggleMarkOccurrences.label"
      	description="%toggleMarkOccurrences.description"
      	categoryId="org.eclipse.jdt.ui.category.source"
      	id="org.eclipse.ant.ui.toggleMarkOccurrences" /> 
   </extension>
   <extension point="org.eclipse.ui.bindings">
         <key
            sequence="M1+M2+F"
            contextId="org.eclipse.ant.ui.AntEditorScope"
            commandId="org.eclipse.jdt.ui.edit.text.java.format"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
      <key
            sequence="M2+F2"
            contextId="org.eclipse.ant.ui.AntEditorScope"
            commandId="org.eclipse.ant.ui.openExternalDoc"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
       <key
            sequence="M2+M3+R"
            contextId="org.eclipse.ant.ui.AntEditorScope"
            commandId="org.eclipse.ant.ui.renameInFile"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
       <key
         	platform="carbon"
            sequence="M2+M3+R"
            contextId="org.eclipse.ant.ui.AntEditorScope"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
       <key
         	platform="carbon"
            sequence="M1+M3+R"
            contextId="org.eclipse.ant.ui.AntEditorScope"
            commandId="org.eclipse.ant.ui.renameInFile"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
      <key
            sequence="M2+M3+X Q"
            
            commandId="org.eclipse.ant.ui.antShortcut.run"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
      <key
         	platform="carbon"
            sequence="M2+M3+X Q"
            
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
      <key
         	platform="carbon"
            sequence="M1+M3+X Q"
            
            commandId="org.eclipse.ant.ui.antShortcut.run"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
      <key
            sequence="M2+M3+D Q"
            
            commandId="org.eclipse.ant.ui.antShortcut.debug"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
      <!-- On carbon: Shift+Option+D is a character, Command+Option+D is Show/Hide Dock, Command+Control+D is dictionary lookup -->
      <key
         	platform="carbon"
            sequence="M2+M3+D Q"
            
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
      <key
         	platform="carbon"
            sequence="M1+M3+M4+D Q"
            
            commandId="org.eclipse.ant.ui.antShortcut.debug"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
      <key 
  	    	sequence="M2+M3+O"
  	    	contextId="org.eclipse.ant.ui.AntEditorScope"
  	    	commandId="org.eclipse.ant.ui.toggleMarkOccurrences"
  	    	schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" /> 
      <key
         	platform="carbon"
         	sequence="M2+M3+O"
         	contextId="org.eclipse.ant.ui.AntEditorScope"
         	commandId=""
         	schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" /> 
      <key 
      		platform="carbon" 
      		sequence="M1+M3+O" 
			contextId="org.eclipse.ant.ui.AntEditorScope"
			commandId="org.eclipse.ant.ui.toggleMarkOccurrences"
			schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" /> 
	</extension>
   <extension
         point="org.eclipse.ui.perspectiveExtensions">
      <perspectiveExtension
            targetID="org.eclipse.ui.resourcePerspective">
         <view
               relative="org.eclipse.ui.views.ContentOutline"
               visible="false"
               id="org.eclipse.ant.ui.views.AntView"
               relationship="stack">
         </view>
         <viewShortcut
               id="org.eclipse.ant.ui.views.AntView">
         </viewShortcut>
      </perspectiveExtension>
      <perspectiveExtension
            targetID="org.eclipse.jdt.ui.JavaBrowsingPerspective">
         <view
               relative="org.eclipse.ui.views.ContentOutline"
               visible="false"
               id="org.eclipse.ant.ui.views.AntView"
               relationship="stack">
         </view>
         <viewShortcut
               id="org.eclipse.ant.ui.views.AntView">
         </viewShortcut>
      </perspectiveExtension>
      <perspectiveExtension
            targetID="org.eclipse.jdt.ui.JavaPerspective">
         <view
               relative="org.eclipse.ui.views.ContentOutline"
               visible="false"
               id="org.eclipse.ant.ui.views.AntView"
               relationship="stack">
         </view>
         <viewShortcut
               id="org.eclipse.ant.ui.views.AntView">
         </viewShortcut>
      </perspectiveExtension>
      <perspectiveExtension
            targetID="org.eclipse.jdt.ui.JavaHierarchyPerspective">
         <view
               relative="org.eclipse.ui.views.ContentOutline"
               visible="false"
               id="org.eclipse.ant.ui.views.AntView"
               relationship="stack">
         </view>
         <viewShortcut
               id="org.eclipse.ant.ui.views.AntView">
         </viewShortcut>
      </perspectiveExtension>
      <perspectiveExtension
            targetID="org.eclipse.debug.ui.DebugPerspective">
         <view
               relative="org.eclipse.ui.views.ContentOutline"
               visible="false"
               id="org.eclipse.ant.ui.views.AntView"
               relationship="stack">
         </view>
         <viewShortcut
               id="org.eclipse.ant.ui.views.AntView">
         </viewShortcut>
      </perspectiveExtension>
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            name="%PreferencePage.antPreferences"
            class="org.eclipse.ant.internal.ui.preferences.AntPreferencePage"
            id="org.eclipse.ant.ui.AntPreferencePage">
            <keywordReference id="org.eclipse.ant.ui.general"/>
      </page>
      <page
            name="%PreferencePage.antRuntimePreferences"
            category="org.eclipse.ant.ui.AntPreferencePage"
            class="org.eclipse.ant.internal.ui.preferences.AntRuntimePreferencePage"
            id="org.eclipse.ant.ui.AntRuntimePreferencePage">
            <keywordReference id="org.eclipse.ant.ui.runtime"/>
      </page>
      <page
            name="%PreferencePage.antEditorPreferences"
            category="org.eclipse.ant.ui.AntPreferencePage"
            class="org.eclipse.ant.internal.ui.preferences.AntEditorPreferencePage"
            id="org.eclipse.ant.ui.AntEditorPreferencePage">
            <keywordReference id="org.eclipse.ant.ui.editor"/>
      </page>
      <page
            name="%PreferencePage.antCodeFormatterPreferences"
            category="org.eclipse.ant.ui.AntEditorPreferencePage"
            class="org.eclipse.ant.internal.ui.preferences.AntCodeFormatterPreferencePage"
            id="org.eclipse.ant.ui.AntCodeFormatterPreferencePage">
            <keywordReference id="org.eclipse.ant.ui.formatter"/>
      </page>
       <page
            name="%PreferencePage.antCodeAssistPreferences"
            category="org.eclipse.ant.ui.AntEditorPreferencePage"
            class="org.eclipse.ant.internal.ui.preferences.AntCodeAssistPreferencePage"
            id="org.eclipse.ant.ui.AntCodeAssistPreferencePage">
            <keywordReference id="org.eclipse.ant.ui.codeAssist"/>
      </page>
      <page
            name="%PreferencePage.antTemplatePreferences"
            category="org.eclipse.ant.ui.AntEditorPreferencePage"
            class="org.eclipse.ant.internal.ui.editor.templates.AntTemplatePreferencePage"
            id="org.eclipse.ant.ui.TemplatesPreferencePage">
            <keywordReference id="org.eclipse.ant.ui.template"/>
      </page>
   </extension>
   <extension
         point="org.eclipse.ui.popupMenus">
      <viewerContribution
            targetID="org.eclipse.ant.internal.ui.editor.AntEditor.RulerContext"
            id="org.eclipse.ant.internal.ui.editor.AntEditor.RulerContext">
         <action
               label="%AddTask.label"
               helpContextId="org.eclipse.ui.AddTask_action_context"
               class="org.eclipse.ui.texteditor.TaskRulerAction"
               tooltip="%AddTask.tooltip"
               menubarPath="add"
               id="org.eclipse.ui.texteditor.TaskRulerAction">
         </action>
         <action
               label="%AddBookmark.label"
               helpContextId="org.eclipse.ui.bookmark_action_context"
               class="org.eclipse.ui.texteditor.BookmarkRulerAction"
               tooltip="%AddBookmark.tooltip"
               menubarPath="add"
               id="org.eclipse.ui.texteditor.BookmarkRulerAction">
         </action>
          <menu
			id="projection"
			label="%Folding.label"
			path="rulers">
		 </menu>
         <action
               label="%Dummy.label"
               tooltip="%Dummy.label"
               class="org.eclipse.ant.internal.ui.editor.actions.FoldingExpandAllRulerAction"
               menubarPath="projection/additions"
               definitionId="org.eclipse.ui.edit.text.folding.expand_all"
               id="org.eclipse.ant.ui.folding.expandAll">
         </action>
         <action
               label="%Dummy.label"
               tooltip="%Dummy.label"
               class="org.eclipse.ant.internal.ui.editor.actions.FoldingToggleRulerAction"
               menubarPath="projection/additions"
               definitionId="org.eclipse.ui.edit.text.folding.toggle"
               id="org.eclipse.ant.ui.folding.toggle">
         </action>
      </viewerContribution>
   </extension>
   <extension
         point="org.eclipse.ui.editorActions">
      <editorContribution
            targetID="org.eclipse.ant.ui.internal.editor.AntEditor"
            id="org.eclipse.ui.editorActions.antEditor">
          <action
               definitionId="org.eclipse.ant.ui.openExternalDoc"
               label="%Dummy.label"
               class="org.eclipse.ant.internal.ui.editor.actions.OpenExternalDocAction"
               id="org.eclipse.ant.ui.OpenExternalDocAction">
         </action>
         
      </editorContribution>
   </extension>   
   
   <extension
         point="org.eclipse.ant.core.extraClasspathEntries">
      <extraClasspathEntry
            library="lib/antrunner.jar">
      </extraClasspathEntry>
      <extraClasspathEntry
            library="lib/remoteAnt.jar"
            eclipseRuntime="false">
      </extraClasspathEntry>
   </extension>
   <extension
         point="org.eclipse.debug.ui.consoleColorProviders">
      <consoleColorProvider
            class="org.eclipse.ant.internal.ui.console.AntConsoleColorProvider"
            processType="org.eclipse.ant.ui.antProcess"
            id="org.eclipse.ant.consoleColorProvider">
      </consoleColorProvider>
   </extension>
   <extension
         point="org.eclipse.ui.externaltools.configurationDuplicationMaps">
      <configurationMap
            sourceType="org.eclipse.ant.AntLaunchConfigurationType"
            builderType="org.eclipse.ant.AntBuilderLaunchConfigurationType">
      </configurationMap>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            type="org.eclipse.ant.AntLaunchConfigurationType"
            helpContextId="org.eclipse.ui.externaltools.launchConfigHelpContext.ant"
            description="%antLaunchConfigurationTabGroup.description"
            class="org.eclipse.ant.internal.ui.launchConfigurations.AntTabGroup"
            id="org.eclipse.ant.ui.launchConfigurationTabGroup.ant">
      </launchConfigurationTabGroup>
      <launchConfigurationTabGroup
            type="org.eclipse.ant.AntBuilderLaunchConfigurationType"
            helpContextId="org.eclipse.ui.externaltools.launchConfigHelpContext.ant_builder"
            description="%antBuilderLaunchConfigurationTabGroup.description"
            class="org.eclipse.ant.internal.ui.launchConfigurations.AntBuilderTabGroup"
            id="org.eclipse.ant.ui.launchConfigurationTabGroup.ant.builder">
      </launchConfigurationTabGroup>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
      <launchConfigurationTypeImage
            icon="$nl$/icons/full/obj16/ant.gif"
            configTypeID="org.eclipse.ant.AntLaunchConfigurationType"
            id="org.eclipse.ant.launchConfigurationTypeImage.ant">
      </launchConfigurationTypeImage>
      <launchConfigurationTypeImage
            icon="$nl$/icons/full/obj16/ant.gif"
            configTypeID="org.eclipse.ant.AntBuilderLaunchConfigurationType"
            id="org.eclipse.ant.launchConfigurationTypeImage.ant.builder">
      </launchConfigurationTypeImage>
   </extension>
   <extension point="org.eclipse.core.runtime.adapters">
	   <factory 
            class="" 
            adaptableType="org.eclipse.ant.internal.ui.model.AntTaskNode">
            <adapter type="org.eclipse.debug.ui.actions.ILaunchable"/>
        </factory>
      <factory 
            class="" 
            adaptableType="org.eclipse.ant.internal.ui.model.AntTargetNode">
            <adapter type="org.eclipse.debug.ui.actions.ILaunchable"/>
        </factory>
      <factory 
            class="" 
            adaptableType="org.eclipse.ant.internal.ui.model.AntProjectNode">
            <adapter type="org.eclipse.debug.ui.actions.ILaunchable"/>
        </factory>
         <factory 
            class=""
            adaptableType="org.eclipse.core.resources.IFile">
            <adapter type="org.eclipse.debug.ui.actions.ILaunchable"/>
         </factory>
         <factory 
            class="" 
            adaptableType="org.eclipse.ui.IPathEditorInput">
            <adapter type="org.eclipse.debug.ui.actions.ILaunchable"/>
         </factory>
      <factory
            adaptableType="org.eclipse.ant.internal.ui.model.IAntElement"
            class="org.eclipse.ant.internal.ui.model.AntElementAdapterFactory">
         <adapter
               type="org.eclipse.core.resources.IResource">
         </adapter>
      </factory>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchShortcuts">
      <shortcut
            category="org.eclipse.ui.externaltools"
            class="org.eclipse.ant.internal.ui.launchConfigurations.AntLaunchShortcut"
            description="%AntBuildShortcut.description"
            helpContextId="org.eclipse.ui.externaltools.launchShortcutHelpContext.antShortcut"
            icon="$nl$/icons/full/obj16/ant.gif"
            id="org.eclipse.ant.ui.antShortcut"
            label="%AntLaunchShortcut.label"
            modes="run, debug">
        <contextualLaunch>
           <enablement>
             <with variable="selection">
               <count value="1"/>
               <iterate>
                 <or>
                   <instanceof value="org.eclipse.ant.internal.ui.model.AntElementNode"/>
                   <test property="org.eclipse.debug.ui.matchesContentType" value="org.eclipse.ant.core.antBuildFile"/>
                 </or>
               </iterate>
             </with>
           </enablement>
           <contextLabel
         	  mode="run"
         	  label="%AntLaunchShortcut.label"/>
         <contextLabel
         	  mode="debug"
         	  label="%AntLaunchShortcut.label"/>
  		 </contextualLaunch>
        <configurationType
              id="org.eclipse.ant.AntLaunchConfigurationType">
        </configurationType>
      </shortcut>
      <shortcut
            category="org.eclipse.ui.externaltools"
            class="org.eclipse.ant.internal.ui.launchConfigurations.AntLaunchShortcutWithDialog"
            description="%AntBuild...Shortcut.description"
            helpContextId="org.eclipse.ui.externaltools.launchShortcutHelpContext.antShortcutWithDialog"
            icon="$nl$/icons/full/obj16/ant.gif"
            id="org.eclipse.ant.ui.antShortcutWithDialog"
            label="%AntLaunchShortcutWithDialog.label"
            modes="run, debug">
        <contextualLaunch>
           <enablement>
             <with variable="selection">
               <count value="1"/>
               <iterate>
                 <or>
                   <instanceof value="org.eclipse.ant.internal.ui.model.AntElementNode"/>
                   <test property="org.eclipse.debug.ui.matchesContentType" value="org.eclipse.ant.core.antBuildFile"/>
                 </or>
               </iterate>
             </with>
           </enablement>
           <contextLabel
         	  mode="run"
         	  label="%AntLaunchShortcutWithDialog.label"/>
          <contextLabel
         	  mode="debug"
         	  label="%AntLaunchShortcutWithDialog.label"/>
  		 </contextualLaunch>
        <configurationType
              id="org.eclipse.ant.AntLaunchConfigurationType">
        </configurationType>
      </shortcut>
   </extension>
<!-- Console Extensions -->
   <extension
         point="org.eclipse.debug.ui.consoleLineTrackers">
      <consoleLineTracker
            class="org.eclipse.ant.internal.ui.console.TaskLineTracker"
            processType="org.eclipse.ant.ui.antProcess"
            id="org.eclipse.ant.ui.taskLineTracker">
      </consoleLineTracker>
   </extension>
   <extension
         point="org.eclipse.debug.core.statusHandlers">
      <statusHandler
            code="1000"
            plugin="org.eclipse.ant.ui"
            class="org.eclipse.ant.internal.ui.launchConfigurations.RunAntStatusHandler"
            id="org.eclipse.ant.ui.statusHandler.runAntInit">
      </statusHandler>
   </extension>
   
   <extension
         point="org.eclipse.ui.editors.templates">
      <contextType
            name="%buildFile.contextType.name"
            class="org.eclipse.ant.internal.ui.editor.templates.BuildFileContextType"
            id="org.eclipse.ant.ui.templateContextType.buildFile">
      </contextType>
       <contextType
            name="%target.contextType.name"
            class="org.eclipse.ant.internal.ui.editor.templates.TargetContextType"
            id="org.eclipse.ant.ui.templateContextType.target">
      </contextType>
       <contextType
            name="%task.contextType.name"
            class="org.eclipse.ant.internal.ui.editor.templates.TaskContextType"
            id="org.eclipse.ant.ui.templateContextType.task">
      </contextType>
      <resolver
            name="%ant.resolvers.src"
            type="src"
            icon="$nl$/templates/resolver.gif"
            description="%ant.resolvers.src.description"
            contextTypeId="org.eclipse.ant.ui.templateContextType.XML"
            class="org.eclipse.ant.internal.ui.editor.templates.AntVariableResolver">
      </resolver>
      <resolver
            name="%ant.resolvers.dst"
            type="dst"
            icon="$nl$/templates/resolver.gif"
            description="%ant.resolvers.dst.description"
            contextTypeId="org.eclipse.ant.ui.templateContextType.XML"
            class="org.eclipse.ant.internal.ui.editor.templates.AntVariableResolver">
      </resolver>
      <include
      		file="templates/ant.xml"
      		translations="$nl$/templates/ant.properties">
      </include>
   </extension>
    
	<extension id="buildFileProblem" name="%Ant.marker.label" point="org.eclipse.core.resources.markers">
  		<super type="org.eclipse.core.resources.problemmarker" /> 
  			<persistent value="true" /> 
	</extension>
	
    <extension
         point="org.eclipse.ui.newWizards">
    <wizard
            name="%antNewJavaProjectWizard.name"
            icon="$nl$/icons/full/obj16/new_ant_project.gif"
            class="org.eclipse.ant.internal.ui.datatransfer.AntNewJavaProjectWizard"
            preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective,org.eclipse.jdt.ui.JavaBrowsingPerspective,org.eclipse.jdt.ui.JavaHierarchyPerspective"
            project="true"
            category="org.eclipse.jdt.ui.java"
            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
            id="org.eclipse.ant.ui.wizards.JavaProjectWizard">
         <description>
            %antNewJavaProjectWizard.description
         </description>
      </wizard>
    </extension>
   
   <extension
         id="org.eclipse.ant.ui.AntDocumentSetupParticipant"
         name="%antDocumentSetupParticipant.name"
         point="org.eclipse.core.filebuffers.documentSetup">
      <participant
            extensions="ant, macrodef"
            contentTypeId="org.eclipse.ant.core.antBuildFile"
            class="org.eclipse.ant.internal.ui.editor.text.AntDocumentSetupParticipant">
      </participant>
   </extension>
   
   <extension point="org.eclipse.core.runtime.preferences">
		<initializer class="org.eclipse.ant.internal.ui.AntUIPreferenceInitializer"/>
	</extension>
   <extension
         point="org.eclipse.core.filebuffers.annotationModelCreation">
      <factory
            contentTypeId="org.eclipse.ant.core.antBuildFile"
            class="org.eclipse.ant.internal.ui.editor.text.AnnotationModelFactory"
            extensions="xml, ant, ent, macrodef"/>
   </extension>
   
   <extension
         point="org.eclipse.debug.core.sourceLocators">
      <sourceLocator
            name="%antSourceLookupDirector.name"
            class="org.eclipse.ant.internal.launching.debug.AntSourceLookupDirector"
            id="org.eclipse.ant.ui.debug.sourceLookupDirector">
      </sourceLocator>
   </extension>
   <extension
         point="org.eclipse.debug.core.sourcePathComputers">
      <sourcePathComputer
            class="org.eclipse.ant.internal.launching.debug.AntSourcePathComputerDelegate"
            id="org.eclipse.ant.ui.debug.sourcePathComputer">
      </sourcePathComputer>
   </extension>
    <extension
         point="org.eclipse.debug.ui.debugModelPresentations">
      <debugModelPresentation
            class="org.eclipse.ant.internal.ui.debug.model.AntDebugModelPresentation"
            id="org.eclipse.ant.ui.debug">
      </debugModelPresentation>
   </extension>
   
    <extension
         point="org.eclipse.ui.editorActions">
      <editorContribution
            targetID="org.eclipse.ant.ui.internal.editor.AntEditor"
            id="org.eclipse.ant.ui.BreakpointRulerActions">
         <action
               label="%AddBreakpoint.label"
               class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
               actionID="RulerDoubleClick"
               id="org.eclipse.ant.ui.actions.ManageBreakpointRulerAction">
         </action>
      </editorContribution>
   </extension>
   <extension
         point="org.eclipse.ui.popupMenus">
   		<viewerContribution
            targetID="org.eclipse.ant.internal.ui.editor.AntEditor.RulerContext"
            id="org.eclipse.ant.ui.RulerPopupActions">
         <action
               label="%EnableBreakpoint.label"
               class="org.eclipse.debug.ui.actions.RulerEnableDisableBreakpointActionDelegate"
               menubarPath="debug"
               id="org.eclipse.ant.ui.actions.EnableDisableBreakpointRulerActionDelegate">
         </action>
         <action
               label="%AddBreakpoint.label"
               class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
               menubarPath="debug"
               id="org.eclipse.ant.ui.actions.ManageBreakpointRulerActionDelegate">
         </action>
      </viewerContribution>
      <viewerContribution
            targetID="org.eclipse.ant.internal.ui.editor.AntEditor"
            id="org.eclipse.ant.ui.debug.AntEditorPopupActions">
         <action
               label="%runToLineAction.label"
               helpContextId="run_to_line_action_context"
               definitionId="org.eclipse.debug.ui.commands.RunToLine"
               class="org.eclipse.debug.ui.actions.RunToLineActionDelegate"
               menubarPath="additions"
               id="org.eclipse.ant.ui.debug.RunToLine">
         </action>
      </viewerContribution>
       </extension>
   <extension
         point="org.eclipse.ui.console.consolePatternMatchListeners">
      <consolePatternMatchListener
            class="org.eclipse.ant.internal.ui.console.EclipseJavacPatternMatcher"
            id="org.eclipse.ant.ui.eclipseJavacPatternMatcher"
            qualifier="javac"
            regex="\[javac.*\].*(ERROR|WARNING) in.*">
         <enablement>
            <test property="org.eclipse.debug.ui.processTypeTest" value="org.eclipse.ant.ui.antProcess"/>
         </enablement>
      </consolePatternMatchListener>
	  <consolePatternMatchListener
         class="org.eclipse.ant.internal.ui.console.JavacPatternMatcher"
         id="org.eclipse.ant.ui.JavacPatternMatcher"
         qualifier="javac"
         regex="\[.*javac.*\] .*(\.java:.*:.*|.*\.java)">
         <enablement>
            <test property="org.eclipse.debug.ui.processTypeTest" value="org.eclipse.ant.ui.antProcess"/>
         </enablement>
      </consolePatternMatchListener>
	  <consolePatternMatchListener
         class="org.eclipse.ant.internal.ui.console.JikesJavacPatternMatcher"
         id="org.eclipse.ant.ui.JikesJavacPatternMatcher"
         qualifier="javac"
         regex="\[javac\].*\&quot;.*\&quot;:">
         <enablement>
            <test property="org.eclipse.debug.ui.processTypeTest" value="org.eclipse.ant.ui.antProcess"/>
         </enablement>
      </consolePatternMatchListener>      
   </extension>
       
	<extension 
         point="org.eclipse.ui.exportWizards"> 
      <wizard 
            id="org.eclipse.ant.ui.export" 
            name="%antExportWizard.name"
            class="org.eclipse.ant.internal.ui.datatransfer.AntBuildfileExportWizard" 
            icon="$nl$/icons/full/elcl16/exportAnt_co.gif"
            category="org.eclipse.ui.Basic">
         <description> 
            %antExportWizard.description
         </description>
         <selection
               class="org.eclipse.jdt.core.IJavaProject">
         </selection>
      </wizard> 
   </extension>
       
	<extension point="org.eclipse.ui.actionSets">
 		<actionSet label="%antEditorPresentationActionSet.label" 
 			visible="false" 
 			id="org.eclipse.ant.ui.actionSet.presentation">
  			<action allowLabelUpdate="true" 
  				style="toggle" 
  				toolbarPath="org.eclipse.ui.edit.text.actionSet.presentation/Presentation" 
  				id="org.eclipse.ant.ui.toggleMarkOccurrences" 
  				definitionId="org.eclipse.ant.ui.toggleMarkOccurrences"
  				disabledIcon="$nl$/icons/full/dtool16/mark_occurrences.gif" 
  				icon="$nl$/icons/full/etool16/mark_occurrences.gif" 
  				label="%toggleMarkOccurrences.label" 
  				retarget="true" 
  				tooltip="%toggleMarkOccurrences.tooltip" />
			<action allowLabelUpdate="true" 
  				style="toggle" 
  				toolbarPath="org.eclipse.ui.edit.text.actionSet.presentation/Presentation" 
  				id="org.eclipse.ant.ui.toggleAutoReconcile"
  				disabledIcon="$nl$/icons/full/dlcl16/refresh.gif" 
  				icon="$nl$/icons/full/elcl16/refresh.gif" 
  				label="%toggleAutoReconcile.label" 
  				retarget="true" 
  				tooltip="%toggleAutoReconcile.tooltip" />
  		</actionSet>
  	</extension>
  	
  	<extension point="org.eclipse.ui.actionSetPartAssociations">
	  	<actionSetPartAssociation
	            targetID="org.eclipse.ant.ui.actionSet.presentation">
	         <part
	               id="org.eclipse.ant.ui.internal.editor.AntEditor">
	         </part>
	      </actionSetPartAssociation>
    <actionSetPartAssociation
          targetID="org.eclipse.ui.edit.text.actionSet.presentation">
       <part
             id="org.eclipse.ant.ui.internal.editor.AntEditor">
       </part>
    </actionSetPartAssociation>
      </extension>

         <extension
   		point="org.eclipse.ui.keywords">
      <keyword
            label="%preferenceKeywords.general"
            id="org.eclipse.ant.ui.general"/>
      <keyword
            label="%preferenceKeywords.runtime"
            id="org.eclipse.ant.ui.runtime"/>
      <keyword
            label="%preferenceKeywords.editor"
            id="org.eclipse.ant.ui.editor"/>
      <keyword
            label="%preferenceKeywords.formatter"
            id="org.eclipse.ant.ui.formatter"/>
      <keyword
            label="%preferenceKeywords.codeAssist"
            id="org.eclipse.ant.ui.codeAssist"/>
      <keyword
            label="%preferenceKeywords.template"
            id="org.eclipse.ant.ui.template"/>      
   </extension>
   
   <!-- refactoring -->
   
   <extension point="org.eclipse.ltk.core.refactoring.renameParticipants">
     <renameParticipant
            class="org.eclipse.ant.internal.ui.refactoring.LaunchConfigurationBuildfileRenameParticipant"
            name="%AntRenameParticipant.name"
            id="org.eclipse.ant.ui.refactoring.launchConfiguration.buildfileRename"> 
         <enablement>
           <with variable="element">
   	         <instanceof value="org.eclipse.core.resources.IFile"/>
           </with>
         </enablement>
      </renameParticipant>
	 <renameParticipant
            class="org.eclipse.ant.internal.ui.refactoring.LaunchConfigurationIProjectRenameParticipant"
            name="%AntRenameParticipant.name"
            id="org.eclipse.ant.ui.refactoring.launchConfiguration.projectRename">
         <enablement>
           <with variable="element">
   	         <instanceof value="org.eclipse.core.resources.IProject"/>
           </with>
         </enablement>
      </renameParticipant>
   </extension>

	<extension
       point="org.eclipse.ui.workbench.texteditor.hyperlinkDetectors">
    	<hyperlinkDetector
        	  activate="true"
	          class="org.eclipse.ant.internal.ui.editor.AntElementHyperlinkDetector"
	          description="%AntElementHyperlinkDetector.description"
    	      id="org.eclipse.ant.ui.AntElementHyperlinkDetector"
	          name="%AntElementHyperlinkDetector.label"
    	      targetId="org.eclipse.ant.ui.buildFiles">
    	</hyperlinkDetector>
     </extension>
     
     <extension
  		point="org.eclipse.ui.workbench.texteditor.hyperlinkDetectorTargets">
  		<target
    		id="org.eclipse.ant.ui.buildFiles"
    		name="%AntEditorHyperlinkTarget.name">
    		<context type="org.eclipse.ant.internal.ui.editor.AntEditor"/>
  		</target>
	</extension>
	
     <extension
           id="antRunner"
           point="org.eclipse.core.runtime.applications">
        <application>
           <run
                 class="org.eclipse.ant.internal.ui.WorkbenchAntRunner">
           </run>
        </application>
     </extension>
     <extension
           point="org.eclipse.ui.ide.markerSupport">
        <markerTypeCategory
              name="%antBreakpointGroupName">
           <markerTypeReference
                 id="org.eclipse.ant.ui.antLineBreakpointMarker">
           </markerTypeReference>
        </markerTypeCategory>
     </extension>	
</plugin>
