Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR rounds out the initial functionality of libripgrep by pushing several pieces of somewhat CLI specific functionality into a utility library. This library, called
grep-cli
, includes things like reading process output (which also fixes #990), decompressing files, unescaping text and reading patterns from files. Throughout most operations, we retain good failure modes by giving descriptive error messages.We also add a couple new minor flags:
--line-buffered
and--block-buffered
for granular control over ripgrep's buffering strategy. (GNU grep has a--line-buffered
flag as well.)--pre-glob
for filtering files sent through the preprocessor specified by--pre
. This makes it plausible to use--pre
on large directories if it is only actually needed for a small subset of files. (Otherwise, the process overhead tends to make the search take unbearably long.)