nucleo-picker
Yet another fuzzy picker library.
This library provides a TUI for the nucleo crate, but otherwise attempts to be a relatively thin wrapper.
As a result, you get the great features of nucleo for free™.
This crate tries not to interfere with the API choices made by nucleo.
See the examples directory for implementation examples, or try it out with cargo run --example blocking.
Currently, we only directly load two dependencies:
Related crates
This crate mainly exists as a result of the author's annoyance with pretty much every fuzzy picker TUI in the rust ecosystem.
- skim's
Arc<dyn SkimItem>is very inconvenient since the original item cannot be recovered from the match.skimalso contains a large amount of dependency baggage. - fuzzypicker is based on
skimand inheritsskim's problems. - nucleo-ui only has a blocking API and only supports matching on
String. - fuzzy-select only has a blocking API.
- dialoguer
FuzzySelectonly has a blocking API and only supports matching onString. The terminal handling also has a few strange bugs.
Disclaimer
The feature set of this library is quite minimal (by design) but may be expanded in the future. There are a currently a few known problems which have not been addressed (see the issues page on GitHub for a list).
This crate is not affiliated with the authors of nucleo, but if they have comments / complaints I am very glad to hear them!