<idea-plugin>
    <extensions defaultExtensionNs="com.intellij">
        <!-- File Type -->
        <fileType name="NanoDSLFile"
                  implementationClass="cc.unitmesh.nanodsl.language.NanoDSLFileType"
                  fieldName="INSTANCE"
                  language="NanoDSL"
                  extensions="nanodsl"/>

        <!-- Parser Definition -->
        <lang.parserDefinition language="NanoDSL"
                               implementationClass="cc.unitmesh.nanodsl.language.parser.NanoDSLParserDefinition"/>

        <!-- Syntax Highlighter -->
        <lang.syntaxHighlighterFactory language="NanoDSL"
                                       implementationClass="cc.unitmesh.nanodsl.language.highlight.NanoDSLSyntaxHighlighterFactory"/>

        <!-- Note: Split Editor with Compose Preview is registered in main plugin.xml -->
        <!-- as it requires Jewel/Compose dependencies from mpp-idea module -->
    </extensions>

    <!-- NanoDSL Sketch Provider for SketchToolWindow -->
    <extensions defaultExtensionNs="cc.unitmesh">
        <langSketchProvider implementation="cc.unitmesh.nanodsl.language.sketch.NanoDSLSketchProvider"/>
    </extensions>
</idea-plugin>
