diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/ScriptExternalHighlightingPass.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/ScriptExternalHighlightingPass.kt index b28e68a14d1..28a78968c5b 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/ScriptExternalHighlightingPass.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/ScriptExternalHighlightingPass.kt @@ -38,8 +38,10 @@ import com.intellij.psi.PsiFile import com.intellij.util.ui.UIUtil import org.jetbrains.kotlin.idea.core.script.IdeScriptReportSink import org.jetbrains.kotlin.idea.core.script.ScriptDefinitionsManager +import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesManager import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesUpdater import org.jetbrains.kotlin.psi.KtFile +import kotlin.script.experimental.dependencies.ScriptDependencies import kotlin.script.experimental.dependencies.ScriptReport class ScriptExternalHighlightingPass( @@ -60,12 +62,14 @@ class ScriptExternalHighlightingPass( ) } - // show notification only for async resolvers, for others file analysis is in progress until all dependencies are ready - if (!ScriptDependenciesUpdater.areDependenciesCached(file) && ScriptDependenciesUpdater.isAsyncDependencyResolver(file)) { - showNotification( - file, - "Highlighting in scripts is not available until all Script Dependencies are loaded" - ) + if (!ScriptDependenciesUpdater.areDependenciesCached(file)) { + val scriptDependencies = ScriptDependenciesManager.getInstance(file.project).getScriptDependencies(file.virtualFile) + if (scriptDependencies == ScriptDependencies.Empty) { + showNotification( + file, + "Highlighting in scripts is not available until all Script Dependencies are loaded" + ) + } } val reports = file.virtualFile.getUserData(IdeScriptReportSink.Reports) ?: return