A fast and convenient fuzzy matcher library for rust
Go to file
Pascal Kuthe becd35c5de
better algorithm
switch to a algorithm with two matrices (but optimized to have 1 matrix
while tracking indices and just a single row if only scoring) that can be
proven to always provide the optimal result (fzfs' v2 algorithm does not
and can even produce wore results than its v1 algorithm). The algorithm
is very similar to skim but still uses fzfs bonus system and is orders
of magnitude faster (and falls back to fzfs greedy v1 algorithm which is
actually surprisingly close to the optimal algorithm).
2023-07-24 03:32:11 +02:00
fuzz high test and fuzz coverage, fix lots of bugs 2023-07-22 03:53:31 +02:00
src better algorithm 2023-07-24 03:32:11 +02:00
.gitignore Initial commit 2023-07-17 17:29:11 +02:00
Cargo.lock high test and fuzz coverage, fix lots of bugs 2023-07-22 03:53:31 +02:00
Cargo.toml high test and fuzz coverage, fix lots of bugs 2023-07-22 03:53:31 +02:00
fuzz.sh high test and fuzz coverage, fix lots of bugs 2023-07-22 03:53:31 +02:00
generate_case_fold_table.sh Initial fuzzy matcher implementation 2023-07-17 17:34:54 +02:00
LICENSE Initial commit 2023-07-17 17:29:11 +02:00
README.md high test and fuzz coverage, fix lots of bugs 2023-07-22 03:53:31 +02:00
tarpulin.toml fix remaining bugs, achive high coverage 2023-07-21 00:16:15 +02:00
typos.toml high test and fuzz coverage, fix lots of bugs 2023-07-22 03:53:31 +02:00

fzf_oxide

An optimized rust port of the fzf fuzzy matching algorithm

TODO:

  • case mismatch penalty
  • substring/prefix/postfix/exact matcher
  • high level API (worker thread, query parsing, sorting)