<!--
  ~ Copyright 2015 Dropbox, Inc.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~    http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
<idea-plugin version="2">
  <id>com.dropbox.djinni.ideaplugin</id>
  <name>Djinni interface definition language file support</name>
  <version>0.8</version>
  <vendor email="jaetzold@dropbox.com" url="http://www.dropbox.com">Dropbox</vendor>

  <description><![CDATA[
      Add some basic navigation, code-completion and error highlighting support to .djinni files.
    ]]></description>

  <change-notes><![CDATA[
      Initial release.
    ]]>
  </change-notes>

  <!-- please see https://confluence.jetbrains.com/display/IDEADEV/Build+Number+Ranges for description -->
  <idea-version since-build="131"/>

  <!-- please see https://confluence.jetbrains.com/display/IDEADEV/Plugin+Compatibility+with+IntelliJ+Platform+Products
       on how to target different products -->

  <depends>com.intellij.modules.lang</depends>


  <extensions defaultExtensionNs="com.intellij">
    <!-- Add your extensions here -->
    <fileTypeFactory implementation="com.dropbox.djinni.ideaplugin.DjinniFileTypeFactory"/>
    <lang.parserDefinition language="Djinni" implementationClass="com.dropbox.djinni.ideaplugin.DjinniParserDefinition"/>
    <lang.parserDefinition language="DjinniYaml" implementationClass="com.dropbox.djinni.ideaplugin.YamlParserDefinition"/>
    <lang.syntaxHighlighterFactory key="Djinni" implementationClass="com.dropbox.djinni.ideaplugin.DjinniSyntaxHighlighterFactory"/>
    <colorSettingsPage implementation="com.dropbox.djinni.ideaplugin.DjinniColorSettingsPage"/>

    <annotator language="Djinni" implementationClass="com.dropbox.djinni.ideaplugin.DjinniAnnotator"/>
    <completion.contributor language="Djinni" implementationClass="com.dropbox.djinni.ideaplugin.DjinniCompletionContributor"/>
    <psi.referenceContributor implementation="com.dropbox.djinni.ideaplugin.DjinniReferenceContributor"/>
    <lang.findUsagesProvider language="Djinni" implementationClass="com.dropbox.djinni.ideaplugin.DjinniFindUsagesProvider"/>
    <lang.foldingBuilder language="Djinni" implementationClass="com.dropbox.djinni.ideaplugin.DjinniFoldingBuilder"/>
    <gotoSymbolContributor implementation="com.dropbox.djinni.ideaplugin.DjinniChooseByNameContributor"/>
    <lang.psiStructureViewFactory language="Djinni" implementationClass="com.dropbox.djinni.ideaplugin.DjinniStructureViewFactory"/>
    <lang.formatter language="Djinni" implementationClass="com.dropbox.djinni.ideaplugin.DjinniFormattingModelBuilder"/>
    <lang.commenter language="Djinni" implementationClass="com.dropbox.djinni.ideaplugin.DjinniCommenter"/>
  </extensions>

  <application-components>
    <!-- Add your application components here -->
  </application-components>

  <project-components>
    <!-- Add your project components here -->
  </project-components>

  <actions>
    <!-- Add your actions here -->
  </actions>


</idea-plugin>