fuzzyd 1.1.0-beta

fuzzy search library


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

fuzzyd Build Status

A D language fuzzy search library.

The algorithm used is a modified version of Smith–Waterman algorithm. The worst-case performance is O(m*n) for each entry provided in the input. (m and n are the respective length of the tested strings).

About

fuzzyd was primarily created to search matches in a list of files and commands.

Criteria

Score extra points when:

  • pattern is found at the beggining of the string.
  • pattern is at word boundary position.
  • case sensitive matches.

Penalty for:

  • isolated matches worth half of the points.

Note: The algorithm examines all the occurrences of the provided pattern, making it slower but more accurate.

Usage

import fuzzyd.core;

string[] source = ["cd Documents"
                  ,"curl localhost/foo"
                  ,"rm -rf Downloads"
                  ,"vi ~/Documents"];

auto fzy = fuzzy(source);

fzy("docts");
/* =>
[FuzzyResult("cd Documents", 1, RedBlackTree([0, 1, 3, 4, 5, 10, 11])),
 FuzzyResult("vi ~/Documents", 0.533052, RedBlackTree([5, 6, 7, 12, 13])),
 FuzzyResult("rm -rf Downloads", 0.33474, RedBlackTree([7, 8, 12, 14, 15])),
 FuzzyResult("curl localhost/foo", 0.292546, RedBlackTree([0, 6, 7, 11, 12, 13, 16, 17]))]
*/

Refer to the documentation for more details.

License

MIT

Authors:
  • Felipe Beline Baravieira
Dependencies:
none
Versions:
2.2.0-beta 2020-May-26
2.1.2-beta 2020-May-01
2.1.1-beta 2020-May-01
2.1.0-beta 2020-May-01
2.0.1-beta 2020-Apr-30
Show all 18 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 1 downloads this month

  • 451 downloads total

Score:
0.7
Short URL:
fuzzyd.dub.pm