ZigBrains/src/main/resources/META-INF/plugin.xml

164 lines
7.5 KiB
XML

<!-- Plugin Configuration File. Read more: https://plugins.jetbrains.com/docs/intellij/plugin-configuration-file.html -->
<idea-plugin>
<id>com.falsepattern.zigbrains</id>
<name>ZigBrains</name>
<vendor>FalsePattern</vendor>
<depends>com.intellij.modules.platform</depends>
<resource-bundle>zigbrains.Bundle</resource-bundle>
<extensions defaultExtensionNs="com.intellij">
<!-- region Zig -->
<!-- region LSP -->
<!-- register a listener on editor events, required for lsp file sync -->
<editorFactoryListener implementation="com.falsepattern.zigbrains.lsp.listeners.LSPEditorListener"/>
<fileDocumentManagerListener implementation="com.falsepattern.zigbrains.lsp.listeners.LSPFileDocumentManagerListener"/>
<!-- for displaying notifications by lsp -->
<notificationGroup id="lsp"
displayType="STICKY_BALLOON"/>
<!-- for displaying the statusbar icon -->
<statusBarWidgetFactory implementation="com.falsepattern.zigbrains.lsp.statusbar.LSPServerStatusWidgetFactory"
id="com.falsepattern.zigbrains.lsp.statusbar.LSPServerStatusWidgetFactory"
order="first"/>
<!-- needed for completion -->
<completion.contributor implementationClass="com.falsepattern.zigbrains.lsp.contributors.LSPCompletionContributor"
id="contributors.com.falsepattern.zigbrains.lsp.LSPCompletionContributor"
language="any"/>
<!-- needed for completion as well as signature help -->
<typedHandler implementation="com.falsepattern.zigbrains.lsp.listeners.LSPTypedHandler"
id="LSPTypedHandler"/>
<!-- needed for code diagnostics -->
<externalAnnotator id="LSPAnnotator"
language="Zig"
implementationClass="com.falsepattern.zigbrains.lsp.contributors.annotator.LSPAnnotator"/>
<!-- needed for Workspace Symbols -->
<gotoSymbolContributor implementation="com.falsepattern.zigbrains.lsp.contributors.symbol.LSPSymbolContributor"
id="LSPSymbolContributor"/>
<!-- needed for renaming -->
<renameHandler implementation="com.falsepattern.zigbrains.lsp.contributors.rename.LSPRenameHandler"
id="LSPRenameHandler"
order="first"/>
<renamePsiElementProcessor implementation="com.falsepattern.zigbrains.lsp.contributors.rename.LSPRenameProcessor"
id="LSPRenameProcessor"
order="first"/>
<!-- needed for folding support -->
<lang.foldingBuilder language="Zig"
implementationClass="com.falsepattern.zigbrains.zig.ide.ZigFoldingRangeProvider"
id="LSPFoldingRangeProvider"
order="first"/>
<!-- needed for documentation -->
<platform.backend.documentation.targetProvider implementation="com.falsepattern.zigbrains.lsp.contributors.LSPDocumentationTargetProvider"/>
<!-- needed for inlay hints -->
<codeInsight.declarativeInlayProvider implementationClass="com.falsepattern.zigbrains.lsp.contributors.LSPInlayHintProvider"
bundle="zigbrains.Bundle"
nameKey="inlayprovider"
providerId="ZigBrains"
isEnabledByDefault="true"
group="PARAMETERS_GROUP"
language="Zig"/>
<!-- endregion LSP -->
<fileType name="Zig File"
implementationClass="com.falsepattern.zigbrains.zig.ZigFileType"
fieldName="INSTANCE"
language="Zig"
extensions="zig"/>
<lang.parserDefinition language="Zig"
implementationClass="com.falsepattern.zigbrains.zig.parser.ZigParserDefinition"/>
<colorSettingsPage implementation="com.falsepattern.zigbrains.zig.highlighter.ZigColorSettingsPage"/>
<lang.syntaxHighlighterFactory language="Zig"
implementationClass="com.falsepattern.zigbrains.zig.highlighter.ZigSyntaxHighlighterFactory"/>
<lang.braceMatcher language="Zig"
implementationClass="com.falsepattern.zigbrains.zig.pairing.ZigBraceMatcher"/>
<projectConfigurable parentId="language"
instance="com.falsepattern.zigbrains.zig.settings.ZLSSettingsConfigurable"
id="com.falsepattern.zigbrains.zig.settings.ZLSSettingsConfigurable"
displayName="Zig"/>
<postStartupActivity implementation="com.falsepattern.zigbrains.zig.lsp.ZLSStartupActivity"/>
<notificationGroup displayType="BALLOON"
id="ZigBrains.Nag"/>
<!-- endregion Zig -->
<!-- region Zon -->
<fileType name="ZON File"
implementationClass="com.falsepattern.zigbrains.zon.ZonFileType"
fieldName="INSTANCE"
language="Zon"
extensions="zon"/>
<lang.parserDefinition language="Zon"
implementationClass="com.falsepattern.zigbrains.zon.parser.ZonParserDefinition"/>
<lang.syntaxHighlighterFactory language="Zon"
implementationClass="com.falsepattern.zigbrains.zon.highlight.ZonSyntaxHighlighterFactory"/>
<colorSettingsPage implementation="com.falsepattern.zigbrains.zon.highlight.ZonColorSettingsPage"/>
<lang.braceMatcher language="Zon"
implementationClass="com.falsepattern.zigbrains.zon.pairing.ZonBraceMatcher"/>
<completion.contributor language="Zon"
implementationClass="com.falsepattern.zigbrains.zon.completion.ZonCompletionContributor"/>
<lang.formatter language="Zon"
implementationClass="com.falsepattern.zigbrains.zon.formatter.ZonFormattingModelBuilder"/>
<lang.quoteHandler language="Zon"
implementationClass="com.falsepattern.zigbrains.zon.pairing.ZonQuoteHandler"/>
<lang.foldingBuilder language="Zon"
implementationClass="com.falsepattern.zigbrains.zon.folding.ZonFoldingBuilder"/>
<!-- endregion Zon -->
</extensions>
<actions>
<!-- region Zig -->
<!-- region LSP -->
<!-- needed for find references -->
<action class="com.falsepattern.zigbrains.lsp.actions.LSPReferencesAction"
id="LSPFindUsages">
<keyboard-shortcut first-keystroke="shift alt F7"
keymap="$default"/>
</action>
<!-- endregion LSP -->
<!-- endregion Zig -->
</actions>
<applicationListeners>
<!-- region LSP -->
<!-- required for lsp file sync -->
<listener class="com.falsepattern.zigbrains.lsp.listeners.VFSListener"
topic="com.intellij.openapi.vfs.VirtualFileListener"/>
<listener class="com.falsepattern.zigbrains.lsp.listeners.LSPProjectManagerListener"
topic="com.intellij.openapi.project.ProjectManagerListener"/>
<!-- endregion LSP -->
</applicationListeners>
</idea-plugin>