Skip to content

feat(rg): add compatibility flag aliases - #1671

Merged
chaliy merged 1 commit into
mainfrom
2026-05-22-rg-noop-compat-flags
May 22, 2026
Merged

chaliy merged 1 commit into
mainfrom
2026-05-22-rg-noop-compat-flags

Conversation

@chaliy

@chaliy chaliy commented May 22, 2026

Copy link
Copy Markdown
Contributor

What

Add more real-rg-compatible flag aliases and negations to the rg builtin:

  • negations for fixed strings, text/binary mode, column, byte offset, json, stats, trim, max-columns-preview, include-zero, and sort-files
  • aliases/no-op compatibility flags for --passthrough, -0, -., -L, and one-file-system/buffering/follow variants
  • differential test cases covering the new accepted flags against real rg

Why

This closes more CLI compatibility gaps where real rg accepts common aliases or later negations, but bashkit rg rejected or kept earlier state.

How

Extend the rg argument parser and help text, track explicit line-number requests so --column --no-column mirrors real rg, and add data-driven differential cases.

Risk

  • Low
  • Parser-only behavior changes plus focused output parity tests. Symlink following and one-file-system remain accepted no-ops.

Checklist

  • Tests added or updated
  • Backward compatibility considered

Validation:

  • cargo fmt && cargo test -p bashkit builtins::rg::tests -- --nocapture
  • just pre-pr

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
bashkit 288768c Commit Preview URL May 22 2026, 10:41 AM

@chaliy
chaliy merged commit 70c7df6 into main May 22, 2026
34 checks passed
@chaliy
chaliy deleted the 2026-05-22-rg-noop-compat-flags branch May 22, 2026 10:52
chaliy added a commit that referenced this pull request May 30, 2026
## What
Add more real-rg-compatible flag aliases and negations to the rg
builtin:

- negations for fixed strings, text/binary mode, column, byte offset,
json, stats, trim, max-columns-preview, include-zero, and sort-files
- aliases/no-op compatibility flags for --passthrough, -0, -., -L, and
one-file-system/buffering/follow variants
- differential test cases covering the new accepted flags against real
rg

## Why
This closes more CLI compatibility gaps where real rg accepts common
aliases or later negations, but bashkit rg rejected or kept earlier
state.

## How
Extend the rg argument parser and help text, track explicit line-number
requests so --column --no-column mirrors real rg, and add data-driven
differential cases.

## Risk
- Low
- Parser-only behavior changes plus focused output parity tests. Symlink
following and one-file-system remain accepted no-ops.

## Checklist
- [x] Tests added or updated
- [x] Backward compatibility considered

Validation:
- cargo fmt && cargo test -p bashkit builtins::rg::tests -- --nocapture
- just pre-pr
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant