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

     <extension
         point="org.eclipse.ui.editors">
      <editor
            name="%AntEditor.name"
            icon="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.debug.core.launchConfigurationTypes">
      <launchConfigurationType
            name="%AntBuild"
            delegate="org.eclipse.ant.internal.ui.launchConfigurations.AntLaunchDelegate"
            category="org.eclipse.ui.externaltools"
            modes="run, debug"
            sourceLocatorId="org.eclipse.ant.ui.debug.sourceLookupDirector"
            sourcePathComputerId="org.eclipse.ant.ui.debug.sourcePathComputer"
            id="org.eclipse.ant.AntLaunchConfigurationType">
      </launchConfigurationType>
      <launchConfigurationType
            name="%AntBuild"
            delegate="org.eclipse.ant.internal.ui.launchConfigurations.AntLaunchDelegate"
            category="org.eclipse.ui.externaltools.builder"
            modes="run"
            id="org.eclipse.ant.AntBuilderLaunchConfigurationType">
      </launchConfigurationType>
   </extension>
   <extension
         point="org.eclipse.jdt.launching.classpathProviders">
      <classpathProvider
            class="org.eclipse.ant.internal.ui.launchConfigurations.AntClasspathProvider"
            id="org.eclipse.ant.ui.AntClasspathProvider">
      </classpathProvider>
   </extension>
   <extension
         point="org.eclipse.jdt.launching.runtimeClasspathEntries">
      <runtimeClasspathEntry
            class="org.eclipse.ant.internal.ui.launchConfigurations.AntHomeClasspathEntry"
            id="org.eclipse.ant.ui.classpathentry.antHome">
      </runtimeClasspathEntry>
      <runtimeClasspathEntry
            class="org.eclipse.ant.internal.ui.launchConfigurations.ContributedClasspathEntriesEntry"
            id="org.eclipse.ant.ui.classpathentry.extraClasspathEntries">
      </runtimeClasspathEntry>
   </extension>
   <extension
         point="org.eclipse.ui.views">
      <category
            name="%CategoryView.antViews"
            id="org.eclipse.ant.ui.views">
      </category>
      <view
            name="%View.antView"
            icon="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="%ViewCommand.antView.name"
            description="%ViewCommand.antView.description"
            categoryId="org.eclipse.ui.category.views"
            id="org.eclipse.ant.ui.views.AntView">
      </command>
      <command
            name="%ActionDefinition.format.name"
            description="%ActionDefinition.format.description"
            categoryId="org.eclipse.jdt.ui.category.source"
            id="org.eclipse.ant.ui.format">
      </command>
      <command
            name="%ActionDefinition.showTooltip.name"
            description="%ActionDefinition.showTooltip.description"
            categoryId="org.eclipse.jdt.ui.category.source"
            id="org.eclipse.ant.ui.showTooltip">
      </command>
      <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+SHIFT+F"
			contextId="org.eclipse.ant.ui.AntEditorScope"
			commandId="org.eclipse.ant.ui.format"
			schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
	  <key
            sequence="F2"
            contextId="org.eclipse.ant.ui.AntEditorScope"
            commandId="org.eclipse.ant.ui.showTooltip"
            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="M3+M2+R"
            contextId="org.eclipse.ant.ui.AntEditorScope"
            commandId="org.eclipse.ant.ui.renameInFile"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
      <key
            sequence="M3+M2+X Q"
            contextId="org.eclipse.ui.globalScope"
            commandId="org.eclipse.ant.ui.antShortcut.run"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
      <key
            sequence="M3+M2+D Q"
            contextId="org.eclipse.ui.globalScope"
            commandId="org.eclipse.ant.ui.antShortcut.debug"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
      <key 
  	    	sequence="M3+M2+O"
  	    	contextId="org.eclipse.ant.ui.AntEditorScope"
  	    	commandId="org.eclipse.ant.ui.toggleMarkOccurrences"
  	    	schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" /> 
      <key
         	platform="carbon"
         	sequence="M3+M2+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="icons/full/obj16/ant.gif"
            configTypeID="org.eclipse.ant.AntLaunchConfigurationType"
            id="org.eclipse.ant.launchConfigurationTypeImage.ant">
      </launchConfigurationTypeImage>
      <launchConfigurationTypeImage
            icon="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>
   </extension>   
   <extension
         point="org.eclipse.debug.ui.launchShortcuts">
      <shortcut
            label="%AntLaunchShortcut.label"
            icon="icons/full/obj16/ant.gif"
            category="org.eclipse.ui.externaltools"
            helpContextId="org.eclipse.ui.externaltools.launchShortcutHelpContext.antShortcut"
            class="org.eclipse.ant.internal.ui.launchConfigurations.AntLaunchShortcut"
            modes="run, debug"
            id="org.eclipse.ant.ui.antShortcut">
        <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>
      </shortcut>
      <shortcut
            label="%AntLaunchShortcutWithDialog.label"
            icon="icons/full/obj16/ant.gif"
            category="org.eclipse.ui.externaltools"
            helpContextId="org.eclipse.ui.externaltools.launchShortcutHelpContext.antShortcutWithDialog"
            class="org.eclipse.ant.internal.ui.launchConfigurations.AntLaunchShortcutWithDialog"
            modes="run, debug"
            id="org.eclipse.ant.ui.antShortcutWithDialog">
        <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>
      </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>
      <consoleLineTracker
            class="org.eclipse.ant.internal.ui.console.BuildFailedTracker"
            processType="org.eclipse.ant.ui.antProcess"
            id="org.eclipse.ant.ui.buildFailedTracker">
      </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.debug.core.processFactories">
      <processFactory
            class="org.eclipse.ant.internal.ui.launchConfigurations.RemoteAntProcessFactory"
            id="org.eclipse.ant.ui.remoteAntProcessFactory">
      </processFactory>
   </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="%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="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="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="icons/full/obj16/ant.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.AntDocumentFactory"
         name="%antDocumentFactory.name"
         point="org.eclipse.core.filebuffers.documentCreation">
      <factory
            extensions="ant, macrodef"
            contentTypeId="org.eclipse.ant.core.antBuildFile"
            class="org.eclipse.ant.internal.ui.editor.text.AntDocumentFactory">
      </factory>
   </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.ui.debug.AntSourceLookupDirector"
            id="org.eclipse.ant.ui.debug.sourceLookupDirector">
      </sourceLocator>
   </extension>
   <extension
         point="org.eclipse.debug.core.sourcePathComputers">
      <sourcePathComputer
            class="org.eclipse.ant.internal.ui.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.debug.core.breakpoints">
      <breakpoint
            markerType="org.eclipse.ant.ui.antLineBreakpointMarker"
            class="org.eclipse.ant.internal.ui.debug.model.AntLineBreakpoint"
            id="org.eclipse.ant.ui.lineBreakpoint"
            name="%antBreakpointGroupName">
      </breakpoint>
   </extension>
   <extension point="org.eclipse.core.resources.markers"
         id="antLineBreakpointMarker">
      <super type="org.eclipse.debug.core.lineBreakpointMarker"/>
      <persistent value="true"/>
   </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.ant.internal.ui.editor.actions.EnableDisableBreakpointRulerActionDelegate"
               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"
            regex="\[javac.*\].*ERROR 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"
            regex="\[.*javac.*\] .*\.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"
            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="icons/full/obj16/ant.gif">
         <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="icons/full/dtool16/mark_occurrences.gif" 
  				icon="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="icons/full/dlcl16/refresh.gif" 
  				icon="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>
      </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> 

</plugin>