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.
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>API is very inconvenient and also contains a large amount of dependency baggage. - fuzzypicker is based
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!