Fix loading Kotlin Scripting options from kotlinScripting.xml

^KT-28046 Fixed
This commit is contained in:
Natalia Selezneva
2018-11-07 11:34:48 +03:00
parent da71a35187
commit 4661ab9961
@@ -59,10 +59,12 @@ class KotlinScriptingSettings : PersistentStateComponent<Element> {
}
override fun loadState(state: Element) {
isAutoReloadEnabled =
state.getAttributeBooleanValue(KotlinScriptingSettings::isAutoReloadEnabled.name)
suppressDefinitionsCheck =
state.getAttributeBooleanValue(KotlinScriptingSettings::suppressDefinitionsCheck.name)
state.getOptionTag(KotlinScriptingSettings::isAutoReloadEnabled.name)?.let {
isAutoReloadEnabled = it
}
state.getOptionTag(KotlinScriptingSettings::suppressDefinitionsCheck.name)?.let {
suppressDefinitionsCheck = it
}
val scriptDefinitionsList = state.getChildren(SCRIPT_DEFINITION_TAG)
for (scriptDefinitionElement in scriptDefinitionsList) {
@@ -124,6 +126,9 @@ class KotlinScriptingSettings : PersistentStateComponent<Element> {
return KotlinScriptDefinitionValue(order, isEnabled)
}
private fun Element.getOptionTag(name: String) =
getChildren("option").firstOrNull { it.getAttribute("name").value == name }?.getAttributeBooleanValue("value")
companion object {
fun getInstance(project: Project): KotlinScriptingSettings =
ServiceManager.getService(project, KotlinScriptingSettings::class.java)