flags/
flags.rs

1use rusty_cli::command_handler::CommandHandlerArguments;
2use rusty_cli::commands::command::Command;
3use rusty_cli::flags::flag::{Flag, Flags};
4use rusty_cli::runner::Runner;
5
6fn executor(flags: Flags) {
7    let flag_name = "testFlag";
8    // Value is none, because the flag has no value
9    println!("{}", flags.get(flag_name).unwrap().clone().is_none());
10}
11
12fn main() {
13
14    let command = Command::new(
15        "Test".to_string(),
16        "test command".to_string(),
17        "normal usage".to_string(),
18        executor,
19        "test".to_string()
20    );
21
22    let flag = Flag::new(
23        "testFlag".to_string(),
24        vec!["tf".to_string()],
25        false
26    );
27
28
29    let mut runner = Runner::new();
30    runner.enable_command_handler(CommandHandlerArguments {
31        commands: vec![command],
32        default_no_argument_callback: None,
33        flags: vec![flag]
34    });
35    runner.run();
36}