package jetbrains.mps.ide.vcs; /*Generated by MPS */ import com.intellij.openapi.vcs.impl.BasicDefaultVcsRootPolicy; import com.intellij.openapi.project.Project; import org.jetbrains.annotations.NotNull; import java.util.Collection; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vcs.ProjectLevelVcsManager; import jetbrains.mps.internal.collections.runtime.Sequence; import jetbrains.mps.internal.collections.runtime.ISelector; import com.intellij.openapi.vcs.VcsRoot; import com.intellij.platform.ProjectBaseDirectory; public class ExtendedDefaultVcsRootPolicy extends BasicDefaultVcsRootPolicy { private Project myProject; public ExtendedDefaultVcsRootPolicy(Project project) { super(project); myProject = project; } @NotNull @Override public Collection<VirtualFile> getDirtyRoots() { // TODO is it needed? ProjectLevelVcsManager manager = ProjectLevelVcsManager.getInstance(myProject); return Sequence.fromIterable(Sequence.fromArray(manager.getAllVcsRoots())).select(new ISelector<VcsRoot, VirtualFile>() { public VirtualFile select(VcsRoot it) { return it.getPath(); } }).toListSequence(); } @Override public boolean matchesDefaultMapping(VirtualFile file, Object matchContext) { if (ProjectBaseDirectory.getInstance(myProject).getBaseDir() == null) { // TODO is it needed? return false; } return super.matchesDefaultMapping(file, matchContext); } }