Skip to content

feat: Significantly faster per-platform optimized file walking & gitignore matcher - #645

Merged
dmtrKovalenko merged 4 commits into
mainfrom
feat/zlob-walker
Jul 2, 2026
Merged

dmtrKovalenko merged 4 commits into
mainfrom
feat/zlob-walker

Conversation

@dmtrKovalenko

Copy link
Copy Markdown
Owner

No description provided.

; Conflicts:
;	crates/fff-core/src/file_picker.rs
;	crates/fff-core/tests/scan_correctness_contract.rs
@dmtrKovalenko
dmtrKovalenko force-pushed the feat/zlob-walker branch 7 times, most recently from 8031ffc to ec84820 Compare July 2, 2026 02:29
The zlob walker emits '/'-separated relative paths on every platform.
Instead of converting every walked path to native '\' on Windows, make
'/' the canonical internal separator throughout the index and convert
native inputs to '/' on the (fewer) inbound lookup paths.

Native separators are re-applied only at OS/state boundaries:
- write_absolute_path nativizes for git-cache keys, frecency, Win32 APIs
- frecency keys additionally canonicalize on Windows (dunce), with a
  raw-string fallback so watcher deletes never drop the op

Removes several scattered Windows compensations (score.rs fuzzy folds,
constraints.rs collect fold) now that stored paths are already '/'.
relative_path emitted to Lua is now '/' on all platforms.
@dmtrKovalenko dmtrKovalenko changed the title feat: Zlob walker feat: Significantly faster per-platform optimized file walking & gitignore matcher Jul 2, 2026
@dmtrKovalenko
dmtrKovalenko merged commit 1cd8d31 into main Jul 2, 2026
51 checks passed
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