package com.jetbrains.lang.dart.projectView; import com.intellij.ide.projectView.PresentationData; import com.intellij.ide.projectView.ProjectViewNode; import com.intellij.ide.projectView.ProjectViewNodeDecorator; import com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode; import com.intellij.ide.projectView.impl.nodes.PsiFileNode; import com.intellij.openapi.editor.colors.CodeInsightColors; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.packageDependencies.ui.PackageDependenciesNode; import com.intellij.ui.ColoredTreeCellRenderer; import com.jetbrains.lang.dart.analyzer.DartAnalysisServerService; import org.jetbrains.annotations.NotNull; public class DartNodeDecorator implements ProjectViewNodeDecorator { @Override public void decorate(@NotNull final ProjectViewNode node, @NotNull final PresentationData presentation) { if (node instanceof PsiFileNode || node instanceof PsiDirectoryNode) { final VirtualFile nodeFile = node.getVirtualFile(); final Project project = node.getProject(); if (nodeFile != null && project != null && DartAnalysisServerService.getInstance(project).isFileWithErrors(nodeFile)) { presentation.setAttributesKey(CodeInsightColors.ERRORS_ATTRIBUTES); } } } @Override public void decorate(@NotNull final PackageDependenciesNode node, @NotNull final ColoredTreeCellRenderer cellRenderer) { } }