Skip to main content

CmdSpec

Struct CmdSpec 

Source
pub struct CmdSpec<'a, Ctx: ?Sized> { /* private fields */ }
Expand description

Command specification.

Implementations§

Source§

impl<'a, Ctx: ?Sized> CmdSpec<'a, Ctx>

Source

pub fn new(name: &'a str) -> Self

Source

pub fn help(self, s: &'a str) -> Self

Source

pub fn alias(self, a: &'a str) -> Self

Source

pub fn opt(self, o: OptSpec<'a, Ctx>) -> Self

Source

pub fn pos(self, p: PosSpec<'a, Ctx>) -> Self

Source

pub fn subcmd(self, c: Self) -> Self

Source

pub fn group(self, name: &'a str, mode: GroupMode) -> Self

Source

pub fn validator<F, E>(self, cb: F) -> Self
where F: Fn(&Matches) -> Result<(), E> + 'a, E: Display,

Set per-command validator returning a displayable error (converted into Error::User).

Source

pub fn validator_try<F, E>(self, cb: F) -> Self
where F: Fn(&Matches) -> Result<(), E> + 'a, E: Error + Send + Sync + 'static,

Set per-command validator returning a typed error (boxed into Error::UserAny).

Source

pub fn handler<F>(self, cb: F) -> Self
where F: Fn(&Matches, &mut Ctx) + 'a,

Set a leaf command handler. Only the selected leaf handler is executed.

Source

pub fn handler_try<F, E>(self, cb: F) -> Self
where F: Fn(&Matches, &mut Ctx) -> Result<(), E> + 'a, E: Error + Send + Sync + 'static,

Set a leaf command handler with a typed error (boxed into Error::UserAny).

Source

pub fn get_name(&self) -> &str

Source

pub fn get_help(&self) -> Option<&str>

Source

pub fn get_aliases(&self) -> &[&'a str]

Source

pub fn get_opts(&self) -> &[OptSpec<'a, Ctx>]

Source

pub fn get_positionals(&self) -> &[PosSpec<'a, Ctx>]

Source

pub fn get_subcommands(&self) -> &[Self]

Source

pub fn get_groups(&self) -> &[GroupDecl<'a>]

Source

pub fn get_validator(&self) -> Option<&CmdValidatorFn<'a>>

Source

pub fn get_handler(&self) -> Option<&CmdHandlerFn<'a, Ctx>>

Source

pub fn find_sub(&self, needle: &str) -> Option<&Self>

Auto Trait Implementations§

§

impl<'a, Ctx> Freeze for CmdSpec<'a, Ctx>
where Ctx: ?Sized,

§

impl<'a, Ctx> !RefUnwindSafe for CmdSpec<'a, Ctx>

§

impl<'a, Ctx> !Send for CmdSpec<'a, Ctx>

§

impl<'a, Ctx> !Sync for CmdSpec<'a, Ctx>

§

impl<'a, Ctx> Unpin for CmdSpec<'a, Ctx>
where Ctx: ?Sized,

§

impl<'a, Ctx> !UnwindSafe for CmdSpec<'a, Ctx>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.