Example usage for com.intellij.openapi.fileTypes FileTypeManager isFileIgnored

List of usage examples for com.intellij.openapi.fileTypes FileTypeManager isFileIgnored

Introduction

In this page you can find the example usage for com.intellij.openapi.fileTypes FileTypeManager isFileIgnored.

Prototype

public abstract boolean isFileIgnored(@NonNls @NotNull String name);

Source Link

Document

Checks if the specified file is ignored by the IDE.

Usage

From source file:bazaar4idea.BzrVcs.java

License:Apache License

private static void fixIgnoreList() {
    ApplicationManager.getApplication().runWriteAction(new Runnable() {
        public void run() {
            FileTypeManager fileTypeMgr = FileTypeManager.getInstance();
            if (!fileTypeMgr.isFileIgnored(BzrUtil.DOT_BZR)) {
                String ignoredList = fileTypeMgr.getIgnoredFilesList();
                StringBuffer newList = new StringBuffer(ignoredList);
                if (!ignoredList.endsWith(";"))
                    newList.append(';');
                newList.append(BzrUtil.DOT_BZR);
                fileTypeMgr.setIgnoredFilesList(newList.toString());
            }/*  ww  w .ja  va  2s. com*/
        }
    });
}

From source file:com.intellij.codeStyle.AbstractConvertLineSeparatorsAction.java

License:Apache License

@Override
public void actionPerformed(AnActionEvent event) {
    final DataContext dataContext = event.getDataContext();
    final Project project = CommonDataKeys.PROJECT.getData(dataContext);
    if (project == null) {
        return;/*from  w  ww .ja v a 2s  .c  om*/
    }

    final VirtualFile[] virtualFiles = PlatformDataKeys.VIRTUAL_FILE_ARRAY.getData(dataContext);
    if (virtualFiles == null) {
        return;
    }

    final VirtualFile projectVirtualDirectory;
    VirtualFile projectBaseDir = project.getBaseDir();
    if (projectBaseDir != null && projectBaseDir.isDirectory()) {
        projectVirtualDirectory = projectBaseDir.findChild(Project.DIRECTORY_STORE_FOLDER);
    } else {
        projectVirtualDirectory = null;
    }

    final FileTypeManager fileTypeManager = FileTypeManager.getInstance();
    for (VirtualFile file : virtualFiles) {
        VfsUtil.processFilesRecursively(file, new Processor<VirtualFile>() {
            @Override
            public boolean process(VirtualFile file) {
                if (shouldProcess(file, project)) {
                    changeLineSeparators(project, file, mySeparator);
                }
                return true;
            }
        }, new Convertor<VirtualFile, Boolean>() {
            @Override
            public Boolean convert(VirtualFile dir) {
                return !dir.equals(projectVirtualDirectory) && !fileTypeManager.isFileIgnored(dir.getName()); // Exclude files like '.git'
            }
        });
    }
}

From source file:com.intellij.compiler.impl.packagingCompiler.IgnoredFileFilter.java

License:Apache License

@Override
public boolean accept(File file) {
    final FileTypeManager fileTypeManager = FileTypeManager.getInstance();
    final String name = file.getName();
    return !fileTypeManager.isFileIgnored(name);
}

From source file:com.intellij.compiler.impl.TranslatingCompilerFilesMonitorImpl.java

License:Apache License

private static void processRecursively(VirtualFile file, final boolean dbOnly, final FileProcessor processor) {
    if (!(file.getFileSystem() instanceof LocalFileSystem)) {
        return;// ww  w .j a v a  2 s .  co  m
    }

    final FileTypeManager fileTypeManager = FileTypeManager.getInstance();
    VfsUtilCore.visitChildrenRecursively(file, new VirtualFileVisitor() {
        @NotNull
        @Override
        public Result visitFileEx(@NotNull VirtualFile file) {
            if (fileTypeManager.isFileIgnored(file)) {
                return SKIP_CHILDREN;
            }

            if (!file.isDirectory()) {
                processor.execute(file);
            }
            return CONTINUE;
        }

        @Nullable
        @Override
        public Iterable<VirtualFile> getChildrenIterable(@NotNull VirtualFile file) {
            return file.isDirectory() && dbOnly ? ((NewVirtualFile) file).iterInDbChildren() : null;
        }
    });
}

