1use matchmaker::nucleo::{Worker, Indexed};
2use matchmaker::{MatchError, Matchmaker, Result, Selector};
3
4#[tokio::main]
5async fn main() -> Result<()> {
6 let items = vec!["item1", "item2", "item3"];
7
8 let worker = Worker::new_single_column();
9 worker.append(items);
10 let selector = Selector::new(Indexed::identifier);
11 let mm = Matchmaker::new(worker, selector);
12
13 match mm.pick_default().await {
14 Ok(v) => {
15 println!("{}", v[0]);
16 }
17 Err(err) => {
18 match err {
19 MatchError::Abort(1) => {
20 eprintln!("cancelled");
21 }
22 _ => {
23 eprintln!("Error: {err}");
24 }
25 }
26 }
27 }
28
29 Ok(())
30}