Skip to main content

colon_test/
colon_test.rs

1use quickmatch::{QuickMatch, QuickMatchConfig};
2
3fn main() {
4    // Case 1: Items with colon, query with colon (default separators)
5    let items = vec!["word: word2", "other: thing", "word word2"];
6    let qm = QuickMatch::new(&items);
7    let results = qm.matches("word: word2");
8    println!("Default seps | query 'word: word2' vs items with colon: {results:?}");
9
10    // Case 2: Query "word:" against items
11    let items2 = vec!["word: word2", "word word2", "word", "word:"];
12    let qm2 = QuickMatch::new(&items2);
13    let results2 = qm2.matches("word:");
14    println!("Default seps | query 'word:' vs mixed items:           {results2:?}");
15
16    // Case 3: Colon as separator, query "word: word2"
17    let config3 = QuickMatchConfig::new().with_separators(&['_', '-', ' ', ':']);
18    let items3 = vec!["word: word2", "other: thing", "word word2"];
19    let qm3 = QuickMatch::new_with(&items3, config3);
20    let results3 = qm3.matches("word: word2");
21    println!("Colon as sep | query 'word: word2':                    {results3:?}");
22
23    // Case 4: Colon as separator, query "word:"
24    let config4 = QuickMatchConfig::new().with_separators(&['_', '-', ' ', ':']);
25    let items4 = vec!["word: word2", "word word2", "word", "word:"];
26    let qm4 = QuickMatch::new_with(&items4, config4);
27    let results4 = qm4.matches("word:");
28    println!("Colon as sep | query 'word:' vs mixed items:           {results4:?}");
29}