Add support for comma-separated option lists
This commit is contained in:
parent
bc44841ad2
commit
fa8fd3daa7
@ -800,6 +800,7 @@ macro_rules! options {
|
||||
pub const parse_opt_pathbuf: Option<&str> = Some("a path");
|
||||
pub const parse_list: Option<&str> = Some("a space-separated list of strings");
|
||||
pub const parse_opt_list: Option<&str> = Some("a space-separated list of strings");
|
||||
pub const parse_opt_comma_list: Option<&str> = Some("a comma-separated list of strings");
|
||||
pub const parse_uint: Option<&str> = Some("a number");
|
||||
pub const parse_passes: Option<&str> =
|
||||
Some("a space-separated list of passes, or `all`");
|
||||
@ -926,6 +927,18 @@ macro_rules! options {
|
||||
}
|
||||
}
|
||||
|
||||
fn parse_opt_comma_list(slot: &mut Option<Vec<String>>, v: Option<&str>)
|
||||
-> bool {
|
||||
match v {
|
||||
Some(s) => {
|
||||
let v = s.split(',').map(|s| s.to_string()).collect();
|
||||
*slot = Some(v);
|
||||
true
|
||||
},
|
||||
None => false,
|
||||
}
|
||||
}
|
||||
|
||||
fn parse_uint(slot: &mut usize, v: Option<&str>) -> bool {
|
||||
match v.and_then(|s| s.parse().ok()) {
|
||||
Some(i) => { *slot = i; true },
|
||||
|
Loading…
Reference in New Issue
Block a user