1
0
mirror of https://github.com/BurntSushi/ripgrep.git synced 2024-12-12 19:18:24 +02:00
ripgrep/tests
Jakub Wieczorek b435eaafc8 grep-regex: fix inner literal extraction bug
This appears to be another transcription bug from copying this code from
the prefix literal detection from inside the regex crate. Namely, when
it comes to inner literals, we only want to treat counted repetition as
two separate cases: the case when the minimum match is 0 and the case
when the minimum match is more than 0. In the former case, we treat
`e{0,n}` as `e*` and in the latter we treat `e{m,n}` where `m >= 1` as
just `e`.

We could definitely do better here. e.g., This means regexes like
`(foo){10}` will only have `foo` extracted as a literal, where searching
for the full literal would likely be faster.

The actual bug here was that we were not implementing this logic
correctly. Namely, we weren't always "cutting" the literals in the
second case to prevent them from being expanded.

Fixes #1319, Closes #1367
2020-02-17 17:16:28 -05:00
..
data binary: rejigger ripgrep's handling of binary files 2019-04-14 19:29:27 -04:00
binary.rs binary: rejigger ripgrep's handling of binary files 2019-04-14 19:29:27 -04:00
feature.rs cli: add --no-ignore-exclude flag 2020-02-17 17:16:28 -05:00
hay.rs tests: re-tool integration tests 2018-08-20 07:10:19 -04:00
json.rs regex: make CRLF hack more robust 2019-01-26 12:34:28 -05:00
macros.rs edition: move core ripgrep to Rust 2018 2019-01-19 10:44:30 -05:00
misc.rs cli: add --include-zero flag 2020-02-17 17:16:28 -05:00
multiline.rs binary: rejigger ripgrep's handling of binary files 2019-04-14 19:29:27 -04:00
regression.rs grep-regex: fix inner literal extraction bug 2020-02-17 17:16:28 -05:00
tests.rs binary: rejigger ripgrep's handling of binary files 2019-04-14 19:29:27 -04:00
util.rs tests: remove existing test directory 2020-02-17 17:16:28 -05:00