<idea-plugin version="2">
	<id>org.eclipse.xtext.idea</id>
	<name>Xtext IDEA Core</name>
	<description>Xtext IDEA Core.</description>
	<version>2.9.2</version>
	<vendor url="http://xtext.org" logo="/icons/dsl-package_16.png">Eclipse Xtext</vendor>
	<category>Custom Languages</category>
	<idea-version since-build="131"/>
	<depends>JUnit</depends>


	<extensions defaultExtensionNs="com.intellij">
		<problemFileHighlightFilter implementation="org.eclipse.xtext.idea.highlighting.ProblemXtextFileHighlightFilter"/>
		<typedHandler implementation="org.eclipse.xtext.idea.editorActions.XtextAutoEditTypedHandler" order="first"/>
		<backspaceHandlerDelegate implementation="org.eclipse.xtext.idea.editorActions.XtextAutoEditBackspaceHandler" order="first"/>
		<enterHandlerDelegate implementation="org.eclipse.xtext.idea.editorActions.XtextAutoEditEnterHandler" order="first"/>
		
		<enterHandlerDelegate implementation="org.eclipse.xtext.idea.editorActions.XtextEnterBetweenBracesHandler" order="first"/>
		<findUsagesHandlerFactory implementation="org.eclipse.xtext.idea.findusages.GeneratedSourceAwareUsagesHandlerFactory"
			id="generatedSources" order="first"/>
		<referencesSearch implementation="org.eclipse.xtext.idea.findusages.XtextPsiElementReferenceSearcher"/>
		<generatedSourcesFilter	implementation="org.eclipse.xtext.idea.trace.TraceBasedGeneratedSourcesFilter"/>
		<exceptionFilter implementation="org.eclipse.xtext.idea.execution.TraceBasedExceptionFilterFactory" order="first"/>
   	</extensions>

	<project-components>
		<component>
			<implementation-class>org.eclipse.xtext.idea.build.XtextAutoBuilderComponent</implementation-class>
		</component>
	</project-components>

	<application-components>
		<component>
			<implementation-class>org.eclipse.xtext.idea.extensions.EcoreGlobalRegistries</implementation-class>
		</component>
	</application-components>

	<extensionPoints>
		<extensionPoint name="lang.setup" beanClass="com.intellij.lang.LanguageExtensionPoint">
			<with attribute="implementationClass" implements="org.eclipse.xtext.ISetup"/>
		</extensionPoint>

		<extensionPoint name="package" beanClass="org.eclipse.xtext.idea.extensions.EPackageEP"/>
		<extensionPoint name="resourceFactory" beanClass="org.eclipse.xtext.idea.extensions.ResourceFactoryEP"/>
		<extensionPoint name="resourceServiceProvider" beanClass="org.eclipse.xtext.idea.extensions.ResourceServiceProviderEP"/>

		<extensionPoint name="lang.editor.autoEditHandler" beanClass="com.intellij.lang.LanguageExtensionPoint">
			<with attribute="implementationClass" implements="org.eclipse.xtext.idea.editorActions.IdeaAutoEditHandler"/>
		</extensionPoint>
	</extensionPoints>
     
    <extensions defaultExtensionNs="org.eclipse.xtext.idea">
    	<!-- EMF -->
    	<package uri="http://www.eclipse.org/emf/2002/Ecore" class="org.eclipse.emf.ecore.EcorePackage"/>
    	<package uri="http://www.eclipse.org/2008/Xtext" class="org.eclipse.xtext.XtextPackage"/>

    	<resourceFactory type="ecore" class="org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl"/>
    	<resourceFactory type="xmi" class="org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl"/>
		<resourceFactory type="xtextbin" class="org.eclipse.xtext.resource.impl.BinaryGrammarResourceFactoryImpl"/>

		<!-- Common Types -->
		<resourceServiceProvider protocolName="java"
								 class="org.eclipse.xtext.idea.resource.IResourceIdeaServiceProvider"
								 factoryClass="org.eclipse.xtext.idea.common.types.shared.IdeaSharedCommonTypesExtensionFactory"/>

		<lang.setup language="org.eclipse.xtext.idea.common.types.shared"
					implementationClass="org.eclipse.xtext.idea.common.types.shared.IdeaSharedCommonTypesSetup"/>
					
		<!-- Xtype, Xbase, XAnnotations -->
    	<package uri="http://www.eclipse.org/xtext/xbase/Xtype" class="org.eclipse.xtext.xtype.XtypePackage"/>
    	<package uri="http://www.eclipse.org/xtext/xbase/Xbase" class="org.eclipse.xtext.xbase.XbasePackage"/>
    	<package uri="http://www.eclipse.org/Xtext/Xbase/XAnnotations" class="org.eclipse.xtext.xbase.annotations.xAnnotations.XAnnotationsPackage"/>
    </extensions>

</idea-plugin>
