1
0
mirror of https://github.com/BurntSushi/ripgrep.git synced 2026-04-24 03:38:00 +02:00

2209 Commits

Author SHA1 Message Date
Waldir Pimenta 4519153e5e doc: clarify half-boundary syntax for the -w/--word-regexp flag
In regex 1.10.0, the \b{start-half} and \b{end-half} assertions were
introduced to improve how the -w/--word-regexp flag handles patterns
containing non-word characters. While ripgrep's CLI help text was
updated to mention this syntax during the lexopt transition (082245d),
it omitted the rationale, potentially leaving users puzzled by this
casual mention of a highly specific, non-standard regex feature.

Furthermore, GUIDE.md was still outdated, incorrectly claiming
that -w wraps patterns in standard \b boundaries,
further compounding the inconsistency and potential for confusion.

This commit updates GUIDE.md to reflect the actual underlying regex
employed by ripgrep when the -w/--word-regexp flag is used.
It also adds a brief explanation to both the guide and the manpage
acknowledging the non-standard nature of these half-boundary markers,
and explaining what they're meant for.

PR #3279
2026-02-27 11:25:19 -05:00
Andrew Gallant cb66736f14 core: bleat a DEBUG message when RIPGREP_CONFIG_PATH is not set
It seems to be common that folks either don't understand how to set
environment variables in a way that propagates to subprocesses, or just
forget to include `export` and think ripgrep is somehow broken.

While `RIPGREP_CONFIG_PATH` not being set is not an error, it still
seems useful to log a debug message when it isn't. This should hopefully
provide a clue that, no, ripgrep isn't broken. It just doesn't see the
environment variable.

