# RubyMine Extension Point and Listener List
Overview of Extension Points and Listeners for RubyMine.
**Product-Specific Plugin Development**: [RubyMine](rubymine.md)
> See [](intellij_platform_extension_point_list.md) for IntelliJ Platform.
88 Extension Points and 13 Listeners
## RubyMine
### RubyMine – Listeners
| Topic | Listener |
|-------|----------|
| [`RbsLanguageSettingsChangedListener#TOPIC`](https://jb.gg/ipe/listeners?topics=com.intellij.lang.ruby.rbs.settings.RbsLanguageSettingsChangedListener) | `RbsLanguageSettingsChangedListener` |
| [`ChefTopics#COOKBOOK`](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.chef.sdk.CookbooksListener) | `CookbooksListener` |
| [`GemManager#GEMSET_CHANGED_TOPIC`](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.gem.GemManager.GemSetListener) | `GemSetListener` |
| [`GemManager#MODULE_GEMS_CHANGED_TOPIC`](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.gem.GemManager.ModuleGemsListener) ![Project-Level][project-level] | `ModuleGemsListener` |
| [`GemRequirementsHolder#GEM_REQUIREMENTS_CHANGED_TOPIC`](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.gem.module.GemRequirementsHolder.RequirementsChangedListener) ![Project-Level][project-level] | `RequirementsChangedListener` |
| [`InflectorService#INFLECTIONS_CHANGED`](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.rails.InflectorService.InflectionChanged) | `InflectionChanged` |
| [`AssetsRegistrationWatcher#ASSETS_CHANGED_TOPIC`](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.rails.codeInsight.sprockets.assetsPaths.AssetsRegistrationWatcher.AssetsListener) | `AssetsListener` |
| [`MigrationParser#MIGRATIONS_CHANGED_TOPIC`](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.rails.database.MigrationParser.MigrationListener) ![Project-Level][project-level] | `MigrationListener` |
| [`RailsPathsChangedListener#TOPIC`](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.rails.facet.configuration.RailsPathsChangedListener) | `RailsPathsChangedListener` |
| [`RubyRemoteInterpreterManager#RUBY_REMOTE_SDK_TRANSFER_LISTENER_TOPIC`](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.remote.RubyRemoteSdkTransferListener) | `RubyRemoteSdkTransferListener` |
| [`RequireSetChangedListener#TOPIC`](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.ruby.codeInsight.symbols.cache.RequiresIndexExtension.RequireSetChangedListener) | `RequireSetChangedListener` |
| [`RubySdkType#SDK_PATHS_INITIALIZED_TOPIC`](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.ruby.sdk.RubySdkType.SdkPathsInitializedListener) | `SdkPathsInitializedListener` |
| [`RVMSupportUtil#RVM_GEMSET_ADDED_TOPIC`](https://jb.gg/ipe/listeners?topics=org.jetbrains.plugins.ruby.version.management.rvm.RVMSupportUtil.RVMGemsetListener) | `RVMGemsetListener` |
### intellij.ruby.coverage.xml
| Extension Point | Implementation |
|-----------------|----------------|
| | `RubyCoverageDeserializationProvider` |
### intellij.ruby.frontback.xml
| Extension Point | Implementation |
|-----------------|----------------|
| | `RubyAdditionalSpacingProcessor` |
| | `LanguageLevelProvider` |
| | `RubyBuilderFactory` |
| | `TemplateElementsProvider` |
### ruby-core.xml
| Extension Point | Implementation |
|-----------------|----------------|
| | `AssociationFactory` |
| | `AttributeProvider` |
| | `RubyAutoImportProvider` |
| | `StructureCallNavigationOffsetProvider` |
| | `RubyCallTypeProvider` |
| | `RubyCompletionProvider` |
| | `FileLocationProvider` |
| | `GemInfrastructure` |
| | `GemScannerSuppressor` |
| | `ImplicitRequireGemProvider` |
| | `ImplicitRequireProvider` |
| | `RubyIncludeExtendReceiverFqnProvider` |
| | `MethodMissingProvider` |
| | [`QueryExecutor`](%gh-ic%/platform/core-api/src/com/intellij/util/QueryExecutor.java) |
| | `ModuleGemDependencyProvider` |
| | `ModuleGemProvider` |
| | `OverriddenMethodGenerator` |
| | `ParamDefProvider` |
| | `PsiElementFactory` |
| | `RailsViewFileTemplateProvider` |
| | `RubyRenameHelper` |
| | `RubyRoutesProvider` |
| | `RubyCoercibleExpressionTypeProvider` |
| | `RubyExpectedArgumentNilabilityProvider` |
| | `RubyExpectedArgumentTypeProvider` |
| | `RubyExpectedConstantTypeProvider` |
| | `RubyExpectedGlobalVariableTypeProvider` |
| | `RubyExpectedMethodSignatureProvider` |
| | `RubyExpectedParameterTypeProvider` |
| | `RubyExpectedReturnTypeProvider` |
| | `RubyExpectedVariableTypeProvider` |
| | `RubyFindUsagesSecondaryElementsProvider` |
| | `RunEnvironmentProvider` |
| | `TestFrameworkConfigurator` |
| | `RubyElementNameAndDescriptionProvider` |
| | `RubyLocalVariablesProvider` |
| | `RubyParamDefSearchTextProvider` |
| | `RubyParameterInfoDelegateProvider` |
| | `RenameProcessor` |
| | `RubySdkConfigurator` |
| | `SdkRefresher` |
| | [`QueryExecutor`](%gh-ic%/platform/core-api/src/com/intellij/util/QueryExecutor.java) |
| | `RubySupportProvider` |
| | `RubyTypeProvider` |
| | `RubyConsoleFilterProvider` |
| | `RunnableScriptFilter` |
| | `Factory` |
| | `RubySuperMethodInfoProvider` |
| | `RubySymbolMixinsProvider` |
| | `RubySymbolProvider` |
| | `SymbolicTypeInferenceProvider` |
| | `TemplateIntegration` |
| | `RubyVersionManagerHandler` |
### ruby-plugin.xml
| Extension Point | Implementation |
|-----------------|----------------|
| | `RubyModuleSourceRootEditProvider` |
| | `RubyBreadcrumbsCustomizer` |
| | `ContextInfoProvider` |
| | `GemDetector` |
| | `GemFacetEditorTabFactory` |
| | `GeneratorActionConfigurator` |
| | `I18nProvider` |
| | `RubyInflectionsProvider` |
| | `SprocketAssetsPathProvider` |
| | `SprocketsDirectiveContextProvider` |
| | `RailsViewFileTypesProvider` |
| | `FacetEditorTabFactory` |
| | `RailsModelFieldsProvider` |
| | `RailsNavigateFromProvider` |
| | `RailsSchemaParser` |
| | `RakeRunCommandLineModifierProvider` |
| | `RakeRunConfigurationSettingsFactory` |
| | `RubyRerunFailedTestsProvider` |
| ![DumbAware][dumb-aware] | `RubyAssociatedDeclarationProvider` |
| | `RubyDebugHelperFactory` |
| | `RubyTopLevelSymbolProvider` |
| ![DumbAware][dumb-aware] | `RubyTypeSignatureProvider` |
| | `RubyFileStructureViewProvider` |
| | `RubyInsertHandlerProvider` |
| | `RubyMethodTypeDocPresentationProvider` |
| | `RubyRunConfigurationExtension` |
| | `RubyStructureViewCustomizer` |
| | `RSpecContextNameProvider` |
| | `RSpecContextSymbolProvider` |
### ruby-rbs.xml
| Extension Point | Implementation |
|-----------------|----------------|
| | `RbsContainerHierarchyMapper` |
[deprecated]: https://img.shields.io/badge/-Deprecated-lightgrey?style=flat-square
[removal]: https://img.shields.io/badge/-Removal-red?style=flat-square
[obsolete]: https://img.shields.io/badge/-Obsolete-grey?style=flat-square
[experimental]: https://img.shields.io/badge/-Experimental-violet?style=flat-square
[internal]: https://img.shields.io/badge/-Internal-darkred?style=flat-square
[project-level]: https://img.shields.io/badge/-Project--Level-blue?style=flat-square
[non-dynamic]: https://img.shields.io/badge/-Non--Dynamic-orange?style=flat-square
[dumb-aware]: https://img.shields.io/badge/-DumbAware-darkgreen?style=flat-square