in plugin-bazel/src/main/kotlin/org/jetbrains/bazel/ui/notifications/BuildAndResyncOnUnresolvedImportNotificationsProvider.kt [33:53]
override fun collectNotificationData(project: Project, file: VirtualFile): Function<in FileEditor, out JComponent?>? {
if (!project.isBazelProject) return null
if (file in disableNotificationForFile) return null
if (project.isSyncInProgress()) return null
if (BazelFeatureFlags.isBuildProjectOnSyncEnabled) return null
if (!project.service<IncompleteDependenciesService>().getState().isComplete) return null
val dumbService = DumbService.getInstance(project)
if (dumbService.isDumb) {
dumbService.runWhenSmart {
EditorNotifications.getInstance(project).updateAllNotifications()
}
return null
}
if (!hasUnresolvedImport(project, file)) return null
return Function { editor ->
BuildAndResyncOnUnresolvedImportEditorPanel(project, editor)
}
}