Ref #3277
2026-02-20 16:18:05 -05:00
Pavel Knoblokh 9b84e154c8 ignore/types: add container type that covers both Dockerfile and Containerfile
PR #3271
2026-02-12 20:39:46 -05:00
Sungjoon Moon 0a88cccd51 Fix compression tests in QEMU cross-compilation environments (#3248)
* tests: fix cmd_exists for QEMU environments

QEMU user-mode has a bug where posix_spawn returns success even when
the command doesn't exist. The child exits with 127, but the parent
thinks it succeeded.

Change cmd_exists to check if the command actually ran successfully
(exit code 0), not just if spawn returned Ok.

This fixes compression tests on riscv64 and other QEMU-emulated
architectures.

Ref https://github.com/rust-lang/rust/issues/90825

* tests: remove riscv64 skip for compression tests

Remove the cfg guards that disabled lz4, brotli, and zstd tests on
riscv64. These now work with the QEMU fix.
2025-12-17 11:38:12 -05:00
xtqqczze cd1f981bea fix: derive Default when possible
Ref https://rust-lang.github.io/rust-clippy/master/index.html#/derivable_impls
2025-11-29 14:11:38 -05:00
Andrew Gallant 57c190d56e ignore-0.4.25 ignore-0.4.25 2025-10-30 13:30:14 -04:00
Ian McKellar 85edf4c796 ignore: only stat .jj if we actually care
I was comparing the work being done by fd and find and noticed (with
`strace -f -c -S` calls) that fd was doing a ton of failed `statx`
calls. Upon closer inspection it was stating `.jj` even though I
was passing `--no-ignore`. Eventually I turned up this check in
`Ignore::add_child_path` that was doing stat on `.jj` regardless of
whether the options request it.

With this patch it'll only stat `.jj` if that's relevant to the query.

PR #3212
2025-10-30 13:29:58 -04:00
Andrew Gallant 36b7597693 changelog: start next section 2025-10-22 09:02:40 -04:00
Andrew Gallant a132e56b8c pkg/brew: update tap 2025-10-22 09:01:12 -04:00
Andrew Gallant af60c2de9d 15.1.0 15.1.0 2025-10-22 08:30:04 -04:00
Andrew Gallant a63671efb0 deps: bump to grep 0.4.1 2025-10-22 08:29:19 -04:00
Andrew Gallant 2ea06d69aa grep-0.4.1 grep-0.4.1 2025-10-22 08:28:53 -04:00
Andrew Gallant 85006b08d6 deps: bump to grep-printer 0.3.1 2025-10-22 08:28:32 -04:00
Andrew Gallant 423afb8513 grep-printer-0.3.1 grep-printer-0.3.1 2025-10-22 08:28:06 -04:00
Andrew Gallant 4694800be5 deps: bump to grep-searcher 0.1.16 2025-10-22 08:26:22 -04:00
Andrew Gallant 86e0ab12ef grep-searcher-0.1.16 grep-searcher-0.1.16 2025-10-22 08:25:01 -04:00
Andrew Gallant 7189950799 deps: bump to globset 0.4.18 2025-10-22 08:24:51 -04:00
Andrew Gallant 0b0e013f5a globset-0.4.18 globset-0.4.18 2025-10-22 08:23:57 -04:00
Andrew Gallant cac9870a02 doc: update date in man page template 2025-10-22 08:23:05 -04:00
Andrew Gallant bee13375ed deps: update everything 2025-10-22 08:21:56 -04:00
Andrew Gallant f5be160839 changelog: 15.1.0 2025-10-22 08:21:34 -04:00
Jorge Gomez 24e88dc15b ignore/types: add ssa type
This PR adds support for [.ssa](https://en.wikipedia.org/wiki/Static_single-assignment_form) files as read by [qbe](https://c9x.me/compile/):

See: https://c9x.me/compile/doc/il.html#Input-Files
2025-10-22 08:18:30 -04:00
Andrew Gallant 5748f81bb1 printer: use doc_cfg instead of doc_auto_cfg
Fixes #3202
2025-10-22 07:47:07 -04:00
Andrew Gallant d47663b1b4 searcher: fix regression with --line-buffered flag
In my fix for #3184, I actually had two fixes. One was a tweak to how we
read data and the other was a tweak to how we determined how much of the
buffer we needed to keep around. It turns out that fixing #3184 only
required the latter fix, found in commit
d4b77a8d89. The former fix also helped the
specific case of #3184, but it ended up regressing `--line-buffered`.

Specifically, previous to 8c6595c215 (the
first fix), we would do one `read` syscall. This call might not fill our
caller provided buffer. And in particular, `stdin` seemed to fill fewer
bytes than reading from a file. So the "fix" was to put `read` in a loop
and keep calling it until the caller provided buffer was full or until
the stream was exhausted. This helped alleviate #3184 by amortizing
`read` syscalls better.

But of course, in retrospect, this change is clearly contrary to how
`--line-buffered` works. We specifically do _not_ want to wait around
until the buffer is full. We want to read what we can, search it and
move on.

So this reverts the first fix but leaves the second, which still
keeps #3184 fixed and also fixes #3194 (the regression).

This reverts commit 8c6595c215.

Fixes #3194
2025-10-19 11:06:39 -04:00
Enoch 38d630261a printer: add Cursor hyperlink alias
This is similar to the other aliases used by
VS Code forks.

PR #3192
2025-10-17 14:59:17 -04:00
Andrew Gallant b3dc4b0998 globset: improve debug log
This shows the regex that the glob was compiled to.
2025-10-17 10:27:19 -04:00
Andrew Gallant f09b55b8e7 changelog: start next section 2025-10-15 23:32:00 -04:00
Andrew Gallant 0551c6b931 pkg/brew: update tap 2025-10-15 23:31:35 -04:00
Andrew Gallant 3a612f88b8 15.0.0 15.0.0 2025-10-15 23:07:50 -04:00
Andrew Gallant ca2e34f37c grep-0.4.0 grep-0.4.0 2025-10-15 23:06:34 -04:00
Andrew Gallant a6092beee4 deps: bump to grep-printer 0.3.0 2025-10-15 23:05:10 -04:00
Andrew Gallant a0d61a063f grep-printer-0.3.0 grep-printer-0.3.0 2025-10-15 23:04:24 -04:00
Andrew Gallant c22fc0f13c deps: bump to grep-searcher 0.1.15 2025-10-15 23:02:59 -04:00
Andrew Gallant 087f82273d grep-searcher-0.1.15 grep-searcher-0.1.15 2025-10-15 23:02:33 -04:00
Andrew Gallant a3a30896be deps: bump to grep-pcre2 0.1.9 2025-10-15 23:01:31 -04:00
Andrew Gallant 7397ab7d97 grep-pcre2-0.1.9 grep-pcre2-0.1.9 2025-10-15 23:01:07 -04:00
Andrew Gallant cf1dab0d5a deps: bump to grep-regex 0.1.14 2025-10-15 23:00:58 -04:00
Andrew Gallant e523c6bf32 grep-regex-0.1.14 grep-regex-0.1.14 2025-10-15 23:00:22 -04:00
Andrew Gallant 720376ead6 deps: bump to grep-matcher 0.1.8 2025-10-15 23:00:12 -04:00
Andrew Gallant a5ba50ceaf grep-matcher-0.1.8 grep-matcher-0.1.8 2025-10-15 22:59:35 -04:00
Andrew Gallant a766f79710 deps: bump to grep-cli 0.1.12 2025-10-15 22:59:17 -04:00
Andrew Gallant 4aafe45760 grep-cli-0.1.12 grep-cli-0.1.12 2025-10-15 22:58:42 -04:00
Andrew Gallant c03e49b8c5 deps: bump to ignore 0.4.24 2025-10-15 22:58:35 -04:00
Andrew Gallant 70ae7354e1 ignore-0.4.24 ignore-0.4.24 2025-10-15 22:57:50 -04:00
Andrew Gallant 19c2a6e0d9 deps: bump to globset 0.4.17 2025-10-15 22:57:28 -04:00
Andrew Gallant 064b36b115 globset-0.4.17 globset-0.4.17 2025-10-15 22:55:55 -04:00
Andrew Gallant 365384a5c1 doc: move CHANGELOG update before dependency updates
It seems better to write this first. Especially so it gets included into
crate publishes.
2025-10-15 22:54:51 -04:00
Andrew Gallant 72a5291b4e doc: update date in man page template 2025-10-15 22:54:11 -04:00
Andrew Gallant 62e676843a deps: update everything 2025-10-15 22:53:30 -04:00
Andrew Gallant 3780168c13 changelog: 15.0.0 2025-10-15 22:53:30 -04:00