workbench/mps-workbench/source/META-INF/MPSComponents.xml (87 lines of code) (raw):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<idea-plugin xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/XInclude
http://www.w3.org/2001/XInclude.xsd">
<xi:include href="/META-INF/MPSCore.xml"/>
<xi:include href="/META-INF/MPSEditor.xml"/>
<xi:include href="/META-INF/MPSUI.xml"/>
<extensions defaultExtensionNs="com.intellij">
<appStarter id="mps-inspect" implementation="jetbrains.mps.tool.environment.MPSHeadlessPlatformStarter"/>
<projectConfigurable parentId="build" displayName="Project Settings" instance="jetbrains.mps.workbench.dialogs.project.properties.project.ProjectPropertiesPrefsPage"
id="project.options.prefs.page" nonDefaultProject="true" groupWeight="-10"/>
<applicationConfigurable parentId="build" groupWeight="150" instance="jetbrains.mps.smodel.ModelValidationConfigurable" id="preferences.modelValidationSettings" displayName="Model Validation"/>
<applicationConfigurable parentId="build" groupWeight="140" instance="jetbrains.mps.ide.generator.GenerationSettingsPreferencesPage" id="preferences.generationSettings" displayName="Generator"/>
<fileEditorProvider implementation="jetbrains.mps.workbench.editors.MPSLanguageEditorProvider"/>
<virtualFileSystem implementationClass="jetbrains.mps.workbench.languagesFs.MPSLanguagesVirtualFileSystem" key="mpslang" physical="true"/>
<idIndexer filetype="CLASS" implementationClass="jetbrains.mps.workbench.findusages.JavaStubIdIndexer"/>
<postStartupActivity implementation="jetbrains.mps.ide.generator.index.IndexBasedModelDigest" />
<postStartupActivity implementation="jetbrains.mps.workbench.findusages.StubModelsFastFindSupport$Plug" />
<postStartupActivity implementation="jetbrains.mps.ide.make.StartupModuleMakerImpl" />
<postStartupActivity implementation="jetbrains.mps.ide.vfs.ProjectStoreDirAddToVFSSnapshot" />
<projectService serviceImplementation="jetbrains.mps.plugins.projectplugins.ProjectPluginManager"/>
<postStartupActivity implementation="jetbrains.mps.plugins.projectplugins.ProjectPluginManager$Activity" />
<projectService serviceInterface="jetbrains.mps.project.MPSProject"
serviceImplementation="jetbrains.mps.project.StandaloneMPSProject"/>
<postStartupActivity implementation="jetbrains.mps.project.StandaloneMPSProject$Activity" />
<projectService serviceImplementation="jetbrains.mps.ide.findusages.view.optionseditor.DefaultSearchOptionsComponent"/>
<projectService serviceImplementation="jetbrains.mps.ide.editor.tabs.TabRootNodesTracker"/>
<projectService serviceImplementation="jetbrains.mps.ide.editor.tabs.FileStatusChangeListener"/>
<projectService serviceImplementation="jetbrains.mps.ide.bookmark.BookmarksUIComponent"/>
<projectService serviceImplementation="jetbrains.mps.project.ProjectLibraryManager" />
<projectService serviceInterface="jetbrains.mps.project.MissionControl"
serviceImplementation="jetbrains.mps.project.MissionControl$Impl"
testServiceImplementation="jetbrains.mps.project.MissionControl$TestImpl"/>
<projectService serviceImplementation="jetbrains.mps.ide.bookmark.BookmarksTool" /> <!-- in use from toolWindow extension, below -->
<projectService serviceImplementation="jetbrains.mps.ide.bookmark.BookmarkManager" /> <!-- in use from toolWindow extension, below -->
<applicationService serviceInterface="jetbrains.mps.ide.platform.watching.FileSystemListenersContainer"
serviceImplementation="jetbrains.mps.ide.vfs.WatchingFileSystemListenersContainer" />
<applicationService serviceImplementation="jetbrains.mps.ide.generator.TransientSwapOwnerComponent" />
<applicationService serviceImplementation="jetbrains.mps.watching.WatchedRootsUpdater" />
<applicationService serviceImplementation="jetbrains.mps.library.AdditionalLibrariesManager"/>
<applicationService serviceInterface="jetbrains.mps.make.IMakeService"
serviceImplementation="jetbrains.mps.ide.make.WorkbenchMakeService"/>
<projectService serviceInterface="jetbrains.mps.generator.TransientModelsProvider"
serviceImplementation="jetbrains.mps.ide.generator.TransientModelsComponent"/>
<notificationGroup id="jetbrains.mps.ide.make.StartupModuleMaker" displayType="STICKY_BALLOON" key="smm.group.name" bundle="jetbrains.mps.ide.make.Messages"/>
<applicationService serviceImplementation="jetbrains.mps.ide.generator.GeneratorCacheComponent"/>
<!-- next app service and app init listeners work together -->
<applicationService serviceImplementation="jetbrains.mps.plugins.PluginLoaderRegistry"/>
<applicationInitializedListener implementation="jetbrains.mps.plugins.MPSApplicationInitializedListener"/>
<applicationService serviceImplementation="jetbrains.mps.plugins.applicationplugins.ApplicationPluginManager"/>
<toolWindow factoryClass="jetbrains.mps.ide.bookmark.BookmarksTool$Factory"
id="Bookmarks tool" anchor="left" canCloseContents="true" secondary="false"
icon="AllIcons.Toolwindows.ToolWindowBookmarks" doNotActivateOnStart="true"/>
<applicationService serviceImplementation="jetbrains.mps.smodel.ModelValidationSettings" />
<applicationService serviceImplementation="jetbrains.mps.ide.generator.GenerationSettings" />
<projectService serviceImplementation="jetbrains.mps.ide.projectPane.TreeNodeSortService"/>
<projectService serviceImplementation="jetbrains.mps.ide.make.MakeServiceConfiguration"/>
<mps.projectPrefsPanel implementation="jetbrains.mps.ide.make.MakeSettingsPanel"/>
<registryKey key="mps.actions.about.libraries" defaultValue="true" description="MPS: Show app/project libraries in About dialog" restartRequired="false"/>
<aboutPopupDescriptionProvider implementation="jetbrains.mps.library.GlobalLibraryDescriptionProvider" id="GlobalLibraryDescriptionProvider"/>
<aboutPopupDescriptionProvider implementation="jetbrains.mps.library.ProjectLibraryDescriptionProvider" order="after GlobalLibraryDescriptionProvider"/>
</extensions>
<extensions defaultExtensionNs="jetbrains.mps">
<NodeEditorFactory implementation="jetbrains.mps.workbench.editors.TabsMPSEditorFactory"/>
<nodeStructureViewProvider implementation="jetbrains.mps.workbench.structureview.NodeStructureViewProviderImpl"/>
<editor.highlighter.contributor implementation="jetbrains.mps.ide.bookmark.BookmarkManager"/>
</extensions>
<applicationListeners>
<listener class="jetbrains.mps.plugins.projectplugins.ProjectPluginManager$Listener" topic="com.intellij.openapi.project.ProjectCloseListener"/>
<listener class="jetbrains.mps.project.StandaloneMPSProject$Listener" topic="com.intellij.openapi.project.ProjectCloseListener"/>
<listener class="jetbrains.mps.intellij.integration.LafFixer$MyAppLifecycleListener" topic="com.intellij.ide.AppLifecycleListener"/>
<listener class="jetbrains.mps.ide.blame.IntelliJReporterReplacer" topic="com.intellij.ide.AppLifecycleListener"/>
<listener class="jetbrains.mps.intellij.integration.LoggerLevelOverride" topic="com.intellij.ide.AppLifecycleListener"/>
<listener class="jetbrains.mps.watching.ModelFocusSynchronizer" topic="com.intellij.ide.FrameStateListener"/>
<listener class="jetbrains.mps.watching.WatchedRootsUpdater$ProjectListener" topic="com.intellij.openapi.project.ProjectManagerListener"
activeInHeadlessMode="false" activeInTestMode="false"/>
<!-- Needed in headless and test mode to load projects libraries for some tasks (eg. migration from ant or tests out of process from IDE, see MPS-36880). -->
<listener class="jetbrains.mps.project.ProjectLibraryManager$ProjectListener" topic="com.intellij.openapi.project.ProjectManagerListener"
activeInHeadlessMode="true" activeInTestMode="true"/>
<listener class="jetbrains.mps.ide.vfs.DirectoryIndexExcludeUpdater" topic="com.intellij.openapi.vfs.newvfs.BulkFileListener" />
</applicationListeners>
<projectListeners>
<listener class="jetbrains.mps.ide.bookmark.BookmarksUIComponent$EditorComponentListener"
topic="jetbrains.mps.nodeEditor.highlighter.EditorComponentCreateListener"
activeInHeadlessMode="false"
activeInTestMode="false"/>
</projectListeners>
</idea-plugin>