This is an implementation of .gitignore
parsing and matching in Rust. Use this library if you want to check whether a given path would be excluded by a .gitignore
file.
It currently builds on both nighly and stable versions of Rust.
The crate is called gitignore
and you can it is available via crates.io:
[dependencies]
gitignore = "x.y.z"
You can also use the Git version directory simply by depending on it via Cargo:
[dependencies.gitignore]
git = "https://github.com/nathankleyn/gitignore.rs.git"
There are some useful bundled binaries which you can view to see how you might apply this library. The Rust docs are available to view as well.
A simple example is as follows:
// Create a file
let file = gitignore::File::new(&path_to_gitignore).unwrap();
// This returns a bool as to whether the file matches a rule in the .gitignore file.
file.is_excluded(&path).unwrap();
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.