summaryrefslogtreecommitdiff
path: root/src/matching.h
diff options
context:
space:
mode:
authorPhil Jones <philj56@gmail.com>2023-04-17 23:43:05 +0100
committerPhil Jones <philj56@gmail.com>2023-04-17 23:43:05 +0100
commit574eff0df1aff9bdc6d32939a03312cc08803de3 (patch)
tree5aeca72f70314bee3bf95db99f10d89f0a7b4032 /src/matching.h
parent71a4801d20d8904cfcfa5e92c96d53ee06a2c69f (diff)
Add --matching-algorithm option.
This replaces the --fuzzy-match algorithm. Available choices are normal, prefix and fuzzy. Levenshtein distance was investigated, but it seems pretty rubbish for tofi's use case, where you normally want a good match when you've only typed a small portion of the target string.
Diffstat (limited to 'src/matching.h')
-rw-r--r--src/matching.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/matching.h b/src/matching.h
new file mode 100644
index 0000000..f619804
--- /dev/null
+++ b/src/matching.h
@@ -0,0 +1,14 @@
+#ifndef MATCHING_H
+#define MATCHING_H
+
+#include <stdint.h>
+
+enum matching_algorithm {
+ MATCHING_ALGORITHM_NORMAL,
+ MATCHING_ALGORITHM_PREFIX,
+ MATCHING_ALGORITHM_FUZZY
+};
+
+int32_t match_words(enum matching_algorithm algorithm, const char *restrict patterns, const char *restrict str);
+
+#endif /* MATCHING_H */