Refactor KotlinScriptDefinitionProvider access to scriptDefinitions
This commit is contained in:
@@ -137,9 +137,7 @@ class KotlinCoreEnvironment private constructor(
|
||||
}
|
||||
})
|
||||
|
||||
KotlinScriptDefinitionProvider.getInstance(project).setScriptDefinitions(
|
||||
configuration.getList(JVMConfigurationKeys.SCRIPT_DEFINITIONS)
|
||||
)
|
||||
KotlinScriptDefinitionProvider.getInstance(project).scriptDefinitions = configuration.getList(JVMConfigurationKeys.SCRIPT_DEFINITIONS)
|
||||
|
||||
project.registerService(JvmVirtualFileFinderFactory::class.java, JvmCliVirtualFileFinderFactory(index))
|
||||
|
||||
|
||||
@@ -19,10 +19,19 @@ package org.jetbrains.kotlin.script
|
||||
import com.intellij.openapi.components.ServiceManager
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import java.util.*
|
||||
|
||||
class KotlinScriptDefinitionProvider {
|
||||
|
||||
private val definitions: MutableList<KotlinScriptDefinition> = arrayListOf(StandardScriptDefinition)
|
||||
|
||||
var scriptDefinitions: List<KotlinScriptDefinition>
|
||||
get() = definitions
|
||||
set(definitions: List<KotlinScriptDefinition>) {
|
||||
this.definitions.clear()
|
||||
this.definitions.addAll(definitions)
|
||||
}
|
||||
|
||||
fun findScriptDefinition(file: VirtualFile?): KotlinScriptDefinition? = file?.let { file -> definitions.firstOrNull { it.isScript(file) } }
|
||||
|
||||
fun isScript(file: VirtualFile?): Boolean = findScriptDefinition(file) != null
|
||||
@@ -31,11 +40,6 @@ class KotlinScriptDefinitionProvider {
|
||||
definitions.add(0, scriptDefinition)
|
||||
}
|
||||
|
||||
fun setScriptDefinitions(definitions: List<KotlinScriptDefinition>) {
|
||||
this.definitions.clear()
|
||||
this.definitions.addAll(definitions)
|
||||
}
|
||||
|
||||
fun removeScriptDefinition(scriptDefinition: KotlinScriptDefinition) {
|
||||
definitions.remove(scriptDefinition)
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ class KotlinScriptConfigurationManager(project: Project, scriptDefinitionProvide
|
||||
init {
|
||||
loadScriptDefinitionsFromDirectoryWithConfigs(File(project.basePath ?: "."), kotlinEnvVars).let {
|
||||
if (it.isNotEmpty()) {
|
||||
scriptDefinitionProvider.setScriptDefinitions(it + StandardScriptDefinition)
|
||||
scriptDefinitionProvider.scriptDefinitions = it + StandardScriptDefinition
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user