diff options
Diffstat (limited to 'clap/examples/17_yaml.rs')
-rw-r--r-- | clap/examples/17_yaml.rs | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/clap/examples/17_yaml.rs b/clap/examples/17_yaml.rs deleted file mode 100644 index 3353d73..0000000 --- a/clap/examples/17_yaml.rs +++ /dev/null @@ -1,53 +0,0 @@ -// In order to use YAML to define your CLI you must compile clap with the "yaml" feature because -// it's **not** included by default. -// -// In order to do this, ensure your Cargo.toml looks like one of the following: -// -// [dependencies.clap] -// features = ["yaml"] -// -// __OR__ -// -// [dependencies] -// clap = { features = ["yaml"] } - - -// Using yaml requires calling a clap macro `load_yaml!()` so we must use the '#[macro_use]' -// directive -#[macro_use] -extern crate clap; - -#[cfg(feature = "yaml")] -fn main() { - use clap::App; - - // To load a yaml file containing our CLI definition such as the example '17_yaml.yml' we can - // use the convenience macro which loads the file at compile relative to the current file - // similar to how modules are found. - // - // Then we pass that yaml object to App to build the CLI. - // - // Finally we call get_matches() to start the parsing process. We use the matches just as we - // normally would - let yml = load_yaml!("17_yaml.yml"); - let m = App::from_yaml(yml).get_matches(); - - // Because the example 17_yaml.yml is rather large we'll just look a single arg so you can - // see that it works... - if let Some(mode) = m.value_of("mode") { - match mode { - "vi" => println!("You are using vi"), - "emacs" => println!("You are using emacs..."), - _ => unreachable!() - } - } else { - println!("--mode <MODE> wasn't used..."); - } -} - -#[cfg(not(feature = "yaml"))] -fn main() { - // As stated above, if clap is not compiled with the YAML feature, it is disabled. - println!("YAML feature is disabled."); - println!("Pass --features yaml to cargo when trying this example."); -} |