diff --git a/platform/searchEverywhere/backend/src/providers/target/SeTargetsProviderDelegate.kt b/platform/searchEverywhere/backend/src/providers/target/SeTargetsProviderDelegate.kt index d2abb8fec358..684293729a61 100644 --- a/platform/searchEverywhere/backend/src/providers/target/SeTargetsProviderDelegate.kt +++ b/platform/searchEverywhere/backend/src/providers/target/SeTargetsProviderDelegate.kt @@ -65,7 +65,7 @@ class SeTargetsProviderDelegate(private val contributorWrapper: SeAsyncWeightedC val weight = t.weight val legacyItem = t.item as? ItemWithPresentation<*> ?: return true val matchers = (contributorWrapper.contributor as? PSIPresentationBgRendererWrapper) - ?.getNonComponentItemMatchers({ _ -> defaultMatchers }, t.item) + ?.getNonComponentItemMatchers({ _ -> defaultMatchers }, legacyItem.getItem()) return collector.put(SeTargetItem(legacyItem, matchers, weight, contributorWrapper.contributor, getExtendedDescription(legacyItem))) } diff --git a/platform/searchEverywhere/shared/src/SeItemPresentation.kt b/platform/searchEverywhere/shared/src/SeItemPresentation.kt index 21ccf6f88588..371ff86f647b 100644 --- a/platform/searchEverywhere/shared/src/SeItemPresentation.kt +++ b/platform/searchEverywhere/shared/src/SeItemPresentation.kt @@ -144,7 +144,7 @@ class SeTargetItemPresentation( SeTargetItemPresentation(backgroundColorId = tp.backgroundColor?.rpcId(), iconId = tp.icon?.rpcId(), presentableText = tp.presentableText, - presentableTextMatchedRanges = matchers?.calcMatchedRanges(tp.presentableText), + presentableTextMatchedRanges = (matchers?.nameMatcher as? MinusculeMatcher)?.calcMatchedRanges(tp.presentableText), presentableTextFgColorId = tp.presentableTextAttributes?.foregroundColor?.rpcId(), presentableTextErrorHighlight = tp.presentableTextAttributes?.let { attrs -> val simpleAttrs = SimpleTextAttributes.fromTextAttributes(attrs) @@ -155,14 +155,14 @@ class SeTargetItemPresentation( attrs.additionalEffects?.contains(EffectType.STRIKEOUT) == true } == true, containerText = tp.containerText, - containerTextMatchedRanges = matchers?.calcMatchedRanges(tp.containerText), + containerTextMatchedRanges = (matchers?.locationMatcher as? MinusculeMatcher)?.calcMatchedRanges(tp.containerText), locationText = tp.locationText, locationIconId = tp.locationIcon?.rpcId(), extendedDescription = extendedDescription) - private fun ItemMatchers.calcMatchedRanges(text: String?): List? { + private fun MinusculeMatcher.calcMatchedRanges(text: String?): List? { text ?: return null - return (nameMatcher as? MinusculeMatcher)?.matchingFragments(text)?.map { SerializableRange(it) } + return matchingFragments(text)?.map { SerializableRange(it) } } } }