Skip to content
npezza93Public

About

A quick fuzzy finder for the terminal

Resources

Code of conduct

Stars

3 stars

Watchers

1 watching

Forks

Latest commit

 

History

167 Commits

Folders and files

Repository files navigation

fozzie

Build Status

fozzie is a simple and quick fuzzy text selector for the terminal.

Installation

macOS and Linux
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.

From source
git clone https://github.com/npezza93/fozzie
cd fozzie
cargo build --release
find . -type f | ./target/release/fozzie

Usage

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.

Scoring

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

Development

The Unix terminal regression tests require Python 3 (standard library only).

cargo test --locked --all-targets
cargo clippy --locked --all-targets -- -D warnings

About

A quick fuzzy finder for the terminal

Resources

Code of conduct

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages