#! /usr/bin/env bash set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x # Provide tmuxifier completions if [ "$1" == "--complete" ]; then tmuxifier-commands exit fi command="$1" # Ensure we have the correct command name in case an alias was given. if [ -n "$command" ]; then ! resolved="$(tmuxifier-alias "$command")" if [ -n "$resolved" ]; then command="$resolved" fi fi case "$command" in "" ) echo "usage: tmuxifier [] Some useful tmuxifier commands are: load-session s Load the specified session layout. load-window w Load the specified window layout into current session. list ls List all session and window layouts. list-sessions lss List session layouts. list-windows lsw List window layouts. new-session ns Create new session layout and open it with \$EDITOR. new-window nw Create new window layout and open it with \$EDITOR. edit-session es Edit specified session layout with \$EDITOR. edit-window ew Edit specified window layout with \$EDITOR. commands List all tmuxifier commands. version Print Tmuxifier version. help Show this message. See 'tmuxifier help ' for information on a specific command." ;; "load-session" ) echo "usage: tmuxifier load-session Aliases: session, ses, s Create a session using the session layout, unless the session already exists in which case, we simply switch to the existing one." ;; "load-window" ) echo "usage: tmuxifier load-window Aliases: window, win, w Create a new window using the specified window layout in the current session." ;; "new-session" ) echo "usage: tmuxifier new-session Aliases: new-ses, ns Create a new session layout and open it for editing in \$EDITOR." ;; "new-window" ) echo "usage: tmuxifier new-window Aliases: new-win, ws Create a new window layout and open it for editing in \$EDITOR." ;; "edit-session" ) echo "usage: tmuxifier edit-session Aliases: edit-ses, es Open specified session layout for editing in \$EDITOR." ;; "edit-window" ) echo "usage: tmuxifier edit-window Aliases: edit-win, ew Open specified window layout for editing in \$EDITOR." ;; "completions" ) echo "usage: tmuxifier completion Print a list of available completions for specified command." ;; "list" ) echo "usage: tmuxifier list Aliases: ls List all available session and window layouts." ;; "list-sessions" ) echo "usage: tmuxifier list-sessions Aliases: list-ses, lss List all session layouts." ;; "list-windows" ) echo "usage: tmuxifier list-windows Aliases: list-win, lsw List all window layouts." ;; * ) ! command_path="$(tmuxifier-resolve-command-path "$command")" if [ -n "$command_path" ]; then echo "Sorry, the '$command' command isn't documented yet." echo echo "You can view the command's source here:" echo "$command_path" echo else echo "tmuxifier: no such command '$command'" >&2 exit 1 fi ;; esac