1
0
mirror of https://github.com/BurntSushi/ripgrep.git synced 2024-12-12 19:18:24 +02:00
ripgrep/crates/core
Andrew Gallant 23e21133ba printer: move PathPrinter into grep-printer
I originally did not put PathPrinter into grep-printer because I
considered it somewhat extraneous to what a "grep" program does, and
also that its implementation was rather simple. But now with hyperlink
support, its implementation has grown a smidge more complicated. And
more importantly, its existence required exposing a lot more of the
hyperlink guts. Without it, we can keep things like HyperlinkPath and
HyperlinkSpan completely private.

We can now also keep `PrinterPath` completely private as well. And this
is a breaking change.
2023-09-25 14:39:54 -04:00
..
app.rs printer: add hyperlinks 2023-09-25 14:39:54 -04:00
args.rs printer: move PathPrinter into grep-printer 2023-09-25 14:39:54 -04:00
config.rs deps: upgrade bstr to 1.1 2023-01-05 08:21:15 -05:00
logger.rs core: lock stdout before printing an error message to stderr 2023-07-08 18:52:42 -04:00
main.rs printer: move PathPrinter into grep-printer 2023-09-25 14:39:54 -04:00
messages.rs core: lock stdout before printing an error message to stderr 2023-07-08 18:52:42 -04:00
README.md repo: make ripgrep build with the new organization 2020-02-17 19:24:53 -05:00
search.rs cli: fix process leak 2021-05-31 21:51:18 -04:00
subject.rs doc: fix typos 2022-06-24 09:58:20 -04:00

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-searcher and grep-printer crates 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.