fozzie is a simple and quick fuzzy text selector for the terminal.
cargo install fozzie
Binaries are also available on the releases page of the repo. Download the tar file, and place the executable in your path.
git clone https://github.com/npezza93/fozzie
cd fozzie
cargo build --release
find . -type f | ./target/release/fozzie
Pipe a list of items to fozzie and start searching:
find . -type f | fozzie
Long result rows are clipped to the terminal width. Press Right at the end of the query to scroll clipped results one display cell at a time; Left at the beginning scrolls them back. Editing or completing the query resets results to the left. Long queries scroll horizontally to keep the editing cursor visible; Tab completion and selected output retain the full filename. Window-size changes are picked up on the next redraw.
fozzies scoring algorithm is currently heavily based on fzy's implementaion which can be found here. It favors consecutive letters and start of word matches
file matches file over filter
amp matches app/models/posts.rb
abce matches abcdef over abc de
test matches tests over testing
appcont matches app/controllers/application_controller.rb over app/controllers/home_controller.rb
The Unix terminal regression tests require Python 3 (standard library only).
cargo test --locked --all-targets
cargo clippy --locked --all-targets -- -D warnings