v0.6.0
Replaced Jaro-Winkler with fzf-style fuzzy matching
The search algorithm has been completely rewritten. pico-search now uses subsequence-based fuzzy matching inspired by fzf, replacing the Jaro-Winkler similarity algorithm. This change was necessary since most of the use-case for this was around labels and command palettes, it still works well for full text searching if you need that
What's new
- Subsequence matching —
"jd"now finds"John Doe","dnd"finds"do-not-disturb" - Smarter window selection — forward+reverse scan finds the tightest match window, so
"dund"correctly prefers"Crocodile Dundee"over"Django Unchained" - Word boundary awareness — matches at spaces, hyphens, dots, slashes, and camelCase transitions score higher
- Multi-word queries — space-separated terms are scored independently across all keys (all terms must match somewhere)
Bug fixes
- Fixed: searching
"3"now finds"360dialog"(previously failed due to a matching window bug with short strings) - Fixed: scattered character matches like
"shwshnk"now find"The Shawshank Redemption"
Breaking changes
- Default threshold lowered from
0.8to0.3to match the new scoring range. If you were passing a custom threshold, you may need to adjust it.
Full Changelog: v0.5.4...v0.6.0