Create standard script definition from standard template
Now each script without specified template has a StandardSriptTemplate class as a base one. This allows to generalize script codegen and resolve.
This commit is contained in:
+8
@@ -23,11 +23,19 @@ import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.idea.core.script.KotlinScriptConfigurationManager
|
||||
import org.jetbrains.kotlin.script.KotlinConfigurableScriptDefinition
|
||||
import org.jetbrains.kotlin.script.KotlinScriptDefinitionFromTemplate
|
||||
import org.jetbrains.kotlin.script.StandardScriptDefinition
|
||||
import org.jetbrains.kotlin.script.getScriptDefinition
|
||||
import kotlin.script.StandardScriptTemplate
|
||||
|
||||
class KotlinScriptResolveScopeProvider : ResolveScopeProvider() {
|
||||
override fun getResolveScope(file: VirtualFile, project: Project): GlobalSearchScope? {
|
||||
val scriptDefinition = getScriptDefinition(file, project) ?: return null
|
||||
|
||||
// This is a workaround for completion in scripts and REPL to provide module dependencies
|
||||
if (scriptDefinition == StandardScriptDefinition || scriptDefinition.template == Any::class) {
|
||||
return null
|
||||
}
|
||||
|
||||
// TODO: this should get this particular scripts dependencies
|
||||
if (scriptDefinition is KotlinConfigurableScriptDefinition || scriptDefinition is KotlinScriptDefinitionFromTemplate) {
|
||||
// TODO: should include the file itself
|
||||
|
||||
Reference in New Issue
Block a user