ZigBrains/modules/zig/src/main/resources/META-INF/zigbrains-zig.xml
FalsePattern 6fa6580f44
backport: master
fix: Local variables now show up in the debugger properly

chore: The flattening

chore: Remove unnecessary plugin xmls

docs: Update module tree

chore: Remove flexmark, replace with builtin intellij apis

fix: wrong lsp4j package (used IJ shipped lsp4j instead of ours)

(cherry picked from commit 49483a9f9c)

ci: fix deps

(cherry picked from commit 1ff8616d26)

chore: better project path management

(cherry picked from commit 0ebbe1cc9b)

ci: Slightly better git version management

(cherry picked from commit 6fbf826574)

chore: Optimize imports

(cherry picked from commit 92c5e57a03)

chore: Require restart unconditionally

(cherry picked from commit 9e90502b05)

docs: Update readme

(cherry picked from commit 95799c627b)

docs: Update changelog

(cherry picked from commit 45b153f7c4)

feat: Better configurability

(cherry picked from commit ec5c07c0a1)

fix: Annotator jank breaking diagnostics

(cherry picked from commit 85bd68393c)

chore: move some misplaced xml entires

(cherry picked from commit 7b2ad7c324)

feat!: Huge debugging refactor

- Debug support for Windows
- Debuggable zig build
- Debuggable binaries

This is a squashed commit so ignore the weird author date

(cherry picked from commit 3d0dbb8e36)

fix: NPE in go to definition

(cherry picked from commit b4539c0aa9)

fix: Builds on windows again

(cherry picked from commit 733f0b2622)

feat: Improved docs, more reliable file sync

(cherry picked from commit 23b72086bc)

chore: LanguageServerDefinition remove ancient obsolete logic

(cherry picked from commit 8a0c862446)

chore: Move lsp connection logic to lsp-common

(cherry picked from commit 3287051e3d)

chore: Move ApplicationUtil to common

(cherry picked from commit 845af09e29)

feat!: Colored builds and clickable file path references

(cherry picked from commit 66aef224b2)
2024-03-12 17:04:51 +01:00

152 lines
No EOL
7.6 KiB
XML

<!--
~ Copyright 2023-2024 FalsePattern
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<idea-plugin package="com.falsepattern.zigbrains.zig">
<resource-bundle>zigbrains.zig.Bundle</resource-bundle>
<extensions defaultExtensionNs="com.intellij">
<!-- 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.zig.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"/>
<lang.commenter language="Zig" implementationClass="com.falsepattern.zigbrains.zig.comments.ZigCommenter"/>
<lang.formatter language="Zig" implementationClass="com.falsepattern.zigbrains.zig.formatter.ZigFormattingModelBuilder"/>
<projectConfigurable parentId="language"
instance="com.falsepattern.zigbrains.zig.settings.ZLSSettingsConfigurable"
id="com.falsepattern.zigbrains.zig.settings.ZLSSettingsConfigurable"
displayName="ZLS"/>
<postStartupActivity implementation="com.falsepattern.zigbrains.zig.lsp.ZLSStartupActivity"/>
<notificationGroup displayType="BALLOON"
bundle="zigbrains.zig.Bundle"
key="notif-zls"
id="ZigBrains.ZLS"/>
</extensions>
<extensions defaultExtensionNs="com.falsepattern.zigbrains">
<zlsConfigProvider implementation="com.falsepattern.zigbrains.zig.settings.ZLSSettingsConfigProvider"/>
</extensions>
<actions>
<!-- 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>
<action class="com.falsepattern.zigbrains.lsp.actions.LSPReformatAction" id="ReformatCode" use-shortcut-of="ReformatCode"
overrides="true" text="Reformat Code"/>
<action class="com.falsepattern.zigbrains.lsp.actions.LSPGotoDeclarationAction" id="GotoDeclaration" use-shortcut-of="GotoDeclaration"
overrides="true" text="Go to Declaration or Usages"/>
<action class="com.falsepattern.zigbrains.lsp.actions.LSPGotoDefinitionAction" id="QuickImplementations" use-shortcut-of="QuickImplementations"
overrides="true" text="View Implementations"/>
<action class="com.falsepattern.zigbrains.lsp.actions.LSPShowReformatDialogAction" id="ShowReformatFileDialog"
use-shortcut-of="ShowReformatFileDialog" overrides="true" text="Show Reformat File Dialog"/>
<!-- endregion LSP -->
</actions>
<applicationListeners>
<!-- region LSP -->
<!-- required for lsp file sync -->
<listener class="com.falsepattern.zigbrains.lsp.listeners.LSPProjectManagerListener"
topic="com.intellij.openapi.project.ProjectManagerListener"/>
<listener class="com.falsepattern.zigbrains.lsp.listeners.VFSListener"
topic="com.intellij.openapi.vfs.newvfs.BulkFileListener"/>
<!-- endregion LSP -->
</applicationListeners>
</idea-plugin>