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

     <extension
         point="org.eclipse.ui.editors">
      <editor
            name="%CSS_Source_Page_Editor.name"
            icon="icons/sourceEditor.gif"
            contributorClass="org.eclipse.wst.css.ui.internal.ActionContributorCSS"
            class="org.eclipse.wst.css.ui.internal.StructuredTextEditorCSS"
            symbolicFontName="org.eclipse.wst.sse.ui.textfont"
            id="org.eclipse.wst.css.core.csssource.source">
      <contentTypeBinding contentTypeId="org.eclipse.wst.css.core.csssource" />
      </editor>
   </extension>
   <extension
         point="org.eclipse.wst.sse.ui.extendedconfiguration"> 
      <configuration 
      		type="contentoutlineconfiguration"
            class="org.eclipse.wst.css.ui.internal.views.contentoutline.CSSContentOutlineConfiguration"
            target="org.eclipse.wst.css.core.csssource"/>
      <configuration 
      		type="textviewerconfiguration"
            class="org.eclipse.wst.css.ui.internal.provisional.StructuredTextViewerConfigurationCSS"
            target="org.eclipse.wst.css.core.csssource"/>
      <configuration 
      		type="propertysheetconfiguration"
            class="org.eclipse.wst.css.ui.internal.views.properties.CSSPropertySheetConfiguration"
            target="org.eclipse.wst.css.core.csssource"/>
      <configuration 
      		type="characterpairmatcher"
            class="org.eclipse.wst.css.ui.internal.text.CSSDocumentRegionEdgeMatcher"
            target="org.eclipse.wst.css.core.csssource"/>
      <configuration
      		type="structuredtextfoldingprovider"
            class="org.eclipse.wst.css.ui.internal.projection.StructuredTextFoldingProviderCSS"
            target="org.eclipse.wst.css.core.csssource"/>
      <definition 
      		type="preferencepages"
            value="org.eclipse.wst.sse.ui.preferences.css"
            target="org.eclipse.wst.css.core.csssource"/>
      <definition 
      		type="preferencepages"
            value="org.eclipse.wst.sse.ui.preferences.css.source"
            target="org.eclipse.wst.css.core.csssource"/>
      <definition 
      		type="preferencepages"
            value="org.eclipse.wst.sse.ui.preferences.css.styles"
            target="org.eclipse.wst.css.core.csssource"/>
   </extension>
   <extension
         point="org.eclipse.wst.sse.ui.adapterFactoryDescription">
      <adapterFactoryDescription
            class="org.eclipse.wst.css.ui.internal.registry.AdapterFactoryProviderCSS">
            <contentType id="org.eclipse.wst.css.core.csssource"/>
      </adapterFactoryDescription>
   </extension>
   <extension
      point="org.eclipse.core.filebuffers.annotationModelCreation">
      <factory
            contentTypeId="org.eclipse.wst.css.core.csssource"
            class="org.eclipse.wst.sse.ui.internal.StructuredResourceMarkerAnnotationModelFactory"/>
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            name="%CSS_Files.name"
            category="org.eclipse.wst.sse.ui.internal.provisional.preferences"
            class="org.eclipse.wst.css.ui.internal.preferences.ui.CSSFilesPreferencePage"
            id="org.eclipse.wst.sse.ui.preferences.css">
      </page>
      <page
            name="%CSS_Source.name"
            category="org.eclipse.wst.sse.ui.preferences.css"
            class="org.eclipse.wst.css.ui.internal.preferences.ui.CSSSourcePreferencePage"
            id="org.eclipse.wst.sse.ui.preferences.css.source">
      </page>
      <page
            name="%CSS_Styles.name"
            category="org.eclipse.wst.sse.ui.preferences.css"
            class="org.eclipse.wst.css.ui.internal.preferences.ui.CSSColorPage"
            id="org.eclipse.wst.sse.ui.preferences.css.styles">
      </page>
   </extension>
   <extension
         point="org.eclipse.ui.propertyPages">
      <page
            objectClass="org.eclipse.core.resources.IFile"
            adaptable="true"
            name="%WebContentSettings.name"
            nameFilter="*.css"
            class="org.eclipse.wst.css.ui.internal.contentproperties.ui.CSSContentSettingsPropertyPage"
            id="org.eclipse.wst.css.ui.csspropertypage">
      </page>
   </extension>
<!-- Editor actionsets -->
   <extension
         point="org.eclipse.ui.actionSetPartAssociations">
      <actionSetPartAssociation
            targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
         <part
               id="org.eclipse.wst.css.core.csssource.source">
         </part>
      </actionSetPartAssociation>
      <actionSetPartAssociation
            targetID="org.eclipse.ui.NavigateActionSet">
         <part
               id="org.eclipse.wst.css.core.csssource.source">
         </part>
      </actionSetPartAssociation>
   </extension>
	<!-- initialize css ui preferences -->
	<extension point="org.eclipse.core.runtime.preferences">
	   <initializer class="org.eclipse.wst.css.ui.internal.preferences.CSSUIPreferenceInitializer"/>
	</extension>
	
	<!-- New CSS wizard -->
	<extension point="org.eclipse.ui.newWizards">
		<wizard id="org.eclipse.wst.css.ui.internal.wizard.NewCSSWizard"
			name="%_UI_WIZARD_NAME"
			class="org.eclipse.wst.css.ui.internal.wizard.NewCSSWizard"
			category="org.eclipse.wst.web.ui"
			icon="icons/full/ctool16/newcssfile_wiz.gif">
			<description>%_UI_WIZARD_CREATE_NEW_FILE</description>
			<selection class="org.eclipse.core.resources.IResource" />
		</wizard>
	</extension>

	<extension
		point="org.eclipse.ui.popupMenus">
		<viewerContribution
			targetID="org.eclipse.wst.css.core.csssource.source.RulerContext"
            id="org.eclipse.ui.texteditor.ruler.context.actions">
			<action
				label="%AddTask.label"
				helpContextId="org.eclipse.ui.AddTask_action_context"
				class="org.eclipse.ui.texteditor.TaskRulerAction"
				tooltip="%AddTask.tooltip"
				menubarPath="additions"
				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="additions"
				id="org.eclipse.ui.texteditor.BookmarkRulerAction">
			</action>
		</viewerContribution>
	</extension>
</plugin>
