From f5c0954ed9b3e4ba86517523af2296155d619c8f Mon Sep 17 00:00:00 2001 From: Ilya Muradyan Date: Fri, 4 Jul 2025 05:57:11 +0200 Subject: [PATCH] KTNB-1046: Fix the "introduce variable" intention in scripts GitOrigin-RevId: 6144ae3ae08247059112ad439256f07d47c5766a --- .../intentions/shared/IntroduceVariableIntention.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/kotlin/code-insight/intentions-shared/src/org/jetbrains/kotlin/idea/codeInsight/intentions/shared/IntroduceVariableIntention.kt b/plugins/kotlin/code-insight/intentions-shared/src/org/jetbrains/kotlin/idea/codeInsight/intentions/shared/IntroduceVariableIntention.kt index 06f0c4d9a99a..1d3ef5bd451a 100644 --- a/plugins/kotlin/code-insight/intentions-shared/src/org/jetbrains/kotlin/idea/codeInsight/intentions/shared/IntroduceVariableIntention.kt +++ b/plugins/kotlin/code-insight/intentions-shared/src/org/jetbrains/kotlin/idea/codeInsight/intentions/shared/IntroduceVariableIntention.kt @@ -20,6 +20,7 @@ import org.jetbrains.kotlin.idea.refactoring.introduce.KotlinIntroduceVariableHa import org.jetbrains.kotlin.psi.KtBlockExpression import org.jetbrains.kotlin.psi.KtDeclarationWithBody import org.jetbrains.kotlin.psi.KtExpression +import org.jetbrains.kotlin.psi.KtScriptInitializer import org.jetbrains.kotlin.psi.KtStatementExpression import org.jetbrains.kotlin.psi.psiUtil.parentsWithSelf import org.jetbrains.kotlin.psi.psiUtil.siblings @@ -35,7 +36,7 @@ class IntroduceVariableIntention : SelfTargetingIntention( .takeWhile { it !is KtDeclarationWithBody && it !is KtStatementExpression } .firstOrNull { val parent = it.parent - parent is KtBlockExpression || parent is KtDeclarationWithBody && !parent.hasBlockBody() && parent.bodyExpression == it + parent is KtBlockExpression || parent is KtScriptInitializer || parent is KtDeclarationWithBody && !parent.hasBlockBody() && parent.bodyExpression == it } }