Enum yaccas::arguments::Argument
[−]
[src]
pub enum Argument<'a> { Flag(Flag, Option<Metadata<'a, Flag>>), Value(Value, Option<Metadata<'a, Value>>), Command(Command, Option<Metadata<'a, Command>>), }
An enum of all arguments which may be processed by the parser.
Variants
Flag(Flag, Option<Metadata<'a, Flag>>)
A specific flag.
Value(Value, Option<Metadata<'a, Value>>)
A specific value.
Command(Command, Option<Metadata<'a, Command>>)
A specific command.
Methods
impl<'a> Argument<'a>
[src]
fn with_callback<T, C>(argument: T, callback: C) -> Argument<'a> where
T: Parsable,
C: FnMut(&T) -> () + 'a,
T: Parsable,
C: FnMut(&T) -> () + 'a,
Extends an Argument with a callback.
Hint
This is a shortcut for Argument::with_metadata
.
Example
use yaccas::arguments::{Argument, Flag}; use yaccas::parser::{Parser, Result}; use yaccas::scanner::Unix; let mut parser = Parser::default(); parser.register(&["option", "o1", "o2"], Argument::with_callback( Flag::default(), | _flag: &Flag | { // Do something with the argument here }));
fn with_metadata<T: Parsable>(argument: T, metadata: Metadata<T>) -> Argument
Extends an Argument
with additional metadata.
Example
use yaccas::arguments::{Argument, Metadata, Flag}; use yaccas::parser::{Parser, Result}; use yaccas::scanner::Unix; let mut parser = Parser::default(); parser.register(&["option", "o1", "o2"], Argument::with_metadata( Flag::default(), Metadata::default() ));
fn execute_callback(&mut self) -> bool
Executes the callback iff it is set in the metadata.