From source file:com.intellij.compiler.impl.TranslatingCompilerFilesMonitorImpl.java

License:Apache License

@Override
public void scanSourceContent(final ProjectRef projRef, final Collection<VirtualFile> roots,
        final int totalRootCount, final boolean isNewRoots) {
    if (roots.isEmpty()) {
        return;/*  w  w w  .j  a v  a 2s .  co  m*/
    }
    final int projectId = getProjectId(projRef.get());
    if (LOG.isDebugEnabled()) {
        LOG.debug("Scanning source content for project projectId=" + projectId + "; url="
                + projRef.get().getPresentableUrl());
    }

    final ProjectFileIndex fileIndex = ProjectRootManager.getInstance(projRef.get()).getFileIndex();
    final ProgressIndicator indicator = ProgressManager.getInstance().getProgressIndicator();
    int processed = 0;
    for (VirtualFile srcRoot : roots) {
        if (indicator != null) {
            projRef.get();
            indicator.setText2(srcRoot.getPresentableUrl());
            indicator.setFraction(++processed / (double) totalRootCount);
        }
        if (isNewRoots) {
            fileIndex.iterateContentUnderDirectory(srcRoot, new ContentIterator() {
                @Override
                public boolean processFile(final VirtualFile file) {
                    if (!file.isDirectory()) {
                        if (!isMarkedForRecompilation(projectId, Math.abs(getFileId(file)))) {
                            final SourceFileInfo srcInfo = loadSourceInfo(file);
                            if (srcInfo == null || srcInfo.getTimestamp(projectId) != file.getTimeStamp()) {
                                addSourceForRecompilation(projectId, file, srcInfo);
                            }
                        }
                    } else {
                        projRef.get();
                    }
                    return true;
                }
            });
        } else {
            final FileTypeManager fileTypeManager = FileTypeManager.getInstance();
            VfsUtilCore.visitChildrenRecursively(srcRoot, new VirtualFileVisitor() {
                @Override
                public boolean visitFile(@NotNull VirtualFile file) {
                    if (fileTypeManager.isFileIgnored(file)) {
                        return false;
                    }
                    final int fileId = getFileId(file);
                    if (fileId > 0 /*file is valid*/) {
                        if (file.isDirectory()) {
                            projRef.get();
                        } else if (!isMarkedForRecompilation(projectId, fileId)) {
                            final SourceFileInfo srcInfo = loadSourceInfo(file);
                            if (srcInfo != null) {
                                addSourceForRecompilation(projectId, file, srcInfo);
                            }
                        }
                    }
                    return true;
                }
            });
        }
    }
}

From source file:com.intellij.compiler.impl.TranslatingCompilerFilesMonitorImpl.java

License:Apache License

private boolean isIgnoredOrUnderIgnoredDirectory(final VirtualFile file) {
    FileTypeManager fileTypeManager = FileTypeManager.getInstance();
    if (fileTypeManager.isFileIgnored(file)) {
        return true;
    }/*from ww  w. ja  v  a 2s  .c o m*/

    //optimization: if file is in content of some project it's definitely not ignored
    boolean isInContent = ApplicationManager.getApplication().runReadAction(new Computable<Boolean>() {
        @Override
        public Boolean compute() {
            for (Project project : myProjectManager.getOpenProjects()) {
                if (project.isInitialized()
                        && ProjectRootManager.getInstance(project).getFileIndex().isInContent(file)) {
                    return true;
                }
            }
            return false;
        }
    });
    if (isInContent) {
        return false;
    }

    VirtualFile current = file.getParent();
    while (current != null) {
        if (fileTypeManager.isFileIgnored(current)) {
            return true;
        }
        current = current.getParent();
    }
    return false;
}

From source file:com.intellij.find.impl.FindInProjectTask.java

License:Apache License

private static boolean iterateAll(@NotNull VirtualFile[] files, @NotNull final GlobalSearchScope searchScope,
        @NotNull final ContentIterator iterator) {
    final FileTypeManager fileTypeManager = FileTypeManager.getInstance();
    final VirtualFileFilter contentFilter = new VirtualFileFilter() {
        @Override//from w  w w.  jav  a2 s.c om
        public boolean accept(@NotNull final VirtualFile file) {
            return file.isDirectory() || !fileTypeManager.isFileIgnored(file) && !file.getFileType().isBinary()
                    && searchScope.contains(file);
        }
    };
    for (VirtualFile file : files) {
        if (!VfsUtilCore.iterateChildrenRecursively(file, contentFilter, iterator))
            return false;
    }
    return true;
}

From source file:com.intellij.ide.actions.PruneEmptyDirectoriesAction.java

License:Apache License

private static void pruneEmptiesIn(VirtualFile file, final FileTypeManager ftManager) throws IOException {
    VfsUtilCore.visitChildrenRecursively(file, new VirtualFileVisitor() {
        @Override/*from  www  .j av  a2  s.c  o m*/
        public boolean visitFile(@NotNull VirtualFile file) {
            if (file.isDirectory()) {
                if (ftManager.isFileIgnored(file)) {
                    return false;
                }
            } else {
                if (".DS_Store".equals(file.getName())) {
                    delete(file);
                    return false;
                }
            }
            return true;
        }

        @Override
        public void afterChildrenVisited(@NotNull VirtualFile file) {
            if (file.isDirectory() && file.getChildren().length == 0) {
                delete(file);
            }
        }
    });
}

From source file:com.intellij.packaging.impl.compiler.IncrementalCompilerInstructionCreatorBase.java

License:Apache License

private static void collectInstructionsRecursively(VirtualFile directory,
        final IncrementalCompilerInstructionCreatorBase creator, @Nullable final PackagingFileFilter filter,
        final ProjectFileIndex index, final boolean copyExcluded) {
    final FileTypeManager fileTypeManager = FileTypeManager.getInstance();
    VfsUtilCore.visitChildrenRecursively(directory,
            new VirtualFileVisitor<IncrementalCompilerInstructionCreatorBase>(VirtualFileVisitor.SKIP_ROOT) {
                {//from w  w  w.  ja  v a2 s.  c om
                    setValueForChildren(creator);
                }

                @Override
                public boolean visitFile(@NotNull VirtualFile child) {
                    if (copyExcluded) {
                        if (fileTypeManager.isFileIgnored(child))
                            return false;
                    } else {
                        if (index.isExcluded(child))
                            return false;
                    }

                    final IncrementalCompilerInstructionCreatorBase creator = getCurrentValue();
                    if (filter != null && !filter.accept(child, creator.myContext.getCompileContext())) {
                        return false;
                    }

                    if (!child.isDirectory()) {
                        creator.addFileCopyInstruction(child, child.getName());
                    } else {
                        setValueForChildren(creator.subFolder(child.getName()));
                    }

                    return true;
                }
            });
}

From source file:com.intellij.psi.impl.file.impl.PsiVFSListener.java

License:Apache License

@Nullable
private PsiFile createFileCopyWithNewName(VirtualFile vFile, String name) {
    // TODO[ik] remove this. Event handling and generation must be in view providers mechanism since we
    // need to track changes in _all_ psi views (e.g. namespace changes in XML)
    final FileTypeManager instance = FileTypeManager.getInstance();
    if (instance.isFileIgnored(name))
        return null;
    final FileType fileTypeByFileName = instance.getFileTypeByFileName(name);
    final Document document = FileDocumentManager.getInstance().getDocument(vFile);
    return PsiFileFactory.getInstance(myManager.getProject()).createFileFromText(name, fileTypeByFileName,
            document != null ? document.getCharsSequence() : "", vFile.getModificationStamp(), true, false);
}