Show notification if there are more than one script definition applicable for one script file (KT-24466)

^KT-24466 Fixed
This commit is contained in:
Natalia Selezneva
2018-07-31 10:06:34 +03:00
parent 99e1d4ab45
commit 02c1ae62c3
10 changed files with 116 additions and 0 deletions
@@ -124,6 +124,8 @@ class ScriptDefinitionsManager(private val project: Project) : LazyScriptDefinit
updateDefinitions()
}
fun getAllDefinitions() = currentDefinitions
override fun getDefaultScriptDefinition(): KotlinScriptDefinition {
return StandardIdeScriptDefinition(project)
}
@@ -154,6 +156,12 @@ class ScriptDefinitionsManager(private val project: Project) : LazyScriptDefinit
// TODO: clear by script type/definition
ServiceManager.getService(project, ScriptDependenciesCache::class.java).clear()
ApplicationManager.getApplication().invokeLater {
if (!project.isDisposed) {
EditorNotifications.getInstance(project).updateAllNotifications()
}
}
}
private fun ScriptDefinitionContributor.safeGetDefinitions(): List<KotlinScriptDefinition> {
@@ -19,6 +19,11 @@ import com.intellij.util.xmlb.XmlSerializerUtil
class KotlinScriptingSettings : PersistentStateComponent<KotlinScriptingSettings> {
var isAutoReloadEnabled = false
/**
* true if notification about multiple script definition applicable for one script file is suppressed
*/
var suppressDefinitionsCheck = false
override fun loadState(state: KotlinScriptingSettings) {
XmlSerializerUtil.copyBean(state, this)
}