pub struct ArgumentDefinition {
pub name: String,
pub arg_type: ArgumentType,
pub required: bool,
pub description: String,
pub validation: Vec<ValidationRule>,
pub secure: bool,
}Expand description
Definition of a positional argument
Positional arguments are required in order and don’t have a flag prefix (unlike options).
§Example
name: input_file
arg_type: path
required: true
description: "Path to input file"
validation:
- must_exist: true
- extensions: [yaml, yml]To prevent a sensitive argument value from being written to the REPL
history file, set secure: true:
name: password
arg_type: string
required: true
description: "User password"
secure: trueWhen a command line contains at least one argument marked secure: true,
the entire line is silently omitted from the history file. The command
name itself is not filtered — only lines with a secure argument value
are suppressed.
Fields§
§name: StringArgument name (used in error messages and documentation)
arg_type: ArgumentTypeExpected type of the argument
required: boolWhether the argument is mandatory
description: StringHuman-readable description
validation: Vec<ValidationRule>Validation rules to apply
secure: boolWhether this argument carries a sensitive value.
When true, any REPL command line that provides a value for this
argument is not written to the history file. Defaults to false.
Trait Implementations§
Source§impl Clone for ArgumentDefinition
impl Clone for ArgumentDefinition
Source§fn clone(&self) -> ArgumentDefinition
fn clone(&self) -> ArgumentDefinition
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ArgumentDefinition
impl Debug for ArgumentDefinition
Source§impl<'de> Deserialize<'de> for ArgumentDefinition
impl<'de> Deserialize<'de> for ArgumentDefinition
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for ArgumentDefinition
impl PartialEq for ArgumentDefinition
Source§impl Serialize for ArgumentDefinition
impl Serialize for ArgumentDefinition
impl StructuralPartialEq for ArgumentDefinition
Auto Trait Implementations§
impl Freeze for ArgumentDefinition
impl RefUnwindSafe for ArgumentDefinition
impl Send for ArgumentDefinition
impl Sync for ArgumentDefinition
impl Unpin for ArgumentDefinition
impl UnsafeUnpin for ArgumentDefinition
impl UnwindSafe for ArgumentDefinition
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more