mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 14:23:28 +07:00
[kotlin] Gradle kts files are non standalone runnable scripts
#KTIJ-16451 Fixed GitOrigin-RevId: 31ad9e9aa396a8c92d1431cd4d8861e1f1a94e5f
This commit is contained in:
committed by
intellij-monorepo-bot
parent
1df10af0b5
commit
6b9e287b98
@@ -67,6 +67,12 @@ fun compilerAllowsAnyScriptsInSourceRoots(project: Project): Boolean {
|
||||
return additionalSettings.additionalArguments.contains("-Xallow-any-scripts-in-source-roots")
|
||||
}
|
||||
|
||||
@ApiStatus.Internal
|
||||
fun VirtualFile.isRunnableKotlinScript(project: Project): Boolean {
|
||||
if (nameSequence.endsWith(".gradle.kts")) return false
|
||||
return isStandaloneKotlinScript(project)
|
||||
}
|
||||
|
||||
@ApiStatus.Internal
|
||||
fun VirtualFile.isStandaloneKotlinScript(project: Project): Boolean {
|
||||
val ktFile = (toPsiFile(project) as? KtFile)?.takeIf(KtFile::isScript) ?: return false
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.intellij.execution.actions.LazyRunConfigurationProducer
|
||||
import com.intellij.execution.configurations.ConfigurationFactory
|
||||
import com.intellij.openapi.util.Ref
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.idea.isRunnableKotlinScript
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
||||
|
||||
@@ -36,7 +37,7 @@ class KotlinStandaloneScriptRunConfigurationProducer :
|
||||
fun pathFromPsiElement(element: PsiElement): String? {
|
||||
val file = element.getParentOfType<KtFile>(false) ?: return null
|
||||
val script = file.script ?: return null
|
||||
return script.containingKtFile.virtualFile.canonicalPath
|
||||
return script.containingKtFile.virtualFile.takeIf { it.isRunnableKotlinScript(file.project) }?.canonicalPath
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user