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}