BurntSushi/ripgrep
Features
Active contributors: Andrew Gallant
This section walks through ripgrep's user-visible features end-to-end, with file pointers to the implementations. Each page traces a feature from CLI flag → high-level args → searcher/walker behaviour → output.
These are the features most often discussed in the README, GUIDE, FAQ, and bug reports.
| Feature | Page | What it covers |
|---|---|---|
| Gitignore handling | gitignore-handling | .gitignore, .ignore, .rgignore, parent-directory rules, jujutsu, hidden files, --no-ignore-* ladder |
| File typing | file-typing | -t/-T, --type-list, --type-add, --type-clear, the default-types table |
| Decompression | decompression | -z/--search-zip, supported formats, --pre/--pre-glob preprocessors |
| PCRE2 support | pcre2-support | -P/--pcre2, --engine auto, look-around, backreferences, when to use it |
| CLI flags | cli-flags | The Flag trait pipeline, parsing, LowArgs → HiArgs, config files, completions, the man page |
Why these and not others
ripgrep has dozens of flags but only a handful of distinct features in the architectural sense — major code paths that touch multiple crates. The five above are the ones where the implementation crosses crate boundaries enough to deserve a guided tour.
Single-flag knobs (--max-count, --sort, --passthru, --replace, --smart-case, ...) are documented in the man page, the GUIDE, and the inline doc strings on Flag impls in crates/core/flags/defs.rs.
Cross-cutting features
The user's CLI invocation routes through these stages, and most features are simply pieces of that flow:
graph LR
Argv[argv] --> Flags[Flag::update]
Flags --> LowArgs
LowArgs --> HiArgs
HiArgs --> Walker
HiArgs --> Matcher
HiArgs --> Searcher
HiArgs --> Printer
Walker --> Searcher
Searcher --> Matcher
Searcher --> PrinterEach feature below is essentially "what happens in the bottom row when a particular flag is set on the top row".
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.