simple_ci/
simple_ci.rs

1use argser::argser;
2
3#[argser]
4#[derive(Debug)]
5struct CLI {
6    name: String,
7    #[argser(subcategory, rename("other_name"))]
8    sub: SubCategory,
9    #[argser(default)]
10    optional: Option<String>,
11    #[argser(default_func(default_names))]
12    names: Vec<String>,
13    #[argser(map)]
14    con_map: u16,
15}
16
17#[argser]
18#[derive(Debug)]
19struct SubCategory {
20    other: String,
21}
22
23fn default_names() -> Vec<String> {
24    vec!["test_default".to_string()]
25}
26
27pub fn main() {
28    let cli: CLI = argser::parse_args_from_providers(&[&argser::provider::Cli::new()]).unwrap();
29
30    println!("Cli: {:?}", cli);
31}