From 0e2cfa2327ee9402fe757db36687a90886ed8cde Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sun, 2 Jun 2013 18:30:28 +0300 Subject: [PATCH 01/10] Enable load-session command from outside of Tmux This means that "init" session layouts can now be used to start and/or re-attach to your main session. Personally I have a "main" session layout with a couple of default windows. I can now either start that session, or re-attach to it from outside of Tmux by just running `tmuxifier s main`, instead of manually creating a session named "main" and then loading my windows into it. --- lib/layout-helpers.sh | 3 --- libexec/tmuxifier-load-session | 8 ++------ 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/lib/layout-helpers.sh b/lib/layout-helpers.sh index 57bbbe0..c0d2738 100644 --- a/lib/layout-helpers.sh +++ b/lib/layout-helpers.sh @@ -187,9 +187,6 @@ initialize_session() { local first_window_index=$(__get_first_window_index) tmux move-window -s "$session:$first_window_index" -t "$session:999" - # Ensure correct pane splitting. - __go_to_session - # Session created, return ok exit status. return 0 fi diff --git a/libexec/tmuxifier-load-session b/libexec/tmuxifier-load-session index 7f82c88..e596cbe 100755 --- a/libexec/tmuxifier-load-session +++ b/libexec/tmuxifier-load-session @@ -18,9 +18,5 @@ fi # Load runtime functions. source "$TMUXIFIER/runtime.sh" -if [ ! -z $TMUX ]; then - load_session "$1" -else - echo "tmuxifier: 'load-session' command can only be used from within Tmux." - exit 1 -fi +# Load session file. +load_session "$1" From fa28de8b9472235d63526f6ddb443d88869c1bff Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sun, 2 Jun 2013 18:30:53 +0300 Subject: [PATCH 02/10] Bump version to 0.5.0 --- libexec/tmuxifier-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/tmuxifier-version b/libexec/tmuxifier-version index 04240df..0495940 100755 --- a/libexec/tmuxifier-version +++ b/libexec/tmuxifier-version @@ -2,4 +2,4 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x -echo "0.4.1" +echo "0.5.0" From 489d1a5a3e1c4dd2593f2034f571dd13c5336f7d Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sun, 2 Jun 2013 18:40:27 +0300 Subject: [PATCH 03/10] Small readme update --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 14d4800..83a042f 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ export TMUXIFIER_LAYOUT_PATH="$HOME/.tmux-layouts" ### Disable Shell-Completion -Tmuxifier comes with shell-completion for bash and zsh. If for any +Tmuxifier comes with shell-completion for bash, zsh and tcsh. If for any reason you need to disable it, just set `$TMUXIFIER_NO_COMPLETE`. ```bash @@ -167,7 +167,7 @@ export TMUXIFIER_NO_COMPLETE=1 ## Tmuxifier vs. Tmuxinator Though Tmuxifier is largely inspired by the excellent [Tmuxinator][] project, -but does set itself apart in a number of ways: +it does set itself apart in a number of ways: - Uses shell scripts to define Tmux sessions and windows instead of YAML files. The benefit is total control over Tmux, but the definition files are @@ -200,7 +200,7 @@ But if that doesn't put you off, please enjoy Tmuxifier :) (The MIT license) -Copyright (c) 2012 Jim Myhrberg. +Copyright (c) 2013 Jim Myhrberg. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From 5363ac555b71a4a0dcf8ff1e6379f08e5f36dd19 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sun, 2 Jun 2013 18:45:12 +0300 Subject: [PATCH 04/10] Re-organize internal files a bit --- bin/tmuxifier | 2 +- env.sh => lib/env.sh | 0 runtime.sh => lib/runtime.sh | 2 +- libexec/tmuxifier-load-session | 2 +- libexec/tmuxifier-load-window | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) rename env.sh => lib/env.sh (100%) rename runtime.sh => lib/runtime.sh (87%) diff --git a/bin/tmuxifier b/bin/tmuxifier index 1d58357..0b19df5 100755 --- a/bin/tmuxifier +++ b/bin/tmuxifier @@ -9,7 +9,7 @@ else fi # Load tmuxifier environment variables. -source "$TMUXIFIER/env.sh" +source "$TMUXIFIER/lib/env.sh" export PATH="$TMUXIFIER/libexec:$PATH" diff --git a/env.sh b/lib/env.sh similarity index 100% rename from env.sh rename to lib/env.sh diff --git a/runtime.sh b/lib/runtime.sh similarity index 87% rename from runtime.sh rename to lib/runtime.sh index 7666b44..fbd7963 100644 --- a/runtime.sh +++ b/lib/runtime.sh @@ -3,7 +3,7 @@ # # Load tmuxifier environment. -source "$TMUXIFIER/env.sh" +source "$TMUXIFIER/lib/env.sh" # Setup default variables. session_root="$HOME" diff --git a/libexec/tmuxifier-load-session b/libexec/tmuxifier-load-session index e596cbe..5aae955 100755 --- a/libexec/tmuxifier-load-session +++ b/libexec/tmuxifier-load-session @@ -16,7 +16,7 @@ if [ -z "$1" ]; then fi # Load runtime functions. -source "$TMUXIFIER/runtime.sh" +source "$TMUXIFIER/lib/runtime.sh" # Load session file. load_session "$1" diff --git a/libexec/tmuxifier-load-window b/libexec/tmuxifier-load-window index 8a15a91..cb5e5ef 100755 --- a/libexec/tmuxifier-load-window +++ b/libexec/tmuxifier-load-window @@ -16,7 +16,7 @@ if [ -z "$1" ]; then fi # Load runtime functions. -source "$TMUXIFIER/runtime.sh" +source "$TMUXIFIER/lib/runtime.sh" if [ ! -z $TMUX ]; then session="$(tmuxifier-current-session)" From 55cf26b9e61309324fd991e398a5f3a25c98fbeb Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sun, 2 Jun 2013 20:09:59 +0300 Subject: [PATCH 05/10] Re-organize and improve help command and help info for each command --- libexec/tmuxifier-alias | 8 ++ libexec/tmuxifier-commands | 9 ++ libexec/tmuxifier-completions | 10 +- libexec/tmuxifier-current-session | 8 ++ libexec/tmuxifier-edit-session | 10 ++ libexec/tmuxifier-edit-window | 10 ++ libexec/tmuxifier-help | 122 ++++++------------------- libexec/tmuxifier-list | 10 ++ libexec/tmuxifier-list-sessions | 10 ++ libexec/tmuxifier-list-windows | 10 ++ libexec/tmuxifier-load-session | 11 +++ libexec/tmuxifier-load-window | 10 ++ libexec/tmuxifier-new-session | 10 ++ libexec/tmuxifier-new-window | 10 ++ libexec/tmuxifier-resolve-command-path | 8 ++ libexec/tmuxifier-version | 8 ++ 16 files changed, 170 insertions(+), 94 deletions(-) diff --git a/libexec/tmuxifier-alias b/libexec/tmuxifier-alias index 2e4dcb9..f5b1e32 100755 --- a/libexec/tmuxifier-alias +++ b/libexec/tmuxifier-alias @@ -2,6 +2,14 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x +# Provide tmuxifier help +if [ "$1" == "--help" ]; then + echo "usage: tmuxifier alias + +Resolve a command alias to it's full name." + exit +fi + case "$1" in "session" | "ses" | "s" ) echo "load-session" diff --git a/libexec/tmuxifier-commands b/libexec/tmuxifier-commands index 2d06e25..db1dfe0 100755 --- a/libexec/tmuxifier-commands +++ b/libexec/tmuxifier-commands @@ -2,6 +2,15 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x +# Provide tmuxifier help +if [ "$1" == "--help" ]; then + echo "usage: tmuxifier commands + +List all available commands, includes internal commands not intended for +normal use by users." + exit +fi + shopt -s nullglob { for path in ${PATH//:/$'\n'}; do diff --git a/libexec/tmuxifier-completions b/libexec/tmuxifier-completions index 57598ad..ad06970 100755 --- a/libexec/tmuxifier-completions +++ b/libexec/tmuxifier-completions @@ -2,6 +2,14 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x +# Provide tmuxifier help +if [ "$1" == "--help" ]; then + echo "usage: tmuxifier completion + +Print a list of available completions for specified command." + exit +fi + # Provide tmuxifier completions if [ "$1" == "--complete" ]; then tmuxifier-commands @@ -9,7 +17,7 @@ if [ "$1" == "--complete" ]; then fi has-completions() { - grep -i "^# provide tmuxifier completions" "$1" >/dev/null + grep -i "^# Provide tmuxifier completions" "$1" >/dev/null } command="$1" diff --git a/libexec/tmuxifier-current-session b/libexec/tmuxifier-current-session index 0baa21e..706ca01 100755 --- a/libexec/tmuxifier-current-session +++ b/libexec/tmuxifier-current-session @@ -2,6 +2,14 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x +# Provide tmuxifier help +if [ "$1" == "--help" ]; then + echo "usage: tmuxifier current-session + +Outputs the name of the current Tmux session." + exit +fi + if [ -n "$TMUX" ]; then for item in $(tmux list-pane -F "#{session_name}");do echo $item diff --git a/libexec/tmuxifier-edit-session b/libexec/tmuxifier-edit-session index 3ec5e6e..a6f0cbc 100755 --- a/libexec/tmuxifier-edit-session +++ b/libexec/tmuxifier-edit-session @@ -2,6 +2,16 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x +# Provide tmuxifier help +if [ "$1" == "--help" ]; then + echo "usage: tmuxifier edit-session + +Aliases: edit-ses, es + +Open specified session layout for editing in \$EDITOR." + exit +fi + # Provide tmuxifier completions if [ "$1" == "--complete" ]; then for item in $(tmuxifier-list-sessions); do diff --git a/libexec/tmuxifier-edit-window b/libexec/tmuxifier-edit-window index 89ff1bd..5199292 100755 --- a/libexec/tmuxifier-edit-window +++ b/libexec/tmuxifier-edit-window @@ -2,6 +2,16 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x +# Provide tmuxifier help +if [ "$1" == "--help" ]; then + echo "usage: tmuxifier edit-window + +Aliases: edit-win, ew + +Open specified window layout for editing in \$EDITOR." + exit +fi + # Provide tmuxifier completions if [ "$1" == "--complete" ]; then for item in $(tmuxifier-list-windows); do diff --git a/libexec/tmuxifier-help b/libexec/tmuxifier-help index 08befed..c2eb96c 100755 --- a/libexec/tmuxifier-help +++ b/libexec/tmuxifier-help @@ -2,25 +2,25 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x +# Provide tmuxifier help +if [ "$1" == "--help" ]; then + tmuxifier-help + exit +fi + # Provide tmuxifier completions if [ "$1" == "--complete" ]; then tmuxifier-commands exit fi +has-help() { + grep -i "^# Provide tmuxifier help" "$1" >/dev/null +} + 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 [] +if [ -z "$command" ]; then + echo "usage: tmuxifier [] Some useful tmuxifier commands are: @@ -38,87 +38,23 @@ Some useful tmuxifier commands are: help Show this message. See 'tmuxifier help ' for information on a specific command." - ;; - "load-session" ) - echo "usage: tmuxifier load-session + exit +fi -Aliases: session, ses, s +! command_path="$(tmuxifier-resolve-command-path "$command")" -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 +if [ -z "$command_path" ]; then + echo "tmuxifier: no such command '$command'" >&2 + exit 1 +fi -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 +if has-help "$command_path"; then + shift + exec "$command_path" --help "$@" +else + echo "Sorry, the '$command' command isn't documented yet." + echo "" + echo "You can view the command's source here:" + echo "$command_path" + echo "" +fi diff --git a/libexec/tmuxifier-list b/libexec/tmuxifier-list index dcfbe4b..d3d18b2 100755 --- a/libexec/tmuxifier-list +++ b/libexec/tmuxifier-list @@ -2,6 +2,16 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x +# Provide tmuxifier help +if [ "$1" == "--help" ]; then + echo "usage: tmuxifier list + +Aliases: ls + +List all available session and window layouts." + exit +fi + echo "" echo "Sessions:" tmuxifier-list-sessions diff --git a/libexec/tmuxifier-list-sessions b/libexec/tmuxifier-list-sessions index be7c993..4bbde66 100755 --- a/libexec/tmuxifier-list-sessions +++ b/libexec/tmuxifier-list-sessions @@ -2,6 +2,16 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x +# Provide tmuxifier help +if [ "$1" == "--help" ]; then + echo "usage: tmuxifier list-sessions + +Aliases: list-ses, lss + +List all session layouts." + exit +fi + list=$(find -L "$TMUXIFIER_LAYOUT_PATH" -name "*.session.sh") for file in $list; do file=${file/$TMUXIFIER_LAYOUT_PATH\//} diff --git a/libexec/tmuxifier-list-windows b/libexec/tmuxifier-list-windows index ccc4149..94ccca1 100755 --- a/libexec/tmuxifier-list-windows +++ b/libexec/tmuxifier-list-windows @@ -2,6 +2,16 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x +# Provide tmuxifier help +if [ "$1" == "--help" ]; then + echo "usage: tmuxifier list-windows + +Aliases: list-win, lsw + +List all window layouts." + exit +fi + list=$(find -L "$TMUXIFIER_LAYOUT_PATH" -name "*.window.sh") for file in $list; do file=${file/$TMUXIFIER_LAYOUT_PATH\//} diff --git a/libexec/tmuxifier-load-session b/libexec/tmuxifier-load-session index 5aae955..87a88b3 100755 --- a/libexec/tmuxifier-load-session +++ b/libexec/tmuxifier-load-session @@ -2,6 +2,17 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x +# Provide tmuxifier help +if [ "$1" == "--help" ]; then + 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 attach/switch to the existing one." + exit +fi + # Provide tmuxifier completions if [ "$1" == "--complete" ]; then for item in $(tmuxifier-list-sessions); do diff --git a/libexec/tmuxifier-load-window b/libexec/tmuxifier-load-window index cb5e5ef..5153796 100755 --- a/libexec/tmuxifier-load-window +++ b/libexec/tmuxifier-load-window @@ -2,6 +2,16 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x +# Provide tmuxifier help +if [ "$1" == "--help" ]; then + echo "usage: tmuxifier load-window + +Aliases: window, win, w + +Create a new window using the specified window layout in the current session." + exit +fi + # Provide tmuxifier completions if [ "$1" == "--complete" ]; then for item in $(tmuxifier-list-windows); do diff --git a/libexec/tmuxifier-new-session b/libexec/tmuxifier-new-session index e8ce920..58a19b6 100755 --- a/libexec/tmuxifier-new-session +++ b/libexec/tmuxifier-new-session @@ -2,6 +2,16 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x +# Provide tmuxifier help +if [ "$1" == "--help" ]; then + echo "usage: tmuxifier new-session + +Aliases: new-ses, ns + +Create a new session layout and open it for editing in \$EDITOR." + exit +fi + # Provide tmuxifier completions if [ "$1" == "--complete" ]; then for item in $(tmuxifier-list-sessions); do diff --git a/libexec/tmuxifier-new-window b/libexec/tmuxifier-new-window index a405446..010b3ff 100755 --- a/libexec/tmuxifier-new-window +++ b/libexec/tmuxifier-new-window @@ -2,6 +2,16 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x +# Provide tmuxifier help +if [ "$1" == "--help" ]; then + echo "usage: tmuxifier new-window + +Aliases: new-win, ws + +Create a new window layout and open it for editing in \$EDITOR." + exit +fi + # Provide tmuxifier completions if [ "$1" == "--complete" ]; then for item in $(tmuxifier-list-windows); do diff --git a/libexec/tmuxifier-resolve-command-path b/libexec/tmuxifier-resolve-command-path index bf7a83e..087190c 100755 --- a/libexec/tmuxifier-resolve-command-path +++ b/libexec/tmuxifier-resolve-command-path @@ -2,6 +2,14 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x +# Provide tmuxifier help +if [ "$1" == "--help" ]; then + echo "usage: tmuxifier resolve-command-path + +Outputs the absolute path to the given command or command alias." + exit +fi + if [ -n "$1" ]; then ! command_path="$(command -v "tmuxifier-$1")" if [ -z "$command_path" ]; then diff --git a/libexec/tmuxifier-version b/libexec/tmuxifier-version index 0495940..56c50b8 100755 --- a/libexec/tmuxifier-version +++ b/libexec/tmuxifier-version @@ -2,4 +2,12 @@ set -e [ -n "$TMUXIFIER_DEBUG" ] && set -x +# Provide tmuxifier help +if [ "$1" == "--help" ]; then + echo "usage: tmuxifier version + +Outputs Tmuxifier version." + exit +fi + echo "0.5.0" From bdea895af0b0bfb3c2043b611550ea6c338f66b7 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sun, 2 Jun 2013 20:10:26 +0300 Subject: [PATCH 06/10] Change output format of list commands --- libexec/tmuxifier-list | 8 ++++++-- libexec/tmuxifier-list-sessions | 2 +- libexec/tmuxifier-list-windows | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/libexec/tmuxifier-list b/libexec/tmuxifier-list index d3d18b2..3b86672 100755 --- a/libexec/tmuxifier-list +++ b/libexec/tmuxifier-list @@ -14,8 +14,12 @@ fi echo "" echo "Sessions:" -tmuxifier-list-sessions +for item in $(tmuxifier-list-sessions); do + echo " - $item" +done echo "" echo "Windows:" -tmuxifier-list-windows +for item in $(tmuxifier-list-windows); do + echo " - $item" +done echo "" diff --git a/libexec/tmuxifier-list-sessions b/libexec/tmuxifier-list-sessions index 4bbde66..a72bca5 100755 --- a/libexec/tmuxifier-list-sessions +++ b/libexec/tmuxifier-list-sessions @@ -15,5 +15,5 @@ fi list=$(find -L "$TMUXIFIER_LAYOUT_PATH" -name "*.session.sh") for file in $list; do file=${file/$TMUXIFIER_LAYOUT_PATH\//} - echo " ${file/.session.sh/}" + echo "${file/.session.sh/}" done diff --git a/libexec/tmuxifier-list-windows b/libexec/tmuxifier-list-windows index 94ccca1..dabf323 100755 --- a/libexec/tmuxifier-list-windows +++ b/libexec/tmuxifier-list-windows @@ -15,5 +15,5 @@ fi list=$(find -L "$TMUXIFIER_LAYOUT_PATH" -name "*.window.sh") for file in $list; do file=${file/$TMUXIFIER_LAYOUT_PATH\//} - echo " ${file/.window.sh/}" + echo "${file/.window.sh/}" done From bf6969ba372d0ce68ee5824a1f81e127f3fbae83 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sun, 2 Jun 2013 20:11:36 +0300 Subject: [PATCH 07/10] Bump version to 0.5.1 --- libexec/tmuxifier-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/tmuxifier-version b/libexec/tmuxifier-version index 56c50b8..a6ff175 100755 --- a/libexec/tmuxifier-version +++ b/libexec/tmuxifier-version @@ -10,4 +10,4 @@ Outputs Tmuxifier version." exit fi -echo "0.5.0" +echo "0.5.1" From bd585ca2bb72eec3fd97fa477e380617fe5ebe26 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sun, 2 Jun 2013 20:27:28 +0300 Subject: [PATCH 08/10] Misc. code cleanup and minor improvement to help command --- libexec/tmuxifier-completions | 5 ++--- libexec/tmuxifier-help | 8 +++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/libexec/tmuxifier-completions b/libexec/tmuxifier-completions index ad06970..5d72703 100755 --- a/libexec/tmuxifier-completions +++ b/libexec/tmuxifier-completions @@ -20,13 +20,12 @@ has-completions() { grep -i "^# Provide tmuxifier completions" "$1" >/dev/null } -command="$1" -if [ -z "$command" ]; then +if [ -z "$1" ]; then echo "$(tmuxifier-help completions)" >&2 exit 1 fi -! command_path="$(tmuxifier-resolve-command-path "$command")" +! command_path="$(tmuxifier-resolve-command-path "$1")" if [ -n "$command_path" ] && has-completions "$command_path"; then shift diff --git a/libexec/tmuxifier-help b/libexec/tmuxifier-help index c2eb96c..a2009f3 100755 --- a/libexec/tmuxifier-help +++ b/libexec/tmuxifier-help @@ -19,7 +19,7 @@ has-help() { } command="$1" -if [ -z "$command" ]; then +if [ -z "$1" ]; then echo "usage: tmuxifier [] Some useful tmuxifier commands are: @@ -41,10 +41,10 @@ See 'tmuxifier help ' for information on a specific command." exit fi -! command_path="$(tmuxifier-resolve-command-path "$command")" +! command_path="$(tmuxifier-resolve-command-path "$1")" if [ -z "$command_path" ]; then - echo "tmuxifier: no such command '$command'" >&2 + echo "tmuxifier: no such command '$1'" >&2 exit 1 fi @@ -52,6 +52,8 @@ if has-help "$command_path"; then shift exec "$command_path" --help "$@" else + command="$(basename "$command_path")" + command="${command/tmuxifier\-/}" echo "Sorry, the '$command' command isn't documented yet." echo "" echo "You can view the command's source here:" From 15bbca80d4c8e84b4e514fc0ab5725930c48641a Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sun, 2 Jun 2013 20:35:06 +0300 Subject: [PATCH 09/10] Update aliases and fixed inconsistencies with list command aliases --- libexec/tmuxifier-alias | 14 +++++++------- libexec/tmuxifier-edit-session | 2 +- libexec/tmuxifier-edit-window | 2 +- libexec/tmuxifier-help | 6 +++--- libexec/tmuxifier-list | 2 +- libexec/tmuxifier-list-sessions | 2 +- libexec/tmuxifier-list-windows | 2 +- libexec/tmuxifier-new-session | 2 +- libexec/tmuxifier-new-window | 2 +- 9 files changed, 17 insertions(+), 17 deletions(-) diff --git a/libexec/tmuxifier-alias b/libexec/tmuxifier-alias index f5b1e32..1bca770 100755 --- a/libexec/tmuxifier-alias +++ b/libexec/tmuxifier-alias @@ -17,25 +17,25 @@ case "$1" in "window" | "win" | "w" ) echo "load-window" ;; - "new-ses" | "ns" ) + "new-ses" | "nses" | "ns" ) echo "new-session" ;; - "new-win" | "nw" ) + "new-win" | "nwin" | "nw" ) echo "new-window" ;; - "edit-ses" | "es" ) + "edit-ses" | "eses" | "es" ) echo "edit-session" ;; - "edit-win" | "ew" ) + "edit-win" | "ewin" | "ew" ) echo "edit-window" ;; - "ls" ) + "l" ) echo "list" ;; - "list-ses" | "lss" ) + "list-ses" | "lses" | "ls" ) echo "list-sessions" ;; - "list-win" | "lsw" ) + "list-win" | "lwin" | "lw" ) echo "list-windows" ;; * ) diff --git a/libexec/tmuxifier-edit-session b/libexec/tmuxifier-edit-session index a6f0cbc..17f5125 100755 --- a/libexec/tmuxifier-edit-session +++ b/libexec/tmuxifier-edit-session @@ -6,7 +6,7 @@ set -e if [ "$1" == "--help" ]; then echo "usage: tmuxifier edit-session -Aliases: edit-ses, es +Aliases: edit-ses, eses, es Open specified session layout for editing in \$EDITOR." exit diff --git a/libexec/tmuxifier-edit-window b/libexec/tmuxifier-edit-window index 5199292..6ff6736 100755 --- a/libexec/tmuxifier-edit-window +++ b/libexec/tmuxifier-edit-window @@ -6,7 +6,7 @@ set -e if [ "$1" == "--help" ]; then echo "usage: tmuxifier edit-window -Aliases: edit-win, ew +Aliases: edit-win, ewin, ew Open specified window layout for editing in \$EDITOR." exit diff --git a/libexec/tmuxifier-help b/libexec/tmuxifier-help index a2009f3..c0579ff 100755 --- a/libexec/tmuxifier-help +++ b/libexec/tmuxifier-help @@ -26,9 +26,9 @@ 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. + list l List all session and window layouts. + list-sessions ls List session layouts. + list-windows lw 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. diff --git a/libexec/tmuxifier-list b/libexec/tmuxifier-list index 3b86672..2c4cab7 100755 --- a/libexec/tmuxifier-list +++ b/libexec/tmuxifier-list @@ -6,7 +6,7 @@ set -e if [ "$1" == "--help" ]; then echo "usage: tmuxifier list -Aliases: ls +Aliases: l List all available session and window layouts." exit diff --git a/libexec/tmuxifier-list-sessions b/libexec/tmuxifier-list-sessions index a72bca5..8651ef8 100755 --- a/libexec/tmuxifier-list-sessions +++ b/libexec/tmuxifier-list-sessions @@ -6,7 +6,7 @@ set -e if [ "$1" == "--help" ]; then echo "usage: tmuxifier list-sessions -Aliases: list-ses, lss +Aliases: list-ses, lses, ls List all session layouts." exit diff --git a/libexec/tmuxifier-list-windows b/libexec/tmuxifier-list-windows index dabf323..0cc6179 100755 --- a/libexec/tmuxifier-list-windows +++ b/libexec/tmuxifier-list-windows @@ -6,7 +6,7 @@ set -e if [ "$1" == "--help" ]; then echo "usage: tmuxifier list-windows -Aliases: list-win, lsw +Aliases: list-win, lwin, lw List all window layouts." exit diff --git a/libexec/tmuxifier-new-session b/libexec/tmuxifier-new-session index 58a19b6..23e370d 100755 --- a/libexec/tmuxifier-new-session +++ b/libexec/tmuxifier-new-session @@ -6,7 +6,7 @@ set -e if [ "$1" == "--help" ]; then echo "usage: tmuxifier new-session -Aliases: new-ses, ns +Aliases: new-ses, nses, ns Create a new session layout and open it for editing in \$EDITOR." exit diff --git a/libexec/tmuxifier-new-window b/libexec/tmuxifier-new-window index 010b3ff..0dd6a4a 100755 --- a/libexec/tmuxifier-new-window +++ b/libexec/tmuxifier-new-window @@ -6,7 +6,7 @@ set -e if [ "$1" == "--help" ]; then echo "usage: tmuxifier new-window -Aliases: new-win, ws +Aliases: new-win, nwin, nw Create a new window layout and open it for editing in \$EDITOR." exit From 7d91ca4292c318e97d90d33a7822943a55236236 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sun, 2 Jun 2013 20:35:30 +0300 Subject: [PATCH 10/10] Bump version to 0.6.0 --- libexec/tmuxifier-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/tmuxifier-version b/libexec/tmuxifier-version index a6ff175..09fa445 100755 --- a/libexec/tmuxifier-version +++ b/libexec/tmuxifier-version @@ -10,4 +10,4 @@ Outputs Tmuxifier version." exit fi -echo "0.5.1" +echo "0.6.0"