clap-serde
Provides a wrapper to deserialize clap app using serde.
toml
const CLAP_TOML: &'static str = r#"
name = "app_clap_serde"
version = "1.0"
author = "toml_tester"
about = "test-clap-serde"
[subcommands]
sub1 = { about = "subcommand_1" }
[subcommands.sub2]
about = "subcommand_2"
[args]
apple = { short = "a" }
banana = { short = "b", long = "banana", aliases = ["musa_spp"] }
[groups]
fruit = { args = ["apple", "banana"] }
"#;
let app: App =
.expect
.into;
assert_eq!;
assert_eq!;
json
const CLAP_JSON: &'static str = r#"{
"name" : "app_clap_serde",
"version" : "1.0" ,
"author" : "json_tester",
"about" : "test-clap-serde",
"subcommands" : [
{ "sub1" : {"about" : "subcommand_1"}},
{ "sub2" : {"about" : "subcommand_2"}}
],
"args" : [
{ "apple" : {"short" : "a" } },
{ "banana" : {"short" : "b", "long" : "banana", "aliases" : [ "musa_spp" ]} }
],
"groups" : {
"fruit" : { "args" : ["apple", "banana"] }
}
}"#;
let app: App =
.expect
.into;
assert_eq!;
assert_eq!;
yaml
const CLAP_YAML: &'static str = r#"
name: app_clap_serde
version : "1.0"
about : yaml_support!
author : yaml_supporter
args:
- apple :
short: a
- banana:
short: b
long: banana
aliases :
- musa_spp
subcommands:
- sub1:
about : subcommand_1
- sub2:
about : subcommand_2
"#;
let app: CommandWrap = from_str.expect;
assert_eq!;
features
env
Enables env feature in clap.
yaml (deprecated, use serde-yaml instead)
Enables to use yaml.
color
Enablse color feature in clap.
(key case settings)
Settings names format for keys and AppSettings.
snake-case-key
snake_case. Enabled by default.
pascal-case-key
PascalCase. Same as variants name in enum at AppSettings.
kebab-case-key
kebab-case.
allow-deprecated
Allow deprecated keys, settings. Enabled by default.
override-args
Override a Arg with DeserializeSeed.
#
#