{"repo":"ktr0731/go-fuzzyfinder","free":true,"listed":false,"github":"https://github.com/ktr0731/go-fuzzyfinder","clone":"git clone https://github.com/ktr0731/go-fuzzyfinder.git","description":"fzf-like fuzzy-finder as a Go library","language":"Go","stars":519,"topics":["golang","fuzzyfinder"],"license":"MIT","category":"cli-tools","readme_excerpt":"go-fuzzyfinder go-fuzzyfinder is a Go library that provides fuzzy-finding with an fzf-like terminal user interface. Installation Usage go-fuzzyfinder provides two functions, Find and FindMulti . FindMulti can select multiple lines. It is similar to fzf -m . This is an example of FindMulti . The execution result prints selected item's indexes. Preselecting items You can preselect items using the WithPreselected option. It works in both Find and FindMulti . Motivation Fuzzy-finder command-line tools such that fzf, fzy, or skim are very powerful to find out specified lines interactively. However, there are limits to deal with fuzzy-finder's features in several cases. First, it is hard to distinguish between two or more entities that have the same text. In the example of ktr0731/itunes-cli, it is possible to conflict tracks such that same track names, but different artists. To avoid such conflicts, we have to display the artist names with each track name. It seems like the problem has been solved, but it still has the problem. It is possible to conflict in case of same track names, same artists, but other albums, which each track belongs to. This problem is difficult to solve because pipes and filters are row-based mechanisms, there are no ways to hold references that point list entities. The second issue occurs in the case of incorporating a fuzzy-finder as one of the main features in a command-line tool such that enhancd or itunes-cli. Usually, these tools require that it has b","default_branch":null,"files":null,"tree":[],"storefront":"/r/ktr0731","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ktr0731/go-fuzzyfinder/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}