Enum yaccas::arguments::Argument [] [src]

pub enum Argument<'a> {
    Flag(FlagOption<Metadata<'a, Flag>>),
    Value(ValueOption<Metadata<'a, Value>>),
    Command(CommandOption<Metadata<'a, Command>>),
}

An enum of all arguments which may be processed by the parser.

Variants

A specific flag.

A specific value.

A specific command.

Methods

impl<'a> Argument<'a>
[src]

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
}));

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()
));

Executes the callback iff it is set in the metadata.

Trait Implementations

impl From<Flag> for Argument<'static>
[src]

Performs the conversion.

impl From<Value> for Argument<'static>
[src]

Performs the conversion.

impl From<Command> for Argument<'static>
[src]

Performs the conversion.