| use Arg; |
| |
| #[derive(Debug)] |
| pub struct Switched<'b> { |
| pub short: Option<char>, |
| pub long: Option<&'b str>, |
| pub aliases: Option<Vec<(&'b str, bool)>>, // (name, visible) |
| pub disp_ord: usize, |
| pub unified_ord: usize, |
| } |
| |
| impl<'e> Default for Switched<'e> { |
| fn default() -> Self { |
| Switched { |
| short: None, |
| long: None, |
| aliases: None, |
| disp_ord: 999, |
| unified_ord: 999, |
| } |
| } |
| } |
| |
| impl<'n, 'e, 'z> From<&'z Arg<'n, 'e>> for Switched<'e> { |
| fn from(a: &'z Arg<'n, 'e>) -> Self { |
| a.s.clone() |
| } |
| } |
| |
| impl<'e> Clone for Switched<'e> { |
| fn clone(&self) -> Self { |
| Switched { |
| short: self.short, |
| long: self.long, |
| aliases: self.aliases.clone(), |
| disp_ord: self.disp_ord, |
| unified_ord: self.unified_ord, |
| } |
| } |
| } |