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

	<extension-point id="schemaProcessors" name="%schemaProcessors.name"
		schema="schema/schemaProcessors.exsd" />
	<extension-point id="schemaCatalogContributions" name="%schemaCatalogContributions.name"
		schema="schema/schemaCatalogContributions.exsd" />
				
	<extension point="org.eclipse.wst.sse.core.modelHandler">
		<modelHandler
			default="true"
			class="org.eclipse.wst.json.core.internal.modelhandler.ModelHandlerForJSON"
			associatedContentTypeId="org.eclipse.wst.json.core.jsonsource"
			id="org.eclipse.wst.json.core.internal.modelhandler">
		</modelHandler>
	</extension>

	<extension
		point="org.eclipse.core.filebuffers.documentCreation"
		id="org.eclipse.wst.json.core.documentfactories"
		name="%Structured_JSON_Document_Factory_Extension.name">
		<factory
			contentTypeId="org.eclipse.wst.json.core.jsonsource"
			class="org.eclipse.wst.sse.core.internal.filebuffers.BasicStructuredDocumentFactory" />
	</extension>
	
	<extension point="org.eclipse.wst.sse.core.formatProcessors">
		<processor
			class="org.eclipse.wst.json.core.format.FormatProcessorJSON"
			contentTypeId="org.eclipse.wst.json.core.jsonsource">
		</processor>
	</extension>

	<extension point="org.eclipse.core.contenttype.contentTypes">

		<content-type
			file-extensions="json"
			priority="high"
			name="%JSON_Content_Type_Extension_Element.name"
			id="org.eclipse.wst.json.core.jsonsource"
			base-type="org.eclipse.core.runtime.text">
			<describer class="org.eclipse.wst.json.core.internal.contenttype.ContentDescriberForJSON" />
		</content-type>

	</extension>


	<!-- initialize json core preferences -->
	<extension point="org.eclipse.core.runtime.preferences">
		<initializer class="org.eclipse.wst.json.core.internal.preferences.JSONCorePreferenceInitializer" />
	</extension>

  <!-- ====================================================== -->
	<!-- Register the JSON validator with the validation 		-->
	<!-- framework. 										    -->
	<!-- ====================================================== -->

 <extension
         id="validationMarker"
         name="%_validationMarker.name"
         point="org.eclipse.core.resources.markers">
      <super type="org.eclipse.wst.validation.problemmarker"/>
      <persistent value="true"/>
 </extension>

   <extension id="json" name="%JSON_Validator.name" point="org.eclipse.wst.validation.validatorV2">
      <validator
            build="true"
            class="org.eclipse.wst.json.core.internal.validation.eclipse.Validator"
            manual="true"
            sourceid="org.eclipse.wst.json.ui.internal.validation.DelegatingSourceValidatorForJSON"
            version="3"
            markerId="org.eclipse.wst.json.core.validationMarker">
         <include>
            <rules>
               <contentType id="org.eclipse.wst.json.core.jsonsource"></contentType>
               <fileext
                     caseSensitive="false"
                     ext="json">
               </fileext>
            </rules>
         </include>
      </validator>
   </extension>
   
   <!-- See http://schemastore.org/api.html and https://github.com/SchemaStore/schemastore/blob/master/src/api/json/catalog.json -->
   <extension
         point="org.eclipse.wst.json.core.schemaCatalogContributions">
         <schemaCatalogContribution id="http://schemastore.org/">
         	<schema name="bower.json"
         			description="Bower package description file"
         			fileMatch="bower.json,bower.json"
         			url="http://json.schemastore.org/bower"
         			uri="schemastore/bower" />
			<schema name=".bowerrc"
         			description="Bower configuration file"
         			fileMatch=".bowerrc"
         			url="http://json.schemastore.org/bowerrc"
         			uri="schemastore/bowerrc" />
			<schema name=".jshintrc"
         			description="JSHint configuration file"
         			fileMatch=".jshintrc"
         			url="http://json.schemastore.org/jshintrc"
         			uri="schemastore/jshintrc" />
			<schema name="package.json"
         			description="NPM configuration file"
         			fileMatch="package.json"
         			url="http://json.schemastore.org/package"
					uri="schemastore/package-schema.json" />
         </schemaCatalogContribution>
   </extension>
   
   <!-- This extension point extends the Common Extensbile URI Resolver so that
        the JSON Catalog can participare in resolving processes. -->
   <extension point="org.eclipse.wst.common.uriresolver.resolverExtensions">
      <resolverExtension
            stage="postnormalization"
            class="org.eclipse.wst.json.core.internal.schema.catalog.JSONCatalogURIResolverExtension">
      </resolverExtension>
   </extension>
      
</plugin>
