pub struct Option {
std::string::String key;
}
pub struct Flag {
}
pub struct Parser {
Vec<Option> option_array;
Vec<Flag> flag_array;
usize narg;
Vec<Box<Parser>> sub_parser_array;
};
impl Parser {
pub fn new() -> Parser {
Parser {
option_array: Vec::new(),
flag_array: Vec::new(),
narg: 0,
sub_parser_array: Vec::new(),
}
}
pub fn add_option(&mut self, option: Option) {
self.option_array.push(option);
}
pub fn add_flag(&mut self, flag: Flag) {
self.flag_array.push(flag);
}
pub fn add_sub_parser(&mut self, parser: Parser) {
self.sub_parser_array.push(Box::new(parser));
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_alphanumeric() {
let key = "--key";
assert_eq!(is_key(key), true);
}
}