1
0
mirror of https://github.com/BurntSushi/ripgrep.git synced 2026-06-09 00:16:42 +02:00

2216 Commits

Author SHA1 Message Date
Andrew Gallant 82313cf958 ignore-0.4.26 ignore-0.4.26 2026-06-05 07:03:03 -04:00
Micha Reiser 43e2f08ede ignore: fix parent gitignore matching across multiple roots
Parent matchers are cached by directory, but they also stored the
canonicalized path passed to `Ignore::add_parents`. Reusing cached
matchers while walking another root could therefore rewrite paths
relative to the wrong root and apply scoped parent gitignore rules
incorrectly.

Keep the cached matcher chain independent of the walk root. Carry the
absolute base path in `Ignore` instead, and add a regression test that
checks cached parent matchers can be reused across roots without sharing
their path semantics.

Fixes #3419
2026-06-05 07:02:48 -04:00
Micha Reiser 79a23e0841 ignore: use named fields in Ignore 2026-06-05 07:02:48 -04:00
Andrew Gallant 48a6ad93f1 ci: add support for aarch64-unknown-linux-musl
This includes running tests and binary artifacts.

Fixes #2739
2026-06-03 14:29:59 -04:00
Andrew Gallant c28ce760df docs: update GUIDE to use lexopt
... we migrated off of `clap` long ago.
2026-06-03 18:50:44 +02:00
Andrew Gallant 4857d6fa67 docs: s/our projects/this project in AI policy
This was an artifact of using uv's policy. I thought I had changed most
of these but didn't catch this one.
2026-05-26 08:36:15 -04:00
Andrew Gallant f0cec341ab docs: add AI policy for contributors
I've shamlessly adapted this from [uv's AI policy].

[uv's AI policy]: https://github.com/astral-sh/.github/blob/c5187e200db51bfe11d56e13053d29bd3793fdd8/AI_POLICY.md
2026-05-26 00:02:44 -04:00
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