From b503b29c510e834eb61edfd28408db96a6f8db9e Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Tue, 18 Jun 2019 11:20:12 +0300 Subject: [PATCH] Report exception from script definition loading to third party plugin if it's present --- .../idea/core/script/ScriptDefinitionsManager.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDefinitionsManager.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDefinitionsManager.kt index e520f1f005e..7cbc01f3046 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDefinitionsManager.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDefinitionsManager.kt @@ -16,7 +16,9 @@ package org.jetbrains.kotlin.idea.core.script +import com.intellij.diagnostic.PluginException import com.intellij.execution.console.IdeConsoleRootType +import com.intellij.ide.plugins.PluginManagerCore import com.intellij.ide.scratch.ScratchFileService import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.application.runWriteAction @@ -259,7 +261,13 @@ fun loadDefinitionsFromTemplates( LOG.warn("[kts] cannot load script definition class $templateClassName") null } catch (e: Throwable) { - LOG.error("[kts] cannot load script definition class $templateClassName", e) + val message = "[kts] cannot load script definition class $templateClassName" + val thirdPartyPlugin = PluginManagerCore.getPluginByClassName(templateClassName) + if (thirdPartyPlugin != null) { + LOG.error(PluginException(message, e, thirdPartyPlugin)) + } else { + LOG.error(message, e) + } null } }