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