diff --git a/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinRainbowVisitor.kt b/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinRainbowVisitor.kt index 08a94ad1659..ce7c98b83f0 100644 --- a/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinRainbowVisitor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinRainbowVisitor.kt @@ -93,8 +93,10 @@ class KotlinRainbowVisitor : RainbowVisitor() { addInfo(getInfo(context, rainbowElement, rainbowElement.text, attributesKeyToUse)) } - private fun PsiElement?.isRainbowDeclaration() = - (this is KtProperty && isLocal) || (this is KtParameter && getStrictParentOfType() == null) + private fun PsiElement?.isRainbowDeclaration(): Boolean = + (this is KtProperty && isLocal) || + (this is KtParameter && getStrictParentOfType() == null) || + this is KtDestructuringDeclarationEntry } private fun PsiElement.isAnonymousFunction(): Boolean = this is KtNamedFunction && nameIdentifier == null diff --git a/idea/tests/org/jetbrains/kotlin/idea/highlighter/KotlinRainbowHighlighterTest.kt b/idea/tests/org/jetbrains/kotlin/idea/highlighter/KotlinRainbowHighlighterTest.kt index 823e9fed158..8875983355b 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/highlighter/KotlinRainbowHighlighterTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/highlighter/KotlinRainbowHighlighterTest.kt @@ -70,7 +70,17 @@ class KotlinRainbowHighlighterTest : KotlinLightCodeInsightFixtureTestCase() { System.out.println(foo) } """) + } + fun testDestructuring() { + checkRainbow(""" + fun foo() { + val (a, b) = 1 to 2 + + println(a) + println(b) + } + """) } private fun checkRainbow(code: String) {