mirror of
https://github.com/BurntSushi/ripgrep.git
synced 2025-04-24 17:12:16 +02:00
libripgrep is not any one library, but rather, a collection of libraries that roughly separate the following key distinct phases in a grep implementation: 1. Pattern matching (e.g., by a regex engine). 2. Searching a file using a pattern matcher. 3. Printing results. Ultimately, both (1) and (3) are defined by de-coupled interfaces, of which there may be multiple implementations. Namely, (1) is satisfied by the `Matcher` trait in the `grep-matcher` crate and (3) is satisfied by the `Sink` trait in the `grep2` crate. The searcher (2) ties everything together and finds results using a matcher and reports those results using a `Sink` implementation. Closes #162
40 lines
1.2 KiB
Markdown
40 lines
1.2 KiB
Markdown
grep-pcre2
|
|
----------
|
|
The `grep-pcre2` crate provides an implementation of the `Matcher` trait from
|
|
the `grep-matcher` crate. This implementation permits PCRE2 to be used in the
|
|
`grep` crate for fast line oriented searching.
|
|
|
|
[](https://travis-ci.org/BurntSushi/ripgrep)
|
|
[](https://ci.appveyor.com/project/BurntSushi/ripgrep)
|
|
[](https://crates.io/crates/grep-pcre2)
|
|
|
|
Dual-licensed under MIT or the [UNLICENSE](http://unlicense.org).
|
|
|
|
### Documentation
|
|
|
|
[https://docs.rs/grep-pcre2](https://docs.rs/grep-pcre2)
|
|
|
|
**NOTE:** You probably don't want to use this crate directly. Instead, you
|
|
should prefer the facade defined in the
|
|
[`grep`](https://docs.rs/grep)
|
|
crate.
|
|
|
|
If you're looking to just use PCRE2 from Rust, then you probably want the
|
|
[`pcre2`](https://docs.rs/pcre2)
|
|
crate, which provide high level safe bindings to PCRE2.
|
|
|
|
### Usage
|
|
|
|
Add this to your `Cargo.toml`:
|
|
|
|
```toml
|
|
[dependencies]
|
|
grep-pcre2 = "0.1"
|
|
```
|
|
|
|
and this to your crate root:
|
|
|
|
```rust
|
|
extern crate grep_pcre2;
|
|
```
|