| 1 | /// Origin of the argument's value |
|---|---|
| 2 | #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)] |
| 3 | #[non_exhaustive] |
| 4 | pub enum ValueSource { |
| 5 | /// Value came [`Arg::default_value`][crate::Arg::default_value] |
| 6 | DefaultValue, |
| 7 | /// Value came [`Arg::env`][crate::Arg::env] |
| 8 | EnvVariable, |
| 9 | /// Value was passed in on the command-line |
| 10 | CommandLine, |
| 11 | } |
| 12 | |
| 13 | impl ValueSource { |
| 14 | pub(crate) fn is_explicit(self) -> bool { |
| 15 | self != Self::DefaultValue |
| 16 | } |
| 17 | } |
| 18 |
