mirror of
https://github.com/jimeh/tmuxifier.git
synced 2026-02-19 09:56:39 +00:00
125 lines
3.2 KiB
Bash
Executable File
125 lines
3.2 KiB
Bash
Executable File
#! /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 <command> [<args>]
|
|
|
|
Some useful tmuxifier commands are:
|
|
<command> <alias>
|
|
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 <command>' for information on a specific command."
|
|
;;
|
|
"load-session" )
|
|
echo "usage: tmuxifier load-session <layout_name>
|
|
|
|
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 <layout_name>
|
|
|
|
Aliases: window, win, w
|
|
|
|
Create a new window using the specified window layout in the current session."
|
|
;;
|
|
"new-session" )
|
|
echo "usage: tmuxifier new-session <layout_name>
|
|
|
|
Aliases: new-ses, ns
|
|
|
|
Create a new session layout and open it for editing in \$EDITOR."
|
|
;;
|
|
"new-window" )
|
|
echo "usage: tmuxifier new-window <layout_name>
|
|
|
|
Aliases: new-win, ws
|
|
|
|
Create a new window layout and open it for editing in \$EDITOR."
|
|
;;
|
|
"edit-session" )
|
|
echo "usage: tmuxifier edit-session <layout_name>
|
|
|
|
Aliases: edit-ses, es
|
|
|
|
Open specified session layout for editing in \$EDITOR."
|
|
;;
|
|
"edit-window" )
|
|
echo "usage: tmuxifier edit-window <layout_name>
|
|
|
|
Aliases: edit-win, ew
|
|
|
|
Open specified window layout for editing in \$EDITOR."
|
|
;;
|
|
"completions" )
|
|
echo "usage: tmuxifier completion <command>
|
|
|
|
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
|