From 4661ab99612e0c4f461dc3e8dd028e53ecdc5917 Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Wed, 7 Nov 2018 11:34:48 +0300 Subject: [PATCH] Fix loading Kotlin Scripting options from kotlinScripting.xml ^KT-28046 Fixed --- .../core/script/settings/KotlinScriptingSettings.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/settings/KotlinScriptingSettings.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/settings/KotlinScriptingSettings.kt index 36f41e6b6ca..b73097da53f 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/settings/KotlinScriptingSettings.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/settings/KotlinScriptingSettings.kt @@ -59,10 +59,12 @@ class KotlinScriptingSettings : PersistentStateComponent { } 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 { 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)