Skip to main content

commandor/args/
mod.rs

1mod default;
2mod setter;
3mod flag;
4
5pub use default::DefaultArg;
6pub use setter::SetterArg;
7pub use flag::FlagArg;
8
9#[derive(Debug, Clone, PartialEq, Eq)]
10pub struct ArgumentValue {
11    pub name: String,
12    pub value: String
13}
14
15pub trait Argument {
16    fn get_name(&self) -> &String;
17    fn get_aliases(&self) -> &Vec<String>;
18    fn add_alias(&mut self, alias: String);
19    fn is_optional(&self) -> bool;
20    fn try_parse(&self, args: &Vec<String>) -> Option<(Vec<String>, ArgumentValue)>;
21}