2023-08-21 19:16:27 +02:00
|
|
|
<!--
|
2024-01-25 20:38:51 +01:00
|
|
|
~ Copyright 2023-2024 FalsePattern
|
2023-08-21 19:16:27 +02:00
|
|
|
~
|
|
|
|
~ 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.
|
|
|
|
-->
|
|
|
|
|
2023-08-18 23:58:39 +02:00
|
|
|
<idea-plugin package="com.falsepattern.zigbrains.zig">
|
|
|
|
<resource-bundle>zigbrains.zig.Bundle</resource-bundle>
|
|
|
|
<extensions defaultExtensionNs="com.intellij">
|
2023-08-18 10:42:52 +02:00
|
|
|
<!-- region LSP -->
|
2023-07-29 12:22:51 +02:00
|
|
|
|
|
|
|
<!-- register a listener on editor events, required for lsp file sync -->
|
2023-08-16 13:13:04 +02:00
|
|
|
<editorFactoryListener implementation="com.falsepattern.zigbrains.lsp.listeners.LSPEditorListener"/>
|
|
|
|
<fileDocumentManagerListener implementation="com.falsepattern.zigbrains.lsp.listeners.LSPFileDocumentManagerListener"/>
|
2023-07-29 12:22:51 +02:00
|
|
|
|
|
|
|
<!-- for displaying notifications by lsp -->
|
2023-07-31 15:15:09 +02:00
|
|
|
<notificationGroup id="lsp"
|
|
|
|
displayType="STICKY_BALLOON"/>
|
2023-07-29 12:22:51 +02:00
|
|
|
|
|
|
|
<!-- for displaying the statusbar icon -->
|
2023-08-16 13:13:04 +02:00
|
|
|
<statusBarWidgetFactory implementation="com.falsepattern.zigbrains.lsp.statusbar.LSPServerStatusWidgetFactory"
|
|
|
|
id="com.falsepattern.zigbrains.lsp.statusbar.LSPServerStatusWidgetFactory"
|
2023-07-29 12:25:36 +02:00
|
|
|
order="first"/>
|
2023-07-29 12:22:51 +02:00
|
|
|
|
|
|
|
<!-- needed for completion -->
|
2023-08-16 13:14:29 +02:00
|
|
|
<completion.contributor implementationClass="com.falsepattern.zigbrains.lsp.contributors.LSPCompletionContributor"
|
2023-08-16 13:13:04 +02:00
|
|
|
id="contributors.com.falsepattern.zigbrains.lsp.LSPCompletionContributor"
|
2023-07-31 15:15:09 +02:00
|
|
|
language="any"/>
|
2023-07-29 12:22:51 +02:00
|
|
|
<!-- needed for completion as well as signature help -->
|
2023-08-16 13:13:04 +02:00
|
|
|
<typedHandler implementation="com.falsepattern.zigbrains.lsp.listeners.LSPTypedHandler"
|
2023-07-29 12:22:51 +02:00
|
|
|
id="LSPTypedHandler"/>
|
|
|
|
|
|
|
|
<!-- needed for code diagnostics -->
|
2023-07-31 15:15:09 +02:00
|
|
|
<externalAnnotator id="LSPAnnotator"
|
|
|
|
language="Zig"
|
2023-08-16 13:13:04 +02:00
|
|
|
implementationClass="com.falsepattern.zigbrains.lsp.contributors.annotator.LSPAnnotator"/>
|
2023-07-29 12:22:51 +02:00
|
|
|
|
|
|
|
<!-- needed for Workspace Symbols -->
|
2023-08-16 13:13:04 +02:00
|
|
|
<gotoSymbolContributor implementation="com.falsepattern.zigbrains.lsp.contributors.symbol.LSPSymbolContributor"
|
2023-07-29 12:22:51 +02:00
|
|
|
id="LSPSymbolContributor"/>
|
|
|
|
|
|
|
|
<!-- needed for renaming -->
|
2023-08-16 13:13:04 +02:00
|
|
|
<renameHandler implementation="com.falsepattern.zigbrains.lsp.contributors.rename.LSPRenameHandler"
|
2023-07-31 15:15:09 +02:00
|
|
|
id="LSPRenameHandler"
|
2023-07-29 12:25:36 +02:00
|
|
|
order="first"/>
|
2023-08-16 13:13:04 +02:00
|
|
|
<renamePsiElementProcessor implementation="com.falsepattern.zigbrains.lsp.contributors.rename.LSPRenameProcessor"
|
2023-07-31 15:15:09 +02:00
|
|
|
id="LSPRenameProcessor"
|
|
|
|
order="first"/>
|
2023-07-29 12:22:51 +02:00
|
|
|
|
2023-07-29 16:48:28 +02:00
|
|
|
<!-- needed for folding support -->
|
|
|
|
<lang.foldingBuilder language="Zig"
|
2023-08-08 18:25:55 +02:00
|
|
|
implementationClass="com.falsepattern.zigbrains.zig.ide.ZigFoldingRangeProvider"
|
2023-07-31 15:15:09 +02:00
|
|
|
id="LSPFoldingRangeProvider"
|
|
|
|
order="first"/>
|
2023-07-29 16:48:28 +02:00
|
|
|
|
2023-08-12 18:28:03 +02:00
|
|
|
<!-- needed for documentation -->
|
2023-08-16 13:13:04 +02:00
|
|
|
<platform.backend.documentation.targetProvider implementation="com.falsepattern.zigbrains.lsp.contributors.LSPDocumentationTargetProvider"/>
|
2023-08-12 18:28:03 +02:00
|
|
|
|
2023-08-18 10:42:52 +02:00
|
|
|
<!-- needed for inlay hints -->
|
|
|
|
<codeInsight.declarativeInlayProvider implementationClass="com.falsepattern.zigbrains.lsp.contributors.LSPInlayHintProvider"
|
2023-08-18 23:58:39 +02:00
|
|
|
bundle="zigbrains.zig.Bundle"
|
2023-08-18 10:42:52 +02:00
|
|
|
nameKey="inlayprovider"
|
|
|
|
providerId="ZigBrains"
|
|
|
|
isEnabledByDefault="true"
|
|
|
|
group="PARAMETERS_GROUP"
|
|
|
|
language="Zig"/>
|
|
|
|
|
|
|
|
<!-- endregion LSP -->
|
2023-07-29 12:22:51 +02:00
|
|
|
|
|
|
|
<fileType name="Zig File"
|
2023-08-17 10:20:23 +02:00
|
|
|
implementationClass="com.falsepattern.zigbrains.zig.ZigFileType"
|
2023-07-29 12:22:51 +02:00
|
|
|
fieldName="INSTANCE"
|
|
|
|
language="Zig"
|
|
|
|
extensions="zig"/>
|
|
|
|
|
2023-08-12 19:00:48 +02:00
|
|
|
<lang.parserDefinition language="Zig"
|
|
|
|
implementationClass="com.falsepattern.zigbrains.zig.parser.ZigParserDefinition"/>
|
|
|
|
|
2023-08-17 15:28:09 +02:00
|
|
|
<colorSettingsPage implementation="com.falsepattern.zigbrains.zig.highlighter.ZigColorSettingsPage"/>
|
|
|
|
|
|
|
|
<lang.syntaxHighlighterFactory language="Zig"
|
|
|
|
implementationClass="com.falsepattern.zigbrains.zig.highlighter.ZigSyntaxHighlighterFactory"/>
|
2023-07-29 12:22:51 +02:00
|
|
|
|
2023-08-17 21:38:40 +02:00
|
|
|
<lang.braceMatcher language="Zig"
|
|
|
|
implementationClass="com.falsepattern.zigbrains.zig.pairing.ZigBraceMatcher"/>
|
|
|
|
|
2023-12-02 22:29:03 +01:00
|
|
|
<lang.commenter language="Zig" implementationClass="com.falsepattern.zigbrains.zig.comments.ZigCommenter"/>
|
2024-01-15 21:08:13 +01:00
|
|
|
|
2024-02-01 18:26:53 +01:00
|
|
|
<lang.formatter language="Zig" implementationClass="com.falsepattern.zigbrains.zig.formatter.ZigFormattingModelBuilder"/>
|
2023-12-02 22:29:03 +01:00
|
|
|
|
2023-08-18 14:36:41 +02:00
|
|
|
<projectConfigurable parentId="language"
|
|
|
|
instance="com.falsepattern.zigbrains.zig.settings.ZLSSettingsConfigurable"
|
|
|
|
id="com.falsepattern.zigbrains.zig.settings.ZLSSettingsConfigurable"
|
2023-08-19 21:49:45 +02:00
|
|
|
displayName="ZLS"/>
|
2023-07-29 12:22:51 +02:00
|
|
|
|
2023-08-08 18:25:55 +02:00
|
|
|
<postStartupActivity implementation="com.falsepattern.zigbrains.zig.lsp.ZLSStartupActivity"/>
|
2023-07-31 15:15:09 +02:00
|
|
|
<notificationGroup displayType="BALLOON"
|
2024-02-28 22:43:34 +01:00
|
|
|
bundle="zigbrains.zig.Bundle"
|
|
|
|
key="notif-zls"
|
|
|
|
id="ZigBrains.ZLS"/>
|
2024-03-12 17:00:18 +01:00
|
|
|
|
|
|
|
<platform.backend.documentation.linkHandler implementation="com.falsepattern.zigbrains.lsp.contributors.LSPDocumentationLinkHandler"/>
|
2023-08-18 23:58:39 +02:00
|
|
|
</extensions>
|
2023-08-08 22:59:16 +02:00
|
|
|
|
2024-03-10 17:09:48 +01:00
|
|
|
<extensions defaultExtensionNs="com.falsepattern.zigbrains">
|
|
|
|
<zlsConfigProvider implementation="com.falsepattern.zigbrains.zig.settings.ZLSSettingsConfigProvider"/>
|
|
|
|
</extensions>
|
|
|
|
|
2023-08-10 15:58:40 +02:00
|
|
|
|
2023-07-29 12:22:51 +02:00
|
|
|
|
|
|
|
<actions>
|
2023-08-18 10:42:52 +02:00
|
|
|
<!-- region LSP -->
|
2023-07-29 12:22:51 +02:00
|
|
|
|
|
|
|
<!-- needed for find references -->
|
2023-08-16 13:13:04 +02:00
|
|
|
<action class="com.falsepattern.zigbrains.lsp.actions.LSPReferencesAction"
|
2023-07-31 15:15:09 +02:00
|
|
|
id="LSPFindUsages">
|
|
|
|
<keyboard-shortcut first-keystroke="shift alt F7"
|
|
|
|
keymap="$default"/>
|
2023-07-29 12:22:51 +02:00
|
|
|
</action>
|
2024-02-01 17:43:30 +01:00
|
|
|
<action class="com.falsepattern.zigbrains.lsp.actions.LSPReformatAction" id="ReformatCode" use-shortcut-of="ReformatCode"
|
|
|
|
overrides="true" text="Reformat Code"/>
|
2024-02-29 02:38:28 +01:00
|
|
|
<action class="com.falsepattern.zigbrains.lsp.actions.LSPGotoDeclarationAction" id="GotoDeclaration" use-shortcut-of="GotoDeclaration"
|
|
|
|
overrides="true" text="Go to Declaration or Usages"/>
|
2024-02-29 19:00:10 +01:00
|
|
|
<action class="com.falsepattern.zigbrains.lsp.actions.LSPGotoDefinitionAction" id="QuickImplementations" use-shortcut-of="QuickImplementations"
|
|
|
|
overrides="true" text="View Implementations"/>
|
2024-02-01 17:43:30 +01:00
|
|
|
<action class="com.falsepattern.zigbrains.lsp.actions.LSPShowReformatDialogAction" id="ShowReformatFileDialog"
|
|
|
|
use-shortcut-of="ShowReformatFileDialog" overrides="true" text="Show Reformat File Dialog"/>
|
2023-07-29 12:22:51 +02:00
|
|
|
|
2023-08-18 10:42:52 +02:00
|
|
|
<!-- endregion LSP -->
|
2023-07-29 12:22:51 +02:00
|
|
|
</actions>
|
|
|
|
|
2023-08-18 23:58:39 +02:00
|
|
|
|
2023-07-29 12:22:51 +02:00
|
|
|
<applicationListeners>
|
2023-08-18 10:42:52 +02:00
|
|
|
<!-- region LSP -->
|
2023-07-29 12:22:51 +02:00
|
|
|
|
|
|
|
<!-- required for lsp file sync -->
|
2023-08-16 13:13:04 +02:00
|
|
|
<listener class="com.falsepattern.zigbrains.lsp.listeners.LSPProjectManagerListener"
|
2023-07-29 12:22:51 +02:00
|
|
|
topic="com.intellij.openapi.project.ProjectManagerListener"/>
|
2024-03-08 16:23:24 +01:00
|
|
|
<listener class="com.falsepattern.zigbrains.lsp.listeners.VFSListener"
|
|
|
|
topic="com.intellij.openapi.vfs.newvfs.BulkFileListener"/>
|
2023-07-29 12:22:51 +02:00
|
|
|
|
2023-08-18 10:42:52 +02:00
|
|
|
<!-- endregion LSP -->
|
2023-07-29 12:22:51 +02:00
|
|
|
</applicationListeners>
|
2023-08-18 23:58:39 +02:00
|
|
|
</idea-plugin>
|