submenus/
submenus.rs

1///
2/// Terminal-menu submenus explained.
3///
4
5fn main() {
6    use terminal_menu::{menu, label, button, scroll, back_button, submenu, run, mut_menu};
7    let menu = menu(vec![
8        label("submenus"),
9
10        // submenu:
11        //  submenus are basically menus inside menus
12        submenu("sub", vec![
13            scroll("scr", vec!["Alice", "Bob", "Charlie"]),
14
15            // back button:
16            //  back buttons return to the parent menu.
17            back_button("back")
18        ]),
19
20        submenu("ret", vec![
21
22            // button:
23            //  buttons exit all the menus
24            button("Alice"),
25            button("Bob"),
26            button("Charlie"),
27
28            submenu("nested", vec![
29                button("Alice"),
30                button("Bob"),
31                button("Charlie"),
32            ])
33
34        ]),
35
36        button("exit")
37    ]);
38    run(&menu);
39
40    // name of the menu active before exiting
41    println!("{:?}", mut_menu(&menu).get_latest_menu_name());
42
43    // pull values
44    println!("{}", mut_menu(&menu).get_submenu("sub").selection_value("scr"));
45}