Trait ParserInfo

Source
pub trait ParserInfo {
    // Required methods
    fn docs(&self) -> &DocInfo;
    fn symbols(&mut self) -> Vec<&mut dyn Input>;
    fn subcommand_docs(&self) -> Vec<DocInfo>;
    fn parse_subcommand(
        &mut self,
        sub_idx: usize,
        tokens: &[String],
    ) -> Result<(), CliError>;
    fn complete_subcommand(
        &mut self,
        sub_idx: usize,
        tokens: &[String],
    ) -> Result<Vec<CompOut>, CliError>;
    fn call_handler(&mut self) -> CliResult<()>;
    fn push_parent(&mut self, parents: &[String]);
}

Required Methods§

Source

fn docs(&self) -> &DocInfo

Source

fn symbols(&mut self) -> Vec<&mut dyn Input>

Source

fn subcommand_docs(&self) -> Vec<DocInfo>

Source

fn parse_subcommand( &mut self, sub_idx: usize, tokens: &[String], ) -> Result<(), CliError>

Source

fn complete_subcommand( &mut self, sub_idx: usize, tokens: &[String], ) -> Result<Vec<CompOut>, CliError>

Source

fn call_handler(&mut self) -> CliResult<()>

Source

fn push_parent(&mut self, parents: &[String])

Implementors§

Source§

impl<'a> ParserInfo for Command0<'a>

Source§

impl<'a, T1> ParserInfo for Command1<'a, T1>
where T1: Input,

Source§

impl<'a, T1, T2> ParserInfo for Command2<'a, T1, T2>
where T1: Input, T2: Input,

Source§

impl<'a, T1, T2, T3> ParserInfo for Command3<'a, T1, T2, T3>
where T1: Input, T2: Input, T3: Input,

Source§

impl<'a, T1, T2, T3, T4> ParserInfo for Command4<'a, T1, T2, T3, T4>
where T1: Input, T2: Input, T3: Input, T4: Input,

Source§

impl<'a, T1, T2, T3, T4, T5> ParserInfo for Command5<'a, T1, T2, T3, T4, T5>
where T1: Input, T2: Input, T3: Input, T4: Input, T5: Input,

Source§

impl<'a, T1, T2, T3, T4, T5, T6> ParserInfo for Command6<'a, T1, T2, T3, T4, T5, T6>
where T1: Input, T2: Input, T3: Input, T4: Input, T5: Input, T6: Input,