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:
Mikhail Zarechenskiy
2016-09-12 01:24:18 +03:00
parent d69e7c7aec
commit 0ba2d374bc
14 changed files with 39 additions and 39 deletions
@@ -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