Crate structopt_yaml[−][src]
structopt-yaml is an default value loader from YAML for structopt.
Examples
The following example show a quick example of structopt-yaml.
If derive(Deserialize), derive(StructOptYaml) and serde(default) are added to the struct
with derive(StructOpt), some functions like from_args_with_yaml can be used.
use serde_derive::Deserialize; use structopt::StructOpt; use structopt_yaml::StructOptYaml; #[derive(Debug, Deserialize, StructOpt, StructOptYaml)] #[serde(default)] struct Opt { #[structopt(default_value = "0", short = "a")] a: i32, #[structopt(default_value = "0", short = "b")] b: i32, } fn main() { let yaml_str = r#" a: 10 "#; let opt = Opt::from_args_with_yaml(yaml_str).expect("yaml parse failed"); println!("a:{}", opt.a); println!("b:{}", opt.b); }
The execution result of the above example is below.
ⓘ
$ ./example a:10 // value from YAML string b:0 // value from default_value of structopt $ ./example -a 20 a:20 // value from command line argument b:0
Modules
| clap | Re-export of clap |
| serde | Re-export of serde |
| structopt | Re-export of structopt |
Traits
| StructOptYaml |