fuzzy-match
2021-01-24
From a string input and a list of candidates, return the most relevant candidates first.
Upstream URL
Author
Nyxt project, Ambrevar, Vindarel
Maintainer
vindarel <vindarel@mailz.org>
License
MIT
Fuzzy-match
Fuzzy match candidates from an input string.
On Quicklisp (2020-12) and Ultralisp.
CL-USER> (fuzzy-match "hl" '("foo" "bar" "hello" "hey!")) ("hello" "hey!" "foo" "bar")
CL-USER> (fuzzy-match "zp" '("foo" "zepellin" "bar: zep")) ("zepellin" "bar: zep" "foo")
The parameters are hand-picked for the results to feel natural. A
candidate that starts with the input substring should appear
first. For example, we use the Damerau-Levenshtein distance thanks to
the MK-STRING-METRICS
library under the hood, but we don't obey to
its result.
To give any objects as candidates, and not only strings, make them
implement object-display
, that returns a string representation.
Nyxt origin
This code was extracted from the Nyxt browser. Original authors: Ambrevar, Vindarel.
Licence
MIT