1/// Origin of the argument's value
2#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
3#[non_exhaustive]
4pub 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
13impl ValueSource {
14 pub(crate) fn is_explicit(self) -> bool {
15 self != Self::DefaultValue
16 }
17}
18