<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
   <extension-point id="compilers" name="Compilers" schema="schema/compilers.exsd"/>
   <extension-point id="runners" name="Runners" schema="schema/runners.exsd"/>
   


   <extension
         point="org.eclipse.core.runtime.preferences">
      <initializer
            class="com.wudsn.ide.asm.preferences.AssemblerPreferencesInitializer">
      </initializer>
   </extension>
   <extension
         id="Atari 2600 content types"
         point="org.eclipse.core.contenttype.contentTypes">
      <content-type
            base-type="org.eclipse.core.runtime.text"
            id="com.wudsn.ide.asm.compiler.AssemblerSourceFile"
            name="%com.wudsn.ide.asm.compiler.AssemblerSourceFile.name"
            priority="normal">
      </content-type>
   </extension> 
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            class="com.wudsn.ide.asm.preferences.AssemblerPreferencesPage"
            id="com.wudsn.ide.asm.preferences.AssemblerPreferencesPage"
            name="%com.wudsn.ide.asm.preferences.AssemblerPreferencesPage.name"/>
   </extension>
   <extension
         point="org.eclipse.ui.workbench.texteditor.hyperlinkDetectors">
      <hyperlinkDetector
            activate="true"
            class="com.wudsn.ide.asm.editor.AssemblerHyperlinkDetector"
            id="com.wudsn.ide.asm.editor.AssemblerHyperlinkDetector"
            name="%com.wudsn.ide.asm.editor.AssemblerHyperlinkDetector.name"
            targetId="com.wudsn.ide.asm.editor.AssemblerHyperlinkDetectorEditorTarget">
      </hyperlinkDetector>
   </extension>
   <extension
         point="org.eclipse.ui.workbench.texteditor.hyperlinkDetectorTargets">
      <target
            id="com.wudsn.ide.asm.editor.AssemblerHyperlinkDetectorEditorTarget"
            name="%com.wudsn.ide.asm.editor.AssemblerHyperlinkDetectorEditorTarget.name">
      </target>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <category
            id="com.wudsn.ide.asm.editor.AssemblerEditorCommands"
            name="%com.wudsn.ide.asm.editor.AssemblerEditorCommands.name">
      </category>
      <command
            categoryId="com.wudsn.ide.asm.editor.AssemblerEditorCommands"
            id="com.wudsn.ide.asm.editor.AssemblerEditorOpenSourceFolderCommand"
            name="%com.wudsn.ide.asm.editor.AssemblerEditorOpenSourceFolderCommand.name">
      </command>
      <command
            categoryId="com.wudsn.ide.asm.editor.AssemblerEditorCommands"
            id="com.wudsn.ide.asm.editor.AssemblerEditorOpenOutputFolderCommand"
            name="%com.wudsn.ide.asm.editor.AssemblerEditorOpenOutputFolderCommand.name">
      </command>
      <command
            categoryId="com.wudsn.ide.asm.editor.AssemblerEditorCommands"
            id="com.wudsn.ide.asm.editor.AssemblerEditorCompileCommand"
            name="%com.wudsn.ide.asm.editor.AssemblerEditorCompileCommand.name">
      </command>
      <command
            categoryId="com.wudsn.ide.asm.editor.AssemblerEditorCommands"
            id="com.wudsn.ide.asm.editor.AssemblerEditorCompileAndRunCommand"
            name="%com.wudsn.ide.asm.editor.AssemblerEditorCompileAndRunCommand.name">
      </command>
      <command
            categoryId="com.wudsn.ide.asm.editor.AssemblerEditorCommands"
            id="com.wudsn.ide.asm.editor.AssemblerEditorCompileAndRunWithCommand"
            name="%com.wudsn.ide.asm.editor.AssemblerEditorCompileAndRunWithCommand.name">
      </command>
      <command
            categoryId="com.wudsn.ide.asm.editor.AssemblerEditorCommands"
            id="com.wudsn.ide.asm.editor.AssemblerEditorCompilerHelpCommand"
            name="%com.wudsn.ide.asm.editor.AssemblerEditorCompilerHelpCommand.name">
      </command>
      <command
            categoryId="com.wudsn.ide.asm.editor.AssemblerEditorCommands"
            id="com.wudsn.ide.asm.editor.AssemblerEditorOpenDeclarationCommand"
            name="%com.wudsn.ide.asm.editor.AssemblerEditorOpenDeclarationCommand.name">
      </command>
      <command
            categoryId="com.wudsn.ide.asm.editor.AssemblerEditorCommands"
            id="com.wudsn.ide.asm.editor.AssemblerEditorToggleCommentCommand"
            name="%com.wudsn.ide.asm.editor.AssemblerEditorToggleCommentCommand.name">
      </command>
   </extension>
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="com.wudsn.ide.asm.editor.AssemblerEditorOpenFolderCommandHandler"
            commandId="com.wudsn.ide.asm.editor.AssemblerEditorOpenSourceFolderCommand">
         <activeWhen>
            <with
                  variable="activeEditor">
               <instanceof
                     value="com.wudsn.ide.asm.editor.AssemblerEditor">
               </instanceof>
            </with></activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.asm.editor.AssemblerEditorOpenFolderCommandHandler"
            commandId="com.wudsn.ide.asm.editor.AssemblerEditorOpenOutputFolderCommand">
         <activeWhen>
            <with
                  variable="activeEditor">
               <instanceof
                     value="com.wudsn.ide.asm.editor.AssemblerEditor">
               </instanceof>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.asm.editor.AssemblerEditorCompileCommandHandler"
            commandId="com.wudsn.ide.asm.editor.AssemblerEditorCompileCommand">
         <activeWhen>
            <with
                  variable="activeEditor">
               <instanceof
                     value="com.wudsn.ide.asm.editor.AssemblerEditor">
               </instanceof>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.asm.editor.AssemblerEditorCompileCommandHandler"
            commandId="com.wudsn.ide.asm.editor.AssemblerEditorCompileAndRunCommand">
         <activeWhen>
            <with
                  variable="activeEditor">
               <instanceof
                     value="com.wudsn.ide.asm.editor.AssemblerEditor">
               </instanceof>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.asm.editor.AssemblerEditorCompileCommandHandler"
            commandId="com.wudsn.ide.asm.editor.AssemblerEditorCompileAndRunWithCommand">
         <activeWhen>
            <with
                  variable="activeEditor">
               <instanceof
                     value="com.wudsn.ide.asm.editor.AssemblerEditor">
               </instanceof>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.asm.editor.AssemblerEditorCompilerHelpCommandHandler"
            commandId="com.wudsn.ide.asm.editor.AssemblerEditorCompilerHelpCommand">
         <activeWhen>
            <with
                  variable="activeEditor">
               <instanceof
                     value="com.wudsn.ide.asm.editor.AssemblerEditor">
               </instanceof>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.asm.editor.AssemblerEditorOpenDeclarationCommandHandler"
            commandId="com.wudsn.ide.asm.editor.AssemblerEditorOpenDeclarationCommand">
         <activeWhen>
            <with
                  variable="activeEditor">
               <instanceof
                     value="com.wudsn.ide.asm.editor.AssemblerEditor">
               </instanceof>
            </with>
         </activeWhen>
      </handler>
   </extension>
   <extension
         point="org.eclipse.ui.bindings">
      <key
            commandId="com.wudsn.ide.asm.editor.AssemblerEditorCompileCommand"
            contextId="org.eclipse.ui.contexts.window"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            sequence="M1+M2+9">
      </key>
      <key
            commandId="com.wudsn.ide.asm.editor.AssemblerEditorCompileAndRunCommand"
            contextId="org.eclipse.ui.contexts.window"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            sequence="M1+M2+0">
      </key>
      <key
            commandId="com.wudsn.ide.asm.editor.AssemblerEditorToggleCommentCommand"
            contextId="org.eclipse.ui.textEditorScope"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            sequence="M1+7">
      </key>
      <key
            commandId="com.wudsn.ide.asm.editor.AssemblerEditorOpenDeclarationCommand"
            contextId="org.eclipse.ui.textEditorScope"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            sequence="F3">
      </key>
      <key
            commandId="org.eclipse.debug.ui.commands.ToggleBreakpoint"
            contextId="org.eclipse.ui.textEditorScope"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            sequence="M1+M2+B">
      </key>
   </extension>
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="menu:org.eclipse.ui.main.menu?after=additions">
         <menu
               id="com.wudsn.ide.asm.editor.AssemblerEditorAssemblerMenu"
               label="%com.wudsn.ide.asm.editor.AssemblerEditorAssemblerMenu.label"
               mnemonic="%com.wudsn.ide.asm.editor.AssemblerEditorAssemblerMenu.mnemonic">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeEditor">
                  <instanceof
                        value="com.wudsn.ide.asm.editor.AssemblerEditor">
                  </instanceof>
               </with>
            </visibleWhen>
            <command
                  commandId="com.wudsn.ide.asm.editor.AssemblerEditorOpenSourceFolderCommand"
                  mnemonic="%com.wudsn.ide.asm.editor.AssemblerEditorOpenSourceFolderCommand.mnemonic">
            </command>
            <command
                  commandId="com.wudsn.ide.asm.editor.AssemblerEditorOpenOutputFolderCommand"
                  mnemonic="%com.wudsn.ide.asm.editor.AssemblerEditorOpenOutputFolderCommand.mnemonic">
            </command>
            <separator
                  name="com.wudsn.ide.asm.editor.AssemblerEditorAssemblerMenuSeparator1"
                  visible="true">
            </separator>
            <command
                  commandId="com.wudsn.ide.asm.editor.AssemblerEditorCompileCommand"
                  id="com.wudsn.ide.asm.editor.AssemblerEditorCompileCommand"
                  mnemonic="%com.wudsn.ide.asm.editor.AssemblerEditorCompileCommand.mnemonic">
            </command>
            <command
                  commandId="com.wudsn.ide.asm.editor.AssemblerEditorCompileAndRunCommand"
                  id="com.wudsn.ide.asm.editor.AssemblerEditorCompileAndRunCommand"
                  mnemonic="%com.wudsn.ide.asm.editor.AssemblerEditorCompileAndRunCommand.mnemonic">
            </command>
            <separator
                  name="com.wudsn.ide.asm.editor.AssemblerEditorAssemblerMenuSeparator2"
                  visible="true">
            </separator>
            <command
                  commandId="com.wudsn.ide.asm.editor.AssemblerEditorCompilerHelpCommand"
                  mnemonic="%com.wudsn.ide.asm.editor.AssemblerEditorCompilerHelpCommand.mnemonic">
            </command>
         </menu>
      </menuContribution>
      
      <menuContribution
            locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
            label="%com.wudsn.ide.asm.editor.AssemblerEditorAssemblerMenu.label"
         <toolbar
               id="com.wudsn.ide.asm.editor.AssemblerEditorToolbar"
               label="%com.wudsn.ide.asm.editor.AssemblerEditorAssemblerToolbar.label">
            <dynamic
                  class="com.wudsn.ide.asm.editor.AssemblerEditorCompileAndRunCommandMenu"
                  id="com.wudsn.ide.asm.editor.AssemblerEditorCompileAndRunCommandMenu">
               <visibleWhen
                     checkEnabled="true">
               </visibleWhen>
            </dynamic>
         </toolbar>

      </menuContribution>
      
      <menuContribution
            locationURI="popup:#TextEditorContext?after=com.wudsn.ide.base.editor.CommonOpenFolderCommand">
         <command
               commandId="com.wudsn.ide.asm.editor.AssemblerEditorOpenDeclarationCommand"
               id="com.wudsn.ide.asm.editor.AssemblerEditorOpenDeclarationCommand"
               style="push">
         </command>
      </menuContribution>
      <menuContribution
            locationURI="popup:#TextEditorContext?after=com.wudsn.ide.base.editor.text.TextEditorSortMenu">
         <command
               commandId="com.wudsn.ide.asm.editor.AssemblerEditorToggleCommentCommand"
               id="com.wudsn.ide.asm.editor.AssemblerEditorToggleCommentCommand"
               style="push">
         </command>
         <command
               commandId="org.eclipse.debug.ui.commands.ToggleBreakpoint"
               id="org.eclipse.debug.ui.commands.ToggleBreakpoint"
               style="push">
         </command>
      </menuContribution>
   </extension>
   <extension
         point="org.eclipse.help.toc">
      <tocProvider
            class="com.wudsn.ide.asm.help.AssemblerTocProvider">
      </tocProvider>
      <tocIcon
            id="pdf"
            openIcon="icons/help-topic-pdf-small.gif">
      </tocIcon>
   </extension>
   <extension
         point="org.eclipse.help.contentProducer">
      <contentProducer
            producer="com.wudsn.ide.asm.help.AssemblerHelpContentProducer">
      </contentProducer>
   </extension>
    <extension
          name="Assembler Action Set for Toolbar"
          point="org.eclipse.ui.actionSets">
    <actionSet
          id="com.wudsn.ide.asm.editor.AssemblerEditorAssemblerActionSet"
          label="%com.wudsn.ide.asm.editor.AssemblerEditorAssemblerMenu.label"
          visible="true">
       <action
             class="com.wudsn.ide.asm.editor.AssemblerEditorCompileCommandDelegate"
             definitionId="com.wudsn.ide.asm.editor.AssemblerEditorCompileAndRunCommand"
             icon="icons/hardware-generic-16x16.gif"
             id="com.wudsn.ide.asm.editor.AssemblerEditorCompileAndRunAction"
             label="%com.wudsn.ide.asm.editor.AssemblerEditorCompileAndRunCommand.name"
             style="pulldown"
             toolbarPath="com.wudsn.ide.asm.editor.AssemblerEditorToolbar">
       </action>
    </actionSet>
 </extension>
 <extension
       point="com.wudsn.ide.asm.runners">
    <runner
          id="default_application"
          hardware="GENERIC"
          name="%com.wudsn.ide.asm.runner.DefaultApplication.name">
    </runner>
    <runner
          defaultCommandLine="${outputFilePath}"
          hardware="GENERIC"
          id="user_defined_application"
          name="%com.wudsn.ide.asm.runner.UserDefinedApplication.name">
    </runner>
 </extension>
 <extension
       point="org.eclipse.debug.core.breakpoints">
    <breakpoint
          class="com.wudsn.ide.asm.editor.AssemblerBreakpoint"
          id="assemblerBreakpoint"
          markerType="org.eclipse.debug.core.lineBreakpointMarker"
          name="%com.wudsn.ide.asm.editor.AssemblerBreakpoint.name">
    </breakpoint>
 </extension>
 <extension
       point="org.eclipse.debug.ui.toggleBreakpointsTargetFactories">
    <toggleTargetFactory
          class="com.wudsn.ide.asm.editor.AssemblerBreakpointAdapterFactory"
          id="com.wudsn.ide.asm.editor.AssemblerBreakpointAdapterFactory">
    </toggleTargetFactory>
 </extension>
 <extension
       point="org.eclipse.debug.ui.debugModelPresentations">
    <debugModelPresentation
          class="com.wudsn.ide.asm.editor.AssemblerBreakpoinDebugModelPresentation"
          id="com.wudsn.ide.asm">
    </debugModelPresentation>
 </extension>
 


 <extension point="org.eclipse.ui.popupMenus">
   <viewerContribution
         id="RulerPopupActions"
         targetID="#TextRulerContext">
       <action
             class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
             definitionId="org.eclipse.debug.ui.commands.ToggleBreakpoint"
             id="org.eclipse.debug.ui.commands.ToggleBreakpoint"
                label="%com.wudsn.ide.asm.editor.AssemblerEditorToggleBreakpointCommand.name"
             menubarPath="additions">
       </action>
       <action
             class="org.eclipse.debug.ui.actions.RulerEnableDisableBreakpointActionDelegate"
             id="com.wudsn.ide.asm.editor.AssemblerEditorRulerEnableDisableBreakpointAction"
             label="Enable/Disable Breakpoint (label is overridden by action at runtime)"
             menubarPath="additions">
       </action>
   </viewerContribution>
 </extension>
 <extension
       point="org.eclipse.ui.preferenceTransfer">
    <transfer
          icon="icons/hardware-generic-16x16.gif"
          id="com.wudsn.ide.asm.preferences.AssemblerPreferences"
          name="%com.wudsn.ide.asm.preferences.AssemblerPreferences.name">
       <mapping
             scope="instance">
          <entry
                node="com.wudsn.ide.asm">
          </entry>
       </mapping>
    </transfer>
 </extension>
 <extension
       point="org.eclipse.ui.views">
    <view
          category="org.eclipse.debug.ui"
          class="com.wudsn.ide.asm.editor.CompilerSymbolsView"
          icon="icons/outline-label-definition-16x16.gif"
          id="com.wudsn.ide.asm.editor.CompilerSymbolsView"
          name="%com.wudsn.ide.asm.editor.CompilerSymbolsView.name"
          restorable="true">
    </view>
 </extension> 
</plugin>
