Enum Command

Source
pub enum Command {
    Save {
        strategy: StrategyConfig,
        to_tmux: bool,
        compact: bool,
        num_lines_to_drop: u8,
    },
    Restore {
        strategy: StrategyConfig,
        to_tmux: bool,
        backup_filepath: Option<PathBuf>,
    },
    Catalog {
        strategy: StrategyConfig,
        command: CatalogSubcommand,
    },
    Describe {
        backup_filepath: PathBuf,
    },
    GenerateCompletion {
        shell: Shell,
    },
    Init,
}
Expand description

Indicate whether to save (resp. restore) the Tmux sessions to (resp. from) a backup.

Variants§

§

Save

Save the Tmux sessions to a new backup file.

Sessions, windows, and panes geometry + content are saved in an archive format inside the backup folder. In that folder, the backup name is expected to be similar to backup-20220531T123456.tar.zst.

If you run this command via a Tmux keybinding, use the --to-tmux flag in order to send a one-line report to the Tmux status bar. If you run this command from the terminal, ignore this flag in order to print the one-line report in the terminal.

Fields

§strategy: StrategyConfig

Choose a strategy for managing backups.

§to_tmux: bool

Print a one-line report in the Tmux status bar, otherwise print to stdout.

§compact: bool

Delete purgeable backups after saving.

§num_lines_to_drop: u8

Number of lines to ignore during capture if the active command is a shell.

At the time of saving, for each pane where the active command is one of (zsh, bash, fish), the shell prompt is waiting for input. If tmux-backup naively captures the entire history, on restoring that backup, a new shell prompt will also appear. This obviously pollutes history with repeated shell prompts.

If you know the number of lines your shell prompt occupies on screen, set this option to that number (simply 1 in my case). These last lines will not be captured. On restore, this gives the illusion of history continuity without repetition.

§

Restore

Restore the Tmux sessions from a backup file.

Sessions, windows and panes geometry + content are read from the backup marked as “current” (often the most recent backup) inside the backup folder. In that folder, the backup name is expected to be similar to backup-20220531T123456.tar.zst.

If you run this command via a Tmux keybinding, use the --to-tmux flag in order to send a one-line report to the Tmux status bar. If you run this command from the terminal, ignore this flag in order to print the one-line report in the terminal.

Fields

§strategy: StrategyConfig

Choose a strategy for managing backups.

§to_tmux: bool

Print a one-line report in the Tmux status bar, otherwise print to stdout.

§backup_filepath: Option<PathBuf>

Filepath of the backup to restore, by default, pick latest.

§

Catalog

Catalog commands.

Fields

§strategy: StrategyConfig

Choose a strategy for managing backups.

§command: CatalogSubcommand

Catalog commands.

§

Describe

Describe the content of a backup file.

Fields

§backup_filepath: PathBuf

Path to the backup file.

§

GenerateCompletion

Print a shell completion script to stdout.

Fields

§shell: Shell

Shell for which you want completion.

§

Init

Outputs the default tmux plugin config to stdout.

Similar to shell completions, this is done once when installing tmux-backup. Type tmux-backup init > ~/.tmux/plugins/tmux-backup.tmux. and source it from your ~/.tmux.conf. See the README for details.

Trait Implementations§

Source§

impl Debug for Command

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromArgMatches for Command

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 Command

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
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.