1use matchmaker::nucleo::{Indexed, Render, Worker};
2use matchmaker::{MatchResultExt, Matchmaker, Result, SSS, Selector};
3
4pub async fn mm_get<T: SSS + Render + Clone>(items: impl IntoIterator<Item = T>) -> Result<T> {
5 let worker = Worker::new_single_column();
6 worker.append(items);
7 let selector = Selector::new(Indexed::identifier).disabled();
8 let mm = Matchmaker::new(worker, selector);
9
10 mm.pick_default().await.first()
11}
12
13#[tokio::main]
14async fn main() -> Result<()> {
15 let items = vec!["item1", "item2", "item3"];
16 println!("{}", mm_get(items).await?);
17
18 Ok(())
19}