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

  <description><![CDATA[
    <a href="https://fuchsia.dev/fuchsia-src/development/languages/fidl/">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.19</b>
          <ul>
            <li>Remove support for deprecated struct defaults.</li>
            <li>Support for simplified escape sequences</li>
          </ul>
        </li>
        <li><b>0.18</b>
          <ul>
            <li>Enabled configurable style/formatting.</li>
            <li>Fixed bug where syntax highlighting was applied incorrectly.</li>
            <li>New checks for string literal correctness.</li>
            <li>Use updated Fuchsia icon.</li>
          </ul>
        </li>
        <li><b>0.17</b>
          <ul>
            <li>Fix crash in version 0.16.</li>
          </ul>
        </li>
        <li><b>0.16</b>
          <ul>
            <li>Updated to support the new (RFC-0050) FIDL syntax.</li>
          </ul>
        </li>
        <li><b>0.15</b>
          <ul>
            <li>Add resource_definition keyword.</li>
            <li>Add alias keyword.</li>
          </ul>
        </li>
        <li><b>0.14</b>
          <ul>
            <li>Add flexible keyword, allow strict on more declarations </li>
            <li>Support union ordinals and remove xunion.</li>
            <li>Support service declarations.</li>
            <li>Improve compatibility with IJ 2019.3, and shrink JAR size</li>
            <li>Support clock handle type.</li>
          </ul>
        </li>
        <li><b>0.13</b>
          <ul>
            <li>Add exception handle subtype and strict keyword for xunion</li>
            <li>Produce error when attributes are added to restricted table fields</li>
            <li>Support strict mode for bits/enums/tables</li>
            <li>Add new subtypes for handles: iommu, pcidevice, pmt, suspendtoken, vcpu</li>
          </ul>
        </li>
        <li><b>0.12</b>
          <ul>
            <li>Add spell checker for doc comments</li>
            <li>Add support for doc comments on type alias declarations</li>
            <li>Fix bug around spurious errors for negative numbers.</li>
          </ul>
        </li>
        <li><b>0.11</b>
          <ul>
            <li>Pull several errors out of grammar into syntax highlighter (also, make grammar more accurate)</li>
            <li>Allow type aliases anywhere a top level declaration is allowed.</li>
          </ul>
        </li>
        <li><b>0.10</b>
          <ul>
            <li>Add structure view.</li>
            <li>Add generalized type aliasing</li>
          </ul>
        </li>
        <li><b>0.9</b>
          <ul>
            <li>Add support for bytes keyword.</li>
            <li>Amended bits and enum members to require values.</li>
          </ul>
        </li>
        <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="183.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.DeprecatedFidlFileTypeFactory"/>
    <fileType name="FIDL file" implementationClass="fuchsia.developer.plugin.fidl.FileType"
        fieldName="INSTANCE" language="FIDL" extensions="fidl"/>
    <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"/>
    <lang.psiStructureViewFactory language="FIDL"
        implementationClass="fuchsia.developer.plugin.fidl.StructureViewFactory"/>
    <spellchecker.support language="FIDL" implementationClass="fuchsia.developer.plugin.fidl.FidlSpellcheckingStrategy"/>
    <codeStyleSettingsProvider implementation="fuchsia.developer.plugin.fidl.FidlCodeStyleSettingsProvider"/>
    <langCodeStyleSettingsProvider
           implementation="fuchsia.developer.plugin.fidl.FidlLanguageCodeStyleSettingsProvider"/>

  </extensions>

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

</idea-plugin>
