boolean (@NotNull Project project, @NotNull VirtualFile file) { final VirtualFile archiveFile; if(file.getFileSystem() instanceof ArchiveFileSystem) archiveFile = ((ArchiveFileSystem)file.getFileSystem()).getLocalByEntry(file); else archiveFile = null; ProjectFileIndex index = ProjectRootManager.getInstance(project).getFileIndex(); return (archiveFile != null && index.getContentRootForFile(archiveFile, false) != null) || index.getContentRootForFile(file, false) != null || index.isInLibrary(file) || Comparing.equal(file.getParent(), project.getBaseDir()) || (ScratchUtil.isScratch(file) && ProjectView.getInstance(project).isShowScratchesAndConsoles(ID)); }