Feature Matrix

This page states what Grex supports and where behavior changes by target. The Usage Guide explains workflows; the Technical Reference defines exact formats and limits.

Target support matrix

Capability Windows / UNC WSL Docker direct Docker mirror CLI
Plain-text search .NET string comparison grep grep -F Local .NET engine Local engine or WSL adapter
Regex search .NET Regex grep -E grep -E .NET Regex Local engine or WSL adapter
Case sensitivity Yes grep -i when off grep -i when off Yes Yes
Culture / Unicode / diacritics Yes for text search No No Yes Defaults only; no CLI flags
Recursive search Yes Yes Yes Yes Yes
Match Files | wildcards and exclusions Post-filtered Post-filtered Yes Yes
Exclude Dirs Names or Regex Find plus post-filter Find pruning Yes Yes
.gitignore Nested custom parser git grep at Git root Selected-root file, simplified Nested custom parser Same as target adapter
Hidden / system / binary / links Yes Adapter-specific Adapter-specific Yes Yes
Size filter Yes Yes No Yes Yes
Windows Search index Plain text only No No No No flag
Document/archive extraction Yes No No Yes Yes for local targets
Context preview Yes Yes when path conversion works No host preview Mirror path during active search No
Replace Direct file write sed -i No No No
Export CSV, JSON, clipboard Same GUI output Same GUI output Same GUI output Text, JSON, CSV

Docker mode is presented as one target in the UI. The direct and mirror columns explain its two internal strategies.

Text matching

Local Text Search supports:

WSL and direct Docker targets delegate matching to the target’s grep, so only the options mapped to grep apply.

Regex matching

Local and mirrored Regex Search uses .NET Regex with a 10-second timeout. Grex intentionally avoids RegexOptions.Compiled for user patterns to prevent unbounded process-level cache growth.

WSL and direct Docker use extended grep expressions. .NET-only constructs may fail or match differently there.

Parallelism and streaming

Paths and environments

Windows and UNC

Grex accepts drive paths and UNC shares using the current Windows user’s permissions. Inaccessible files are skipped.

WSL

Supported forms include:

\\wsl$\Ubuntu\home\user
\\wsl.localhost\Ubuntu-24.04\home\user
/home/user
/mnt/c/Users/user

Grex extracts an explicit distribution from UNC forms. Plain Linux paths use the default WSL distribution.

Docker

Docker search is opt-in. It requires the Docker CLI, a reachable daemon, and a running Linux container.

Direct mode:

Mirror fallback:

Browse, Windows Search, and Replace are disabled for a selected container.

Filters

Grex can combine:

With Include system files off, common dependency, build, VCS, and Linux system directories are excluded. See System path exclusions.

Size tolerance

Size comparisons deliberately include a tolerance:

This affects less-than, equal-to, and greater-than comparisons. Direct Docker search is the exception and ignores size.

With Include binary files on, the local engine attempts:

Behavior is best effort:

Binary extraction is for search only. Replace skips known binary, archive, and document formats.

Results and inspection

Content results

Content mode shows one row per matching line with filename, line, column, sanitized text, relative path, and per-line match count.

File results

Files mode groups matches by path and shows size, total matches, extension, encoding, relative path, and modification time.

Result tools

Replace

Replace is available for Windows, UNC, and WSL targets.

Safeguards:

Boundaries:

Use version control or a backup before replacing.

Search organization

Tabs

Each tab retains its own path, query, filter values, results, sorting, and active work.

Recent paths and searches

Recent search entries store a practical subset of filters, not every tab property.

Profiles

Up to 50 named profiles store a fuller path/query/filter snapshot. Profiles support apply, overwrite, and delete. They do not store results, replacement text, or Docker container selection.

Regex Builder

The Regex Builder offers:

It does not automatically transfer a pattern to Search.

AI chat

AI chat supports OpenAI-compatible GET /v1/models and POST /v1/chat/completions style endpoints.

It provides conversational search guidance from:

It does not read or send file contents or result rows automatically, execute suggested searches, or modify files.

Model selection can be explicit, first-model discovery, or gpt-4o-mini fallback. The HTTP timeout is 90 seconds.

The API key is stored in plain-text settings and included in settings exports. See Security and Privacy.

Settings and personalization

Grex persists:

Settings export, import, restore, restart, notification test, and localization test actions are available. Import keeps window geometry local and merges every other field present; see Settings backup and import.

Localization

The repository ships an English catalog plus 107 non-English resource catalogs. Non-English coverage is incomplete and status varies by locale. Missing entries fall back to English or the resource key.

The UI can refresh language-dependent labels and registered tooltips without a full reinstall. Some changes may require restart.

See the Translation Guide for the authoritative status script and contribution workflow.

CLI

grex-cli provides:

The CLI does not expose Docker search, replacement, Windows Search, or the GUI’s advanced comparison settings. See the CLI reference.

Deliberate non-features

Grex currently has: