mirror of
https://github.com/BurntSushi/ripgrep.git
synced 2025-05-19 09:40:22 -07: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
28 lines
492 B
Rust
28 lines
492 B
Rust
/*!
|
|
An implementation of `grep-matcher`'s `Matcher` trait for Rust's regex engine.
|
|
*/
|
|
|
|
#![deny(missing_docs)]
|
|
|
|
extern crate grep_matcher;
|
|
#[macro_use]
|
|
extern crate log;
|
|
extern crate regex;
|
|
extern crate regex_syntax;
|
|
extern crate thread_local;
|
|
extern crate utf8_ranges;
|
|
|
|
pub use error::{Error, ErrorKind};
|
|
pub use matcher::{RegexCaptures, RegexMatcher, RegexMatcherBuilder};
|
|
|
|
mod ast;
|
|
mod config;
|
|
mod crlf;
|
|
mod error;
|
|
mod literal;
|
|
mod matcher;
|
|
mod non_matching;
|
|
mod strip;
|
|
mod util;
|
|
mod word;
|