pub enum Flag<S: AsRef<str> = String> {
Word(S),
Blob(S),
}Expand description
Command Parameter: A flag passed to the command
Flags in duat differ from those of UNIX like operating system
commands, since a flag can show up anywhere, not just before some
standalone -- which separates flags and “not flags”. Instead,
what determines if an argument starting with -- or - is a flag
or not is if said argument is quoted:
mycmd --this-is-a-flag "--this-is not a flag" -blobflag -- --flagVariants§
Word(S)
A word flag is prefixed by -- and represents only one thing
Examples of this are the --cfg and --cfg-manifest, which
are used by the edit and open commands to open Duat
configuration files.
Blob(S)
A blob flag is prefixed by - and represents one thing per
char
An example, coming from UNIX like operating systems is rm -rf, witch will forcefully (f) remove files recursively
(r).
Implementations§
Source§impl<S: AsRef<str>> Flag<S>
impl<S: AsRef<str>> Flag<S>
Sourcepub fn as_word(self) -> Result<S, Text>
pub fn as_word(self) -> Result<S, Text>
Returns Ok only if the Flag is of type Flag::Word
Sourcepub fn as_blob(self) -> Result<S, Text>
pub fn as_blob(self) -> Result<S, Text>
Returns Ok only if the Flag is of type Flag::Blob
Sourcepub fn has_blob(&self, blob: &str) -> bool
pub fn has_blob(&self, blob: &str) -> bool
Returns true if this Flag is a Flag::Blob with all
characters in blob