option_builder/
option_builder.rs1extern crate skim;
2use skim::prelude::*;
3use std::io::Cursor;
4
5pub fn main() {
6 let item_reader = SkimItemReader::default();
7
8 let options = SkimOptionsBuilder::default()
11 .height(String::from("50%"))
12 .multi(true)
13 .build()
14 .unwrap();
15 let input = "aaaaa\nbbbb\nccc";
16 let items = item_reader.of_bufread(Cursor::new(input));
17 let selected_items = Skim::run_with(options, Some(items))
18 .map(|out| out.selected_items)
19 .unwrap_or_default();
20
21 for item in selected_items.iter() {
22 println!("{}", item.output());
23 }
24
25 let options = SkimOptionsBuilder::default()
28 .height(String::from("50%"))
29 .multi(true)
30 .build()
31 .unwrap();
32 let input = "11111\n22222\n333333333";
33 let items = item_reader.of_bufread(Cursor::new(input));
34 let selected_items = Skim::run_with(options, Some(items))
35 .map(|out| out.selected_items)
36 .unwrap_or_default();
37
38 for item in selected_items.iter() {
39 println!("{}", item.output());
40 }
41}