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

<!--
    Copyright (c) 2023 Willink Transformations and others.
   
    This program and the accompanying materials
    are made available under the terms of the Eclipse Public License 2.0
    which accompanies this distribution, and is available at
    https://www.eclipse.org/legal/epl-2.0/
   
    SPDX-License-Identifier: EPL-2.0
   
    Contributors:
        E.D.Willink - initial API and implementation
-->

<plugin>

  <extension point="org.eclipse.core.contenttype.contentTypes">
	<content-type id="org.eclipse.ocl.xtext.EssentialOCL" name="%EssentialOCLName" 
		base-type="org.eclipse.core.runtime.text"
		file-extensions="essentialocl"
        default-charset="UTF-8">
         <describer class="org.eclipse.ocl.pivot.resource.NotXMLContentHandlerImpl$Describer"/>
      </content-type>
  </extension>

   <extension point="org.eclipse.emf.ecore.generated_package">
      <!-- @generated EssentialOCLCS -->
      <package
            uri="http://www.eclipse.org/ocl/2015/EssentialOCLCS"
            class="org.eclipse.ocl.xtext.essentialoclcs.EssentialOCLCSPackage"
            genModel="model/EssentialOCLCS.genmodel"/>
   </extension>

   <extension point="org.eclipse.team.core.fileTypes">
      <fileTypes extension="essentialocl" type="text" />
      <fileTypes extension="essentialoclcs" type="text" />
   </extension>

  <extension point="org.eclipse.ocl.pivot.as_resource_factory">
     <factory class="org.eclipse.ocl.xtext.essentialocl.utilities.EssentialOCLASResourceFactory"
     	extension="essentialocl" contentType="org.eclipse.ocl.oclas.essentialocl"/>
  </extension>

</plugin>
