Selecth is a command-line fuzzy filter written in Haskell. It reads lines from stdin and filters them as a you type, much like cmd + t in Sublime Text or the CtrlP plugin in Vim, but decoupled from an editor.

Selecth is a Haskell port of an early version of Gary Bernhardt’s selecta. Selecth is more performant than Selecta both due to Haskell’s good single threaded performance, as well as scoring queries in parallel. It also renders in a more user friendly way by doing rendering relative to the current line in the terminal, rather than jumping to the bottom of the screen.

Selecta has diverged from Selecth since I wrote it, with its scoring algorithm now accounting for word boundaries and acronyms. I don’t think I’m going to put in the time to bring Selecth up to date with these changes, as I mostly use Heatseeker (for everything but vim) and fzf (with neovim) now.