ProxyAI/src/main/resources/META-INF/plugin.xml
2025-07-21 15:35:15 +01:00

297 lines
No EOL
17 KiB
XML

<idea-plugin>
<id>ee.carlrobert.chatgpt</id>
<name>Proxy AI</name>
<vendor email="carlrobertoh@gmail.com" url="https://carlrobert.ee">Carl-Robert Linnupuu</vendor>
<depends>com.intellij.modules.platform</depends>
<depends>com.intellij.modules.lang</depends>
<depends optional="true" config-file="plugin-kotlin.xml">org.jetbrains.kotlin</depends>
<depends optional="true" config-file="plugin-java.xml">com.intellij.modules.java</depends>
<depends optional="true" config-file="plugin-python.xml">com.intellij.modules.python</depends>
<!-- TODO-->
<!-- <depends optional="true" config-file="plugin-js.xml">JavaScript</depends>-->
<!-- <depends optional="true" config-file="plugin-go.xml">org.jetbrains.plugins.go</depends>-->
<!-- <depends optional="true" config-file="plugin-ruby.xml">com.intellij.modules.ruby</depends>-->
<!-- <depends optional="true" config-file="plugin-php.xml">com.jetbrains.php</depends>-->
<!-- <depends optional="true" config-file="plugin-swift.xml">com.intellij.swift</depends>-->
<depends optional="true">Git4Idea</depends>
<projectListeners>
<listener topic="com.intellij.codeInsight.lookup.LookupManagerListener"
class="ee.carlrobert.codegpt.refactorings.RenameCompletionLookupListener"/>
<listener topic="com.intellij.codeInsight.lookup.LookupManagerListener"
class="ee.carlrobert.codegpt.CodeGPTLookupListener"/>
<listener topic="com.intellij.openapi.wm.ex.ToolWindowManagerListener"
class="ee.carlrobert.codegpt.toolwindow.chat.ChatToolWindowListener"/>
</projectListeners>
<extensions defaultExtensionNs="com.intellij">
<postStartupActivity implementation="ee.carlrobert.codegpt.LegacyMigrationActivity"/>
<postStartupActivity implementation="ee.carlrobert.codegpt.CodeGPTProjectActivity"/>
<postStartupActivity implementation="ee.carlrobert.codegpt.CodeGPTUpdateActivity"/>
<editorFactoryListener implementation="ee.carlrobert.codegpt.CodeGPTEditorFactoryListener"/>
<applicationConfigurable id="settings.codegpt" parentId="tools" displayName="ProxyAI"
instance="ee.carlrobert.codegpt.settings.GeneralSettingsConfigurable"/>
<applicationConfigurable id="settings.codegpt.services" parentId="settings.codegpt" displayName="Providers"
instance="ee.carlrobert.codegpt.settings.service.ServiceConfigurable"/>
<applicationConfigurable id="settings.codegpt.services.codegpt" parentId="settings.codegpt.services" displayName="ProxyAI"
instance="ee.carlrobert.codegpt.settings.service.codegpt.CodeGPTServiceConfigurable"/>
<applicationConfigurable id="settings.codegpt.services.openai" parentId="settings.codegpt.services" displayName="OpenAI"
instance="ee.carlrobert.codegpt.settings.service.OpenAIServiceConfigurable"/>
<applicationConfigurable id="settings.codegpt.services.custom" parentId="settings.codegpt.services" displayName="Custom OpenAI"
instance="ee.carlrobert.codegpt.settings.service.custom.CustomServiceConfigurable"/>
<applicationConfigurable id="settings.codegpt.services.anthropic" parentId="settings.codegpt.services" displayName="Anthropic"
instance="ee.carlrobert.codegpt.settings.service.AnthropicServiceConfigurable"/>
<applicationConfigurable id="settings.codegpt.services.google" parentId="settings.codegpt.services" displayName="Google"
instance="ee.carlrobert.codegpt.settings.service.google.GoogleSettingsConfigurable"/>
<applicationConfigurable id="settings.codegpt.services.mistral" parentId="settings.codegpt.services" displayName="Mistral"
instance="ee.carlrobert.codegpt.settings.service.MistralServiceConfigurable"/>
<applicationConfigurable id="settings.codegpt.services.llama_cpp" parentId="settings.codegpt.services" displayName="LLaMA C/C++ (Offline)"
instance="ee.carlrobert.codegpt.settings.service.LlamaServiceConfigurable"/>
<applicationConfigurable id="settings.codegpt.services.ollama" parentId="settings.codegpt.services" displayName="Ollama (Offline)"
instance="ee.carlrobert.codegpt.settings.service.ollama.OllamaSettingsConfigurable"/>
<applicationConfigurable id="settings.codegpt.models" parentId="settings.codegpt" displayName="Models"
instance="ee.carlrobert.codegpt.settings.models.ModelSettingsConfigurable"/>
<applicationConfigurable id="settings.codegpt.prompts" parentId="settings.codegpt" displayName="Prompts"
instance="ee.carlrobert.codegpt.settings.prompts.PromptsConfigurable"/>
<applicationConfigurable id="settings.codegpt.documentations" parentId="settings.codegpt" displayName="Documentations"
instance="ee.carlrobert.codegpt.settings.documentation.DocumentationsConfigurable"/>
<applicationConfigurable id="settings.codegpt.configuration" parentId="settings.codegpt" displayName="Configuration"
instance="ee.carlrobert.codegpt.settings.configuration.ConfigurationConfigurable"/>
<applicationConfigurable id="settings.codegpt.advanced" parentId="settings.codegpt" displayName="Advanced Settings"
instance="ee.carlrobert.codegpt.settings.advanced.AdvancedSettingsConfigurable"/>
<applicationConfigurable
parentId="settings.codegpt"
instance="ee.carlrobert.codegpt.telemetry.ui.preferences.TelemetryConfigurable"
id="tools.preferences.codegpt.telemetry"
displayName="Telemetry"/>
<actionPromoter implementation="ee.carlrobert.codegpt.actions.InlayActionPromoter"/>
<applicationService
serviceImplementation="ee.carlrobert.codegpt.telemetry.core.service.TelemetryServiceFactory"/>
<applicationService serviceImplementation="ee.carlrobert.codegpt.settings.GeneralSettings"/>
<applicationService serviceImplementation="ee.carlrobert.codegpt.settings.service.anthropic.AnthropicSettings"/>
<applicationService serviceImplementation="ee.carlrobert.codegpt.settings.service.openai.OpenAISettings"/>
<applicationService serviceImplementation="ee.carlrobert.codegpt.settings.service.you.YouSettings"/>
<applicationService serviceImplementation="ee.carlrobert.codegpt.settings.service.mistral.MistralSettings"/>
<applicationService serviceImplementation="ee.carlrobert.codegpt.settings.service.llama.LlamaSettings"/>
<applicationService serviceImplementation="ee.carlrobert.codegpt.settings.service.ollama.OllamaSettings"/>
<applicationService serviceImplementation="ee.carlrobert.codegpt.settings.models.ModelSettings"/>
<applicationService serviceImplementation="ee.carlrobert.codegpt.settings.IncludedFilesSettings"/>
<applicationService serviceImplementation="ee.carlrobert.codegpt.settings.advanced.AdvancedSettings"/>
<applicationService serviceImplementation="ee.carlrobert.codegpt.conversations.ConversationsState"/>
<applicationService serviceImplementation="ee.carlrobert.codegpt.codecompletions.psi.CompletionContextService"/>
<applicationService serviceImplementation="ee.carlrobert.codegpt.services.llama.ServerLogsManager"/>
<projectService serviceImplementation="ee.carlrobert.codegpt.services.ExecutableRunnerService"/>
<inline.completion.provider
id="CodeGPTInlineCompletionProvider"
implementation="ee.carlrobert.codegpt.codecompletions.DebouncedCodeCompletionProvider"/>
<toolWindow id="ProxyAI" icon="ee.carlrobert.codegpt.Icons.DefaultSmall" anchor="right"
factoryClass="ee.carlrobert.codegpt.toolwindow.ProxyAIToolWindowFactory"/>
<notificationGroup id="proxyai.notification.group" displayType="BALLOON" key="notification.group.name"/>
<notificationGroup id="proxyai.notification.sticky.group" displayType="STICKY_BALLOON" key="notification.group.sticky.name"/>
<statusBarWidgetFactory order="first" id="ee.carlrobert.codegpt.statusbar.widget"
implementation="ee.carlrobert.codegpt.statusbar.CodeGPTStatusBarWidgetFactory"/>
<nameSuggestionProvider implementation="ee.carlrobert.codegpt.refactorings.DefaultNameSuggestionProvider"/>
</extensions>
<resource-bundle>messages.codegpt</resource-bundle>
<actions>
<action
id="codegpt.acceptNextPrediction"
text="Accept Prediction"
class="ee.carlrobert.codegpt.predictions.AcceptNextPredictionRevisionAction">
<keyboard-shortcut first-keystroke="TAB" keymap="$default"/>
</action>
<action
id="codegpt.triggerCustomPrediction"
text="Trigger Prediction Manually"
class="ee.carlrobert.codegpt.predictions.TriggerCustomPredictionAction">
<keyboard-shortcut first-keystroke="ctrl ENTER" keymap="$default"/>
</action>
<action
id="codegpt.openPrediction"
text="Open Prediction"
class="ee.carlrobert.codegpt.predictions.OpenPredictionAction">
<keyboard-shortcut first-keystroke="ctrl shift ENTER" keymap="$default"/>
</action>
<action
id="codegpt.acceptNextInlayWord"
text="Apply next word"
use-shortcut-of="EditorNextWord"
class="ee.carlrobert.codegpt.codecompletions.AcceptNextWordInlayAction"/>
<action
id="codegpt.acceptNextInlayLine"
text="Apply next line"
use-shortcut-of="EditorLineEnd"
class="ee.carlrobert.codegpt.codecompletions.AcceptNextLineInlayAction"/>
<group id="CodeGPTEditorPopup">
<group id="action.editor.group.EditorActionGroup"
text="ProxyAI"
class="com.intellij.openapi.actionSystem.DefaultActionGroup"
popup="true"
icon="ee.carlrobert.codegpt.Icons.DefaultSmall">
<action
id="CodeGPT.NewChat"
class="ee.carlrobert.codegpt.actions.editor.OpenNewChatAction"
text="New Chat"
description="Creates a new chat session">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl alt shift N" replace-all="true"/>
</action>
<action
id="CodeGPT.ContextMenuEditCodeAction"
text="Edit Code"
description="Edit code from editor's context menu"
class="ee.carlrobert.codegpt.actions.editor.EditCodeContextMenuAction">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift K" replace-all="true"/>
</action>
<action
id="CodeGPT.AskQuestion"
text="Ask Question"
class="ee.carlrobert.codegpt.actions.editor.AskQuestionAction">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl alt shift Q" replace-all="true"/>
</action>
<separator/>
<group id="CodeGPT.MyEditorActionsGroup"
text="My Actions"
class="com.intellij.openapi.actionSystem.DefaultActionGroup">
</group>
</group>
<add-to-group group-id="EditorPopupMenu1" anchor="first"/>
<separator/>
</group>
<action id="CodeGPT.TriggerEditorPopup"
class="ee.carlrobert.codegpt.actions.editor.ShowEditorActionGroupAction"
text="Show ProxyAI Actions">
<keyboard-shortcut first-keystroke="ctrl shift alt m" keymap="$default"/>
</action>
<group id="CodeGPT.ProjectViewPopupMenuRootGroup">
<group id="CodeGPT.ProjectViewPopupMenuGroup"
text="ProxyAI"
class="com.intellij.openapi.actionSystem.DefaultActionGroup"
popup="true"
icon="ee.carlrobert.codegpt.Icons.DefaultSmall">
<action
id="CodeGPT.IncludeFilesInContextAction"
text="Include Files In Prompt"
class="ee.carlrobert.codegpt.actions.IncludeFilesInContextAction" />
</group>
<add-to-group
group-id="ProjectViewPopupMenu"
relative-to-action="ProjectViewPopupMenuRefactoringGroup"
anchor="before"/>
<separator/>
</group>
<group id="CodeGPT.VcsLogContextMenu">
<separator/>
<action
id="CodeGPT.ExplainGitCommitAction"
class="ee.carlrobert.codegpt.actions.ExplainGitCommitAction"/>
<add-to-group
group-id="Vcs.Log.ContextMenu"
relative-to-action="Vcs.Log.CompareRevisions"
anchor="after"/>
<separator/>
</group>
<group id="CodeGPT.FloatingCodeToolbarMenuRootGroup">
<action
id="CodeGPT.FloatingMenuEditCodeAction"
text="Edit Code"
description="Edit code from editor's floating menu"
class="ee.carlrobert.codegpt.actions.editor.EditCodeFloatingMenuAction">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift K" replace-all="true"/>
</action>
<add-to-group
group-id="Floating.CodeToolbar"
relative-to-action="ProjectViewPopupMenuRefactoringGroup"
anchor="before"/>
<separator/>
</group>
<action
id="CodeGPT.AddSelectionToContext"
class="ee.carlrobert.codegpt.actions.editor.AddSelectionToContextAction"
text="Include Selection in Prompt"
description="Adds the selected text to the ProxyAI context">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift I" replace-all="true"/>
<add-to-group group-id="action.editor.group.EditorActionGroup" anchor="after" relative-to-action="CodeGPT.NewChat"/>
<add-to-group group-id="CodeGPT.FloatingCodeToolbarMenuRootGroup" anchor="after" relative-to-action="CodeGPT.FloatingMenuEditCodeAction"/>
</action>
<action
id="codegpt.openSettings"
text="Open Settings"
class="ee.carlrobert.codegpt.actions.OpenSettingsAction">
<override-text place="MainMenu" text="Open Settings"/>
<override-text place="popup" use-text-of-place="MainMenu"/>
</action>
<action
id="statusbar.enableCompletions"
class="ee.carlrobert.codegpt.actions.EnableCompletionsAction">
<keyboard-shortcut first-keystroke="ctrl shift alt c" keymap="$default"/>
<override-text place="MainMenu"/>
<override-text place="popup" use-text-of-place="MainMenu"/>
</action>
<action
id="statusbar.disableCompletions"
class="ee.carlrobert.codegpt.actions.DisableCompletionsAction">
<keyboard-shortcut first-keystroke="ctrl shift alt c" keymap="$default"/>
<override-text place="MainMenu"/>
<override-text place="popup" use-text-of-place="MainMenu"/>
</action>
<action
id="statusbar.startServer"
class="ee.carlrobert.codegpt.actions.StartServerAction">
<keyboard-shortcut first-keystroke="ctrl shift alt s" keymap="$default"/>
<override-text place="MainMenu"/>
<override-text place="popup" use-text-of-place="MainMenu"/>
</action>
<action
id="statusbar.stopServer"
class="ee.carlrobert.codegpt.actions.StopServerAction">
<keyboard-shortcut first-keystroke="ctrl shift alt s" keymap="$default"/>
<override-text place="MainMenu"/>
<override-text place="popup" use-text-of-place="MainMenu"/>
</action>
<group id="codegpt.statusBarPopup">
<reference id="codegpt.openSettings" />
<separator/>
<reference id="statusbar.stopServer" />
<reference id="statusbar.startServer" />
<reference id="statusbar.disableCompletions" />
<reference id="statusbar.enableCompletions" />
</group>
<group id="CodeGPT.GenerateGitCommitMessageGroup"
text="ProxyAI"
popup="true"
icon="ee.carlrobert.codegpt.Icons.DefaultSmall">
<add-to-group group-id="Vcs.MessageActionGroup" anchor="first"/>
<action
id="CodeGPT.GenerateGitCommitMessage"
text="Generate Commit Message"
class="ee.carlrobert.codegpt.actions.GenerateCommitMessageAction"/>
<action
id="CodeGPT.GenerateGitCommitMessageWithAdditionalInput"
text="Generate Commit Message with Additional Input"
class="ee.carlrobert.codegpt.actions.GenerateCommitMessageWithAdditionalInputAction"/>
<separator/>
<action
id="CodeGPT.ReviewChanges"
text="Review Changes"
class="ee.carlrobert.codegpt.actions.ReviewChangesAction"/>
</group>
</actions>
</idea-plugin>