<idea-plugin>
  <id>fuchsia.developer.plugin.fidl</id>
  <name>FIDL</name>
  <version>0.9</version>
  <vendor
      url="https://fuchsia.googlesource.com/intellij-language-fidl/">The Fuchsia Authors
  </vendor>
  <category>Languages</category>

  <description><![CDATA[
    <a href="https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/intro/README.md">FIDL</a> Plugin for IntelliJ.<br>
    <h2> Features </h2>
    <ul>
    <li> Syntax and Semantic Highlighting </li>
    <li> Error highlighting </li>
    </ul>
    ]]></description>

  <change-notes><![CDATA[
      <ul>
        <li><b>0.9</b>
          <ul>
            <li>Add support for bytes keyword.</li>
          </ul>
        <li><b>0.8</b>
          <ul>
            <li>Add support for bits syntax and binary numeric literals.</li>
            <li>Remove support for interface syntax.</li>
          </ul>
        </li>
        <li><b>0.7</b>
          <ul>
            <li>Add protocol support, deprecate interface support</li>
            <li>Remove explicit ordinal support</li>
            <li>Add doc comment support to interfaces</li>
          </ul>
        <li><b>0.6</b>
          <ul>
            <li>Add temporary support for extensible unions.</li>
            <li>Add support for error syntax.</li>
            <li>Add support for attributes / doc comments in a few more places.</li>
          </ul>
        </li>
        <li><b>0.5</b>
          <ul>
            <li>Fix for exception in syntax highlighter init</li>
          </ul>
        </li>
        <li><b>0.4</b>
          <ul>
            <li>Expanded support for context-sensitive keywords</li>
            <li>Deprecated ordinals.</li>
          </ul>
        </li>
        <li><b>0.3</b>
           <ul>
             <li>Add support for context-sensitive keywords</li>
             <li>Bug fix for ambiguous grammar</li>
           </ul>
        </li>
        <li><b>0.2</b> Add table support</li>
        <li><b>0.1</b> Initial support for parsing and syntax highlighting</li>
      </ul>
    ]]>
  </change-notes>

  <!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/build_number_ranges.html for description -->
  <idea-version since-build="173.0"/>

  <!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html
       on how to target different products -->
  <depends>com.intellij.modules.lang</depends>

  <extensions defaultExtensionNs="com.intellij">
    <fileTypeFactory implementation="fuchsia.developer.plugin.fidl.FidlFileTypeFactory"/>
    <lang.parserDefinition language="Fidl"
        implementationClass="fuchsia.developer.plugin.fidl.FidlParserDefinition"/>
    <lang.syntaxHighlighterFactory language="Fidl"
        implementationClass="fuchsia.developer.plugin.fidl.FidlSyntaxHighlighterFactory"/>
    <annotator language="Fidl" implementationClass="fuchsia.developer.plugin.fidl.ContextAwareHighlighter"/>
  </extensions>

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

</idea-plugin>
