diff --git a/plugins/kotlin/base/scripting/src/org/jetbrains/kotlin/idea/core/script/k2/MainKtsScriptConfigurationProvider.kt b/plugins/kotlin/base/scripting/src/org/jetbrains/kotlin/idea/core/script/k2/MainKtsScriptConfigurationProvider.kt index bfebc4349aca..d2ac58fcf497 100644 --- a/plugins/kotlin/base/scripting/src/org/jetbrains/kotlin/idea/core/script/k2/MainKtsScriptConfigurationProvider.kt +++ b/plugins/kotlin/base/scripting/src/org/jetbrains/kotlin/idea/core/script/k2/MainKtsScriptConfigurationProvider.kt @@ -48,9 +48,7 @@ class MainKtsScriptConfigurationProvider(val project: Project, val coroutineScop override suspend fun create(virtualFile: VirtualFile, definition: ScriptDefinition): ScriptConfigurationWithSdk? { val ktFile = readAction { virtualFile.toPsiFile(project) as? KtFile } ?: return null val hasNoDependencies = readAction { ktFile.hasNoDependencies() } - if (hasNoDependencies) { - createNoDependenciesConfiguration(virtualFile) - } else if (ktFile.dependenciesExistLocally()) { + if (hasNoDependencies || ktFile.dependenciesExistLocally()) { refineConfiguration(virtualFile) } diff --git a/plugins/kotlin/highlighting/highlighting-k2/test/org/jetbrains/kotlin/idea/k2/highlighting/AbstractK2ScriptHighlightingTest.kt b/plugins/kotlin/highlighting/highlighting-k2/test/org/jetbrains/kotlin/idea/k2/highlighting/AbstractK2ScriptHighlightingTest.kt index 68e6bdc988ac..6ff7f20d7e33 100644 --- a/plugins/kotlin/highlighting/highlighting-k2/test/org/jetbrains/kotlin/idea/k2/highlighting/AbstractK2ScriptHighlightingTest.kt +++ b/plugins/kotlin/highlighting/highlighting-k2/test/org/jetbrains/kotlin/idea/k2/highlighting/AbstractK2ScriptHighlightingTest.kt @@ -2,7 +2,6 @@ package org.jetbrains.kotlin.idea.k2.highlighting import com.intellij.codeInsight.daemon.impl.EditorTracker -import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess import com.intellij.psi.PsiFile import com.intellij.testFramework.GlobalState @@ -20,9 +19,7 @@ import org.jetbrains.kotlin.idea.test.setUpWithKotlinPlugin import org.jetbrains.kotlin.psi.KtFile abstract class AbstractK2ScriptHighlightingTest : AbstractHighlightingMetaInfoTest() { - override fun doMultiFileTest( - files: List, globalDirectives: Directives - ) { + override fun doMultiFileTest(files: List, globalDirectives: Directives) { runBlocking { DefaultScriptResolutionStrategy.getInstance(project).execute(*(files.mapNotNull { it as? KtFile }.toTypedArray())).join() } @@ -30,10 +27,6 @@ abstract class AbstractK2ScriptHighlightingTest : AbstractHighlightingMetaInfoTe super.doMultiFileTest(files, globalDirectives) } - override fun getProject(): Project { - return super.getProject() - } - override fun runInDispatchThread(): Boolean = false override fun setUp() { diff --git a/plugins/kotlin/highlighting/highlighting-k2/test/org/jetbrains/kotlin/idea/k2/highlighting/K2MainKtsHighlightingTestGenerated.java b/plugins/kotlin/highlighting/highlighting-k2/test/org/jetbrains/kotlin/idea/k2/highlighting/K2MainKtsHighlightingTestGenerated.java index f1caa8a9f7a6..1ecc1f089583 100644 --- a/plugins/kotlin/highlighting/highlighting-k2/test/org/jetbrains/kotlin/idea/k2/highlighting/K2MainKtsHighlightingTestGenerated.java +++ b/plugins/kotlin/highlighting/highlighting-k2/test/org/jetbrains/kotlin/idea/k2/highlighting/K2MainKtsHighlightingTestGenerated.java @@ -34,4 +34,9 @@ public class K2MainKtsHighlightingTestGenerated extends AbstractK2MainKtsHighlig public void testDefinitionDependencies() throws Exception { runTest("../../idea/tests/testData/mainKts/definitionDependencies.main.kts"); } + + @TestMetadata("fileName.main.kts") + public void testFileName() throws Exception { + runTest("../../idea/tests/testData/mainKts/fileName.main.kts"); + } } diff --git a/plugins/kotlin/idea/tests/testData/mainKts/definitionDependencies.main.kts b/plugins/kotlin/idea/tests/testData/mainKts/definitionDependencies.main.kts index 95403051bcbe..d69bcf155662 100644 --- a/plugins/kotlin/idea/tests/testData/mainKts/definitionDependencies.main.kts +++ b/plugins/kotlin/idea/tests/testData/mainKts/definitionDependencies.main.kts @@ -1,10 +1,6 @@ // CHECK_SYMBOL_NAMES // HIGHLIGHTER_ATTRIBUTES_KEY -import kotlin.reflect.KClass +listOf(DependsOn::class, Repository::class, Import::class, CompilerOptions::class, ScriptFileLocation::class) -fun mainKtsDefaultImports(): List> { - return listOf(DependsOn::class, Repository::class, Import::class, CompilerOptions::class, ScriptFileLocation::class) -} - -println(mainKtsDefaultImports()) \ No newline at end of file +println("Hello from ${__FILE__.path}") \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/mainKts/definitionDependencies.main.kts.highlighting b/plugins/kotlin/idea/tests/testData/mainKts/definitionDependencies.main.kts.highlighting index 5d090595cfb6..cad64241029d 100644 --- a/plugins/kotlin/idea/tests/testData/mainKts/definitionDependencies.main.kts.highlighting +++ b/plugins/kotlin/idea/tests/testData/mainKts/definitionDependencies.main.kts.highlighting @@ -1,10 +1,6 @@ // CHECK_SYMBOL_NAMES // HIGHLIGHTER_ATTRIBUTES_KEY -import kotlin.reflect.KClass +listOf(DependsOn::class, Repository::class, Import::class, CompilerOptions::class, ScriptFileLocation::class) -fun mainKtsDefaultImports(): List<KClass<out Annotation>> { - return listOf(DependsOn::class, Repository::class, Import::class, CompilerOptions::class, ScriptFileLocation::class) -} - -println(mainKtsDefaultImports()) +println("Hello from ${__FILE__.path}") diff --git a/plugins/kotlin/idea/tests/testData/mainKts/fileName.main.kts b/plugins/kotlin/idea/tests/testData/mainKts/fileName.main.kts new file mode 100755 index 000000000000..ab5cc86f4da5 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/mainKts/fileName.main.kts @@ -0,0 +1,8 @@ +// CHECK_SYMBOL_NAMES +// HIGHLIGHTER_ATTRIBUTES_KEY +// ALLOW_ERRORS + +@file:ScriptFileLocation("MY_CUSTOM_LOCATION") + +println("Hello from ${MY_CUSTOM_LOCATION.path}") +println("I'm not $__FILE__") //error diff --git a/plugins/kotlin/idea/tests/testData/mainKts/fileName.main.kts.highlighting b/plugins/kotlin/idea/tests/testData/mainKts/fileName.main.kts.highlighting new file mode 100644 index 000000000000..b53c6004f90e --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/mainKts/fileName.main.kts.highlighting @@ -0,0 +1,8 @@ +// CHECK_SYMBOL_NAMES +// HIGHLIGHTER_ATTRIBUTES_KEY +// ALLOW_ERRORS + +@file:ScriptFileLocation("MY_CUSTOM_LOCATION") + +println("Hello from ${MY_CUSTOM_LOCATION.path}") +println("I'm not $__FILE__") //error