tools/ideabuck/resources/META-INF/plugin-core.xml (223 lines of code) (raw):
<idea-plugin>
<extensions defaultExtensionNs="com.intellij">
<fileTypeFactory implementation="com.facebook.buck.intellij.ideabuck.lang.BuckFileTypeFactory"/>
<fileTypeFactory implementation="com.facebook.buck.intellij.ideabuck.lang.BcfgFileTypeFactory"/>
<lang.parserDefinition
language="Buck"
implementationClass="com.facebook.buck.intellij.ideabuck.lang.BuckParserDefinition"/>
<lang.parserDefinition
language="Buckconfig"
implementationClass="com.facebook.buck.intellij.ideabuck.lang.BcfgParserDefinition"/>
<lang.syntaxHighlighterFactory
language="Buck"
implementationClass="com.facebook.buck.intellij.ideabuck.highlight.BuckSyntaxHighlighterFactory"/>
<lang.syntaxHighlighterFactory
language="Buckconfig"
implementationClass="com.facebook.buck.intellij.ideabuck.highlight.BcfgSyntaxHighlighterFactory"/>
<lang.importOptimizer
language="Buck"
implementationClass="com.facebook.buck.intellij.ideabuck.format.BuckImportOptimizer"/>
<lang.foldingBuilder
language="Buck"
implementationClass="com.facebook.buck.intellij.ideabuck.folding.BuckFoldingBuilder"/>
<lang.foldingBuilder language="Buckconfig"
implementationClass="com.facebook.buck.intellij.ideabuck.folding.BcfgFoldingBuilder"/>
<codeInsight.unresolvedReferenceQuickFixProvider
implementation="com.facebook.buck.intellij.ideabuck.autodeps.BuckAutoDepsQuickFixProvider"/>
<completion.contributor
language="Buck"
implementationClass="com.facebook.buck.intellij.ideabuck.completion.BuckCompletionContributor"/>
<completion.contributor
language="Buck"
implementationClass="com.facebook.buck.intellij.ideabuck.completion.BuckTargetCompletionContributor"/>
<typedHandler implementation="com.facebook.buck.intellij.ideabuck.completion.BuckTargetAutoPopupHandler"/>
<codeStyleSettingsProvider
implementation="com.facebook.buck.intellij.ideabuck.config.BuckCodeStyleSettingsProvider"/>
<langCodeStyleSettingsProvider
implementation="com.facebook.buck.intellij.ideabuck.format.BuckLanguageCodeStyleSettingsProvider"/>
<gotoDeclarationHandler implementation="com.facebook.buck.intellij.ideabuck.navigation.BuckGotoProvider" order="FIRST"/>
<gotoDeclarationHandler implementation="com.facebook.buck.intellij.ideabuck.navigation.BcfgGotoFileProvider" />
<annotator language="Buck"
implementationClass="com.facebook.buck.intellij.ideabuck.annotator.BuckAnnotator"/>
<annotator language="Buckconfig"
implementationClass="com.facebook.buck.intellij.ideabuck.annotator.BcfgAnnotator"/>
<colorSettingsPage
implementation="com.facebook.buck.intellij.ideabuck.config.BuckColorSettingsPage"/>
<colorSettingsPage
implementation="com.facebook.buck.intellij.ideabuck.config.BcfgColorSettingsPage"/>
<lang.commenter language="Buck"
implementationClass="com.facebook.buck.intellij.ideabuck.commenter.BuckCommenter"/>
<lang.commenter language="Buckconfig"
implementationClass="com.facebook.buck.intellij.ideabuck.commenter.BcfgCommenter"/>
<lang.braceMatcher
language="Buck"
implementationClass="com.facebook.buck.intellij.ideabuck.format.BuckBraceMatcher"/>
<lang.refactoringSupport language="Buck" implementationClass="com.facebook.buck.intellij.ideabuck.lang.BuckIdentifierRefactoringSupportProvider"/>
<quoteHandler
fileType="Buck"
className="com.facebook.buck.intellij.ideabuck.format.BuckQuoteHandler"/>
<lang.psiStructureViewFactory language="Buck" implementationClass="com.facebook.buck.intellij.ideabuck.structure.BuckStructureViewFactory"/>
<copyPastePreProcessor
implementation="com.facebook.buck.intellij.ideabuck.format.BuckCopyPasteProcessor"/>
<toolWindow
id="Buck"
anchor="bottom"
icon="/icons/buck_tool_window_icon.png"
factoryClass="com.facebook.buck.intellij.ideabuck.ui.BuckToolWindowFactory"/>
<projectConfigurable
groupId="tools"
displayName="Buck"
id="buck.settings"
instance="com.facebook.buck.intellij.ideabuck.config.BuckSettingsConfigurable"/>
<projectService
serviceImplementation="com.facebook.buck.intellij.ideabuck.build.BuckBuildManager"/>
<projectService
serviceImplementation="com.facebook.buck.intellij.ideabuck.ui.BuckUIManager"/>
<projectService
serviceImplementation="com.facebook.buck.intellij.ideabuck.notification.BuckNotification"/>
<configurationType
implementation="com.facebook.buck.intellij.ideabuck.configurations.TestConfigurationType"/>
<programRunner
implementation="com.facebook.buck.intellij.ideabuck.configurations.TestProgramRunner"/>
<psi.referenceContributor implementation="com.facebook.buck.intellij.ideabuck.lang.BuckIdentifierReferenceContributor"/>
<runLineMarkerContributor language="JAVA"
implementationClass="com.facebook.buck.intellij.ideabuck.actions.select.SelectedTestRunLineMarkerContributor"/>
<additionalTextAttributes scheme="Default" file="colorSchemes/BuckDefault.xml"/>
<additionalTextAttributes scheme="Darcula" file="colorSchemes/BuckDarcula.xml"/>
<defaultLiveTemplatesProvider
implementation="com.facebook.buck.intellij.ideabuck.completion.BuckLiveTemplatesProvider"/>
<liveTemplateContext implementation="com.facebook.buck.intellij.ideabuck.completion.BuckCodeContexts$Generic"/>
<liveTemplateContext implementation="com.facebook.buck.intellij.ideabuck.completion.BuckCodeContexts$Declaration"/>
<liveTemplateContext implementation="com.facebook.buck.intellij.ideabuck.completion.BuckCodeContexts$InString"/>
<liveTemplateContext implementation="com.facebook.buck.intellij.ideabuck.completion.BuckCodeContexts$NamedArgument"/>
<liveTemplateContext implementation="com.facebook.buck.intellij.ideabuck.completion.BuckCodeContexts$SimpleExpression"/>
<liveTemplateContext implementation="com.facebook.buck.intellij.ideabuck.completion.BuckCodeContexts$Statement"/>
<macro implementation="com.facebook.buck.intellij.ideabuck.macro.BuckBuildFileNameMacro"/>
<macro implementation="com.facebook.buck.intellij.ideabuck.macro.BuckBuildFilePathMacro"/>
<macro implementation="com.facebook.buck.intellij.ideabuck.macro.BuckCellNameMacro"/>
<macro implementation="com.facebook.buck.intellij.ideabuck.macro.BuckCellRelativeBuildFilePathMacro"/>
<macro implementation="com.facebook.buck.intellij.ideabuck.macro.BuckCellRelativeFilePathMacro"/>
<macro implementation="com.facebook.buck.intellij.ideabuck.macro.BuckCellRootDirMacro"/>
<macro implementation="com.facebook.buck.intellij.ideabuck.macro.BuckExecutableMacro"/>
<stepsBeforeRunProvider implementation="com.facebook.buck.intellij.ideabuck.configurations.BuckCommandBeforeRunTaskProvider"/>
<postFormatProcessor implementation="com.facebook.buck.intellij.ideabuck.format.BuildifierPostFormatProcessor"/>
</extensions>
<actions>
<group
id="buck.Menu"
popup="true"
text="Buck">
<action
id="buck.GoToBuckFile"
class="com.facebook.buck.intellij.ideabuck.actions.GoToBuckFile"
text="Buck file"
description="Go to Buck file for this source file.">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift P"/>
</action>
<action
id="buck.CopyTarget"
class="com.facebook.buck.intellij.ideabuck.actions.CopyTargetAction"
text="Copy Buck Target"
description="Copy the Buck target of the current class"/>
<add-to-group anchor="after" group-id="EditorPopupMenu" relative-to-action="EditorToggleColumnMode"/>
</group>
<group id="buck.ToolbarActions">
<action
id="buck.GoToBuckFileToolbarAction"
class="com.facebook.buck.intellij.ideabuck.actions.GoToBuckFile"
text="Go to Buck file"
icon="/icons/actions/GoTo.png"
description="Go to Buck file for this source file.">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift P"/>
</action>
<add-to-group anchor="last" group-id="MainToolBar"/>
</group>
<group id="buck.BuildGroup">
<separator></separator>
<action class="com.facebook.buck.intellij.ideabuck.actions.ChooseTargetAction"
id="buck.ChooseTarget">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift J"/>
</action>
<action class="com.facebook.buck.intellij.ideabuck.actions.BuckBuildAction" id="buck.Build">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift S"/>
</action>
<action class="com.facebook.buck.intellij.ideabuck.actions.BuckStopAction" id="buck.Stop" />
<action class="com.facebook.buck.intellij.ideabuck.actions.BuckTestAction" id="buck.Test">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift Y"/>
</action>
<action class="com.facebook.buck.intellij.ideabuck.actions.BuckInstallAction"
id="buck.Install">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift X"/>
</action>
<action class="com.facebook.buck.intellij.ideabuck.actions.BuckUninstallAction"
id="buck.Uninstall">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift M"/>
</action>
<action class="com.facebook.buck.intellij.ideabuck.actions.BuckKillAction" id="buck.Kill">
<keyboard-shortcut keymap="$default" first-keystroke="ctrl shift L"/>
</action>
<action class="com.facebook.buck.intellij.ideabuck.actions.ScrollToEndAction" id="buck.ScrollToEnd" />
<action class="com.facebook.buck.intellij.ideabuck.actions.ClearTreeViewPanelAction" id="buck.Clear" />
<add-to-group anchor="last" group-id="MainToolBar"/>
</group>
<group>
<action class="com.facebook.buck.intellij.ideabuck.actions.select.BuckTestAtCursorAction$Run" id="buck.RunTestAtCursor"/>
<action class="com.facebook.buck.intellij.ideabuck.actions.select.BuckTestAtCursorAction$Debug" id="buck.DebugTestAtCursor"/>
<add-to-group anchor="last" group-id="RunContextGroup"/>
</group>
<!-- Under certain circumstances (while debugging ideabuck?), the "Reformat Code" action does
not invoke the BuildifierPostFormatProcessor. Instead, provide this action (but don't put it
in menus) to make it possible to invoke directly. -->
<action class="com.facebook.buck.intellij.ideabuck.format.BuildifierExternalFormatAction"
id="buck.BuildifierExternalFormatAction"/>
</actions>
<application-components>
<component>
<implementation-class>com.facebook.buck.intellij.ideabuck.format.BuildifierAutoFormatter</implementation-class>
</component>
</application-components>
<project-components>
<component>
<implementation-class>com.facebook.buck.intellij.ideabuck.config.BuckModule
</implementation-class>
<loadForDefaultProject/>
</component>
<component>
<implementation-class>
com.facebook.buck.intellij.ideabuck.util.BuckCellFinder
</implementation-class>
</component>
<component>
<implementation-class>
com.facebook.buck.intellij.ideabuck.config.BuckCellSettingsProvider
</implementation-class>
</component>
<component>
<implementation-class>
com.facebook.buck.intellij.ideabuck.config.BuckExecutableSettingsProvider
</implementation-class>
</component>
<component>
<implementation-class>
com.facebook.buck.intellij.ideabuck.config.BuckProjectSettingsProvider
</implementation-class>
</component>
<!--
Components in the package com.facebook.buck.intellij.ideabuck.api have
stable APIs that are intended for use by other plugins.
-->
<component>
<interface-class>com.facebook.buck.intellij.ideabuck.api.BuckCellManager</interface-class>
<implementation-class>com.facebook.buck.intellij.ideabuck.impl.BuckCellManagerImpl</implementation-class>
</component>
<component>
<interface-class>com.facebook.buck.intellij.ideabuck.api.BuckTargetLocator</interface-class>
<implementation-class>com.facebook.buck.intellij.ideabuck.impl.BuckTargetLocatorImpl</implementation-class>
</component>
</project-components>
<extensionPoints>
<extensionPoint area="IDEA_PROJECT"
name="TargetMetadataTransformer"
interface="com.facebook.buck.intellij.ideabuck.autodeps.TargetMetadataTransformer" />
<extensionPoint area="IDEA_PROJECT"
name="BuckAutoDepsSearchableClassNameContributor"
interface="com.facebook.buck.intellij.ideabuck.autodeps.BuckAutoDepsSearchableClassNameContributor" />
</extensionPoints>
<extensions defaultExtensionNs="intellij.buck.plugin">
<BuckAutoDepsSearchableClassNameContributor
implementation="com.facebook.buck.intellij.ideabuck.autodeps.DefaultSearchableClassNameContributor" />
</extensions>
</idea-plugin>