Skip to main content

pick_1/
pick_1.rs

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}