diff --git a/plugins/markdown/core/resources/messages/MarkdownBundle.properties b/plugins/markdown/core/resources/messages/MarkdownBundle.properties index 5d9b1cc59359..8cfd50ea02b8 100644 --- a/plugins/markdown/core/resources/messages/MarkdownBundle.properties +++ b/plugins/markdown/core/resources/messages/MarkdownBundle.properties @@ -113,6 +113,7 @@ markdown.settings.download.extension.notification.title=Markdown extension downl markdown.settings.download.extension.notification.success.content=Extension files successfully downloaded! markdown.settings.download.extension.notification.failure.content=Failed to download required extension files! markdown.settings.extension.install.label=Install +markdown.settings.extension.enable.searchable.option.text=Enable {0} Extension markdown.extract.link.extract.duplicates.description={0} has detected {1} duplicate {1,choice,1#link|2#links} that can be replaced with a reference link. Review and replace {1,choice,1#it|2#them}? markdown.extract.link.extract.duplicates.warning=Some duplicate links have different titles. They will be erased during replacement. diff --git a/plugins/markdown/core/src/org/intellij/plugins/markdown/extensions/ExtensionSearchableOptionContributor.kt b/plugins/markdown/core/src/org/intellij/plugins/markdown/extensions/ExtensionSearchableOptionContributor.kt new file mode 100644 index 000000000000..76d6f1e111c1 --- /dev/null +++ b/plugins/markdown/core/src/org/intellij/plugins/markdown/extensions/ExtensionSearchableOptionContributor.kt @@ -0,0 +1,29 @@ +package org.intellij.plugins.markdown.extensions + +import com.intellij.ide.ui.search.SearchableOptionContributor +import com.intellij.ide.ui.search.SearchableOptionProcessor +import org.intellij.plugins.markdown.MarkdownBundle +import org.intellij.plugins.markdown.settings.MarkdownSettingsConfigurable +import org.jetbrains.annotations.Nls + +internal class ExtensionSearchableOptionContributor: SearchableOptionContributor() { + override fun processOptions(processor: SearchableOptionProcessor) { + val extensions = MarkdownExtensionsUtil.collectConfigurableExtensions(enabledOnly = false) + for (extension in extensions) { + processor.addExtensionOption(extension.displayName) + } + } + + companion object { + private fun SearchableOptionProcessor.addExtensionOption(extensionDisplayName: @Nls String) { + addOptions( + extensionDisplayName, + null, + MarkdownBundle.message("markdown.settings.extension.enable.searchable.option.text", extensionDisplayName), + MarkdownSettingsConfigurable.ID, + MarkdownBundle.message("markdown.settings.name"), + false + ) + } + } +} diff --git a/plugins/markdown/resources/META-INF/plugin.xml b/plugins/markdown/resources/META-INF/plugin.xml index 4c49c73e82b3..3e5e43411992 100644 --- a/plugins/markdown/resources/META-INF/plugin.xml +++ b/plugins/markdown/resources/META-INF/plugin.xml @@ -160,6 +160,7 @@ Includes the following features:

+