#file-path #ignore #gitignore #directory #file #glob #pattern

tree_sitter_grep_ignore

(由tree-sitter-grep内部使用的ignore的分支版本,用于高效匹配.gitignore等ignore文件与文件路径) 一个快速库,用于高效匹配.gitignore等ignore文件与文件路径

1个不稳定版本

0.4.20-dev.02023年7月12日

#468 in 文件系统


3个Crate中使用了 (2个直接使用)

Unlicense OR MIT

325KB
6.5K SLoC

ignore

ignore crate提供了一个快速递归目录迭代器,它尊重各种过滤器,如glob、文件类型和.gitignore文件。此crate还提供了对gitignore和文件类型匹配器的底层直接访问。

Build status

双许可下MIT或UNLICENSE

文档

https://docs.rs/ignore

使用

将其添加到您的Cargo.toml

[dependencies]
ignore = "0.4"

示例

此示例显示了此crate的最基本用法。此代码将递归遍历当前目录,并根据在.ignore.gitignore等文件中找到的ignore glob自动过滤文件和目录。

use ignore::Walk;

for result in Walk::new("./") {
    // Each item yielded by the iterator is either a directory entry or an
    // error, so either print the path or the error.
    match result {
        Ok(entry) => println!("{}", entry.path().display()),
        Err(err) => println!("ERROR: {}", err),
    }
}

示例:高级

默认情况下,递归目录迭代器将忽略隐藏文件和目录。可以通过使用WalkBuilder构建迭代器来禁用此功能。

use ignore::WalkBuilder;

for result in WalkBuilder::new("./").hidden(false).build() {
    println!("{:?}", result);
}

有关许多其他选项,请参阅WalkBuilder的文档。

依赖关系

~4–13MB
~147K SLoC