<!-- Plugin Configuration File. Read more: https://plugins.jetbrains.com/docs/intellij/plugin-configuration-file.html -->
<idea-plugin>
    <!-- Unique identifier of the plugin. It should be FQN. It cannot be changed between the plugin versions. -->
    <id>com.moxie.lang</id>

    <!-- Public plugin name should be written in Title Case.
         Guidelines: https://plugins.jetbrains.com/docs/marketplace/plugin-overview-page.html#plugin-name -->
    <name>Moxie Language Support</name>

    <!-- A displayed Vendor name or Organization ID displayed on the Plugins Page. -->
    <vendor email="support@moxie-lang.org" url="https://github.com/mleku/moxie">Moxie Language</vendor>

    <!-- Description of the plugin displayed on the Plugin Page and IDE Plugin Manager.
         Simple HTML elements (text formatting, paragraphs, and lists) can be added inside of <![CDATA[ ]]> tag.
         Guidelines: https://plugins.jetbrains.com/docs/marketplace/plugin-overview-page.html#plugin-description -->
    <description><![CDATA[
        <p>Moxie language support for IntelliJ-based IDEs.</p>
        <br/>
        <p><b>Features:</b></p>
        <ul>
            <li>Syntax highlighting for .mx files</li>
            <li>File type recognition</li>
            <li>Color scheme customization</li>
            <li>Code folding support</li>
            <li>Brace matching</li>
            <li>Comment/uncomment support</li>
        </ul>
        <br/>
        <p>Moxie is a TinyGo-derived systems language. No goroutines — concurrency via spawn()
        (process-isolated domains) and channels + select. string and []byte are the same type.
        Compiles to native and JS/WASM targets.</p>
    ]]></description>

    <!-- Product and plugin compatibility requirements.
         Read more: https://plugins.jetbrains.com/docs/intellij/plugin-compatibility.html -->
    <depends>com.intellij.modules.platform</depends>

    <!-- Extension points defined by the plugin.
         Read more: https://plugins.jetbrains.com/docs/intellij/plugin-extension-points.html -->
    <extensions defaultExtensionNs="com.intellij">
        <!-- File Type -->
        <fileType name="Moxie File"
                  implementationClass="com.moxie.lang.MoxieFileType"
                  fieldName="INSTANCE"
                  language="Moxie"
                  extensions="mx"/>

        <!-- Language -->
        <lang.parserDefinition language="Moxie"
                               implementationClass="com.moxie.lang.MoxieParserDefinition"/>

        <!-- Syntax Highlighter -->
        <lang.syntaxHighlighterFactory language="Moxie"
                                       implementationClass="com.moxie.lang.MoxieSyntaxHighlighterFactory"/>

        <!-- Color Settings -->
        <colorSettingsPage implementation="com.moxie.lang.MoxieColorSettingsPage"/>

        <!-- Commenter -->
        <lang.commenter language="Moxie"
                        implementationClass="com.moxie.lang.MoxieCommenter"/>

        <!-- Brace Matcher -->
        <lang.braceMatcher language="Moxie"
                          implementationClass="com.moxie.lang.MoxieBraceMatcher"/>

        <!-- Code Folding -->
        <lang.foldingBuilder language="Moxie"
                            implementationClass="com.moxie.lang.MoxieFoldingBuilder"/>

        <!-- Quote Handler -->
        <lang.quoteHandler language="Moxie"
                          implementationClass="com.moxie.lang.MoxieQuoteHandler"/>
    </extensions>
</idea-plugin>
