1use matchmaker::nucleo::{Indexed, Worker};
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) => match err {
18 MatchError::Abort(1) => {
19 eprintln!("cancelled");
20 }
21 _ => {
22 eprintln!("Error: {err}");
23 }
24 },
25 }
26
27 Ok(())
28}