diff --git a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/ConfigurableLabelProvider.java b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/ConfigurableLabelProvider.java new file mode 100644 index 000000000000..2d845842cb07 --- /dev/null +++ b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/ConfigurableLabelProvider.java @@ -0,0 +1,13 @@ +// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.intellij.openapi.options.newEditor; + +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.Nls; +import org.jetbrains.annotations.Nullable; + +@ApiStatus.Internal +@ApiStatus.Experimental +public interface ConfigurableLabelProvider { + + @Nls @Nullable String getLabel(); +} diff --git a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/SettingsTreeView.java b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/SettingsTreeView.java index 1e9e968acdf9..a1445428ca89 100644 --- a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/SettingsTreeView.java +++ b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/SettingsTreeView.java @@ -653,6 +653,14 @@ public class SettingsTreeView extends JComponent implements Accessible, Disposab null; myNodeIcon.setIcon(nodeIcon); + if (configurable instanceof ConfigurableLabelProvider) { + String label = ((ConfigurableLabelProvider)configurable).getLabel(); + if (label != null) { + myTextLabel.append(" ", SimpleTextAttributes.REGULAR_ATTRIBUTES, false); + myTextLabel.append(label, SimpleTextAttributes.GRAYED_SMALL_ATTRIBUTES, false); + } + } + if (node != null && UISettings.getInstance().getShowInplaceCommentsInternal()) { ConfigurableWrapper wrapper = configurable instanceof ConfigurableWrapper ? ((ConfigurableWrapper)configurable) :