Skip to main content

Commands

Enum Commands 

Source
pub enum Commands {
    Add {
        source: PathBuf,
        target: Option<PathBuf>,
        contents: bool,
        name: Option<String>,
    },
    List,
    Info {
        id: String,
    },
    Remove {
        id: String,
        with_target: bool,
    },
    Config {
        action: ConfigAction,
    },
    Update {
        id: String,
        source: Option<PathBuf>,
        target: Option<PathBuf>,
        name: Option<String>,
    },
    Migrate {
        id: String,
        dest: Option<PathBuf>,
    },
    Metadata {
        action: MetadataAction,
    },
}
Expand description

The Commands enum defines the various commands that the bonds CLI application supports. Each variant corresponds to a specific action that can be performed on the bonds, such as adding a new bond, listing existing bonds, updating bond information, and managing metadata. Some commands have their own subcommands for more granular actions, such as the Config and Metadata commands. This structure allows for a clear and organized command-line interface, making it easier for users to understand and use the available functionality of the CLI application.

Variants§

§

Add

Create a new bond from source to target

Fields

§source: PathBuf

The source directory or file to bond

§target: Option<PathBuf>

The target location (defaults to current directory + source name)

§contents: bool

Bond each child of source as a separate bond into target

§name: Option<String>

Give this bond a name for easy reference

§

List

List all bonds

§

Info

Show details of a specific bond

Fields

§id: String

Bond ID

§

Remove

Remove a bond

Fields

§id: String

Bond ID

§with_target: bool

Also delete the target directory/file (not just the symlink)

§

Config

View or modify configuration

Fields

§

Update

Update an existing bond’s source or target

Fields

§id: String

Bond ID (or prefix)

§source: Option<PathBuf>

New source path

§target: Option<PathBuf>

New target path

§name: Option<String>

Set or change the bond’s name

§

Migrate

Move a bond’s target to a new directory

Fields

§id: String

Bond name or ID prefix

§dest: Option<PathBuf>

Destination directory (defaults to configured default directory)

§

Metadata

Read or modify metadata for a bond

Fields

Trait Implementations§

Source§

impl FromArgMatches for Commands

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

impl Subcommand for Commands

Source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand

Auto Trait Implementations§

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.