mirror of
https://github.com/BurntSushi/ripgrep.git
synced 2025-11-23 21:54:45 +02:00
Building it can consume resources. In particular, on Windows, the various binaries are eagerly resolved. I think this originally wasn't done. The eager resolution was added later for security purposes. But the "eager" part isn't actually necessary. It would probably be better to change the decompression reader to do lazy resolution only when the binary is needed. But this will at least avoid doing anything when the `-z/--search-zip` flag isn't used. But when it is, ripgrep will still eagerly resolve all possible binaries. Fixes #2111
ripgrep core
This is the core ripgrep crate. In particular, main.rs is where the main
function lives.
Most of ripgrep core consists of two things:
- The definition of the CLI interface, including docs for every flag.
- Glue code that brings the
grep-matcher,grep-regex,grep-searcherandgrep-printercrates together to actually execute the search.
Currently, there are no plans to make ripgrep core available as an independent library. However, much of the heavy lifting of ripgrep is done via its constituent crates, which can be reused independent of ripgrep. Unfortunately, there is no guide or tutorial to teach folks how to do this yet.