diff --git a/platform/editor-ui-ex/src/com/intellij/openapi/editor/ex/util/EditorActionAvailabilityHint.kt b/platform/editor-ui-ex/src/com/intellij/openapi/editor/ex/util/EditorActionAvailabilityHint.kt index 835d9e3451a0..b2018f2227d3 100644 --- a/platform/editor-ui-ex/src/com/intellij/openapi/editor/ex/util/EditorActionAvailabilityHint.kt +++ b/platform/editor-ui-ex/src/com/intellij/openapi/editor/ex/util/EditorActionAvailabilityHint.kt @@ -161,10 +161,14 @@ private fun UserDataHolderEx.addActionAvailabilityHintImpl(vararg newHints: Edit putUserDataIfAbsent(hintsKey, hints) } for (newHint in newHints) { - if (hints.any { it.actionId == newHint.actionId }) { - logger.error("Availability hint for action '${newHint.actionId}' already exists") - return + val existingHint = hints.find { it.actionId == newHint.actionId } + if (existingHint != null) { + if (existingHint.condition != newHint.condition) { + logger.error("Availability hint for action '${newHint.actionId}' already exists") + } + continue } + hints.add(newHint) } }