1
0
Fork 0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2024-11-25 15:20:08 +00:00

take in csexton's changes

https://gist.github.com/1019777/70dbb46db9bd5b346faf543a9dd4edac4782adda
This commit is contained in:
John Antoni Griffiths 2012-01-18 12:58:13 -05:00
parent 741f6747e4
commit c1a04eb61f

View file

@ -4,7 +4,6 @@
# Adds a kapow command that will restart an app
#
# $ kapow myapp
# $ kapow # defaults to current directory
#
# Supports command completion.
#
@ -12,14 +11,40 @@
#
# autoload -U compinit compinit
#
# Thanks also to Christopher Sexton
# https://gist.github.com/965032
# Changes:
#
function kapow {
FOLDERNAME=$1
if [ -z "$FOLDERNAME" ]; then; FOLDERNAME=${PWD##*/}; fi
touch ~/.pow/$FOLDERNAME/tmp/restart.txt;
if [ $? -eq 0 ]; then; echo "pow: restarting $FOLDERNAME" ; fi
}
# Defaults to the current application, and will walk up the tree to find
# a config.ru file and restart the corresponding app
#
# Will Detect if a app does not exist in pow and print a (slightly) helpful
# error message
compctl -W ~/.pow -/ kapow
rack_root_detect(){
setopt chaselinks
local orgdir=$(pwd)
local basedir=$(pwd)
while [[ $basedir != '/' ]]; do
test -e "$basedir/config.ru" && break
builtin cd ".." 2>/dev/null
basedir="$(pwd)"
done
builtin cd $orgdir 2>/dev/null
[[ ${basedir} == "/" ]] && return 1
echo `basename $basedir | sed -E "s/.(com|net|org)//"`
}
kapow(){
local vhost=$1
[ ! -n "$vhost" ] && vhost=$(rack_root_detect)
if [ ! -h ~/.pow/$vhost ]
then
echo "pow: This domain isnt set up yet. Symlink your application to ${vhost} first."
return 1
fi
[ ! -d "~/.pow/${vhost}/tmp" ] && mkdir -p "~/.pow/$vhost/tmp"
touch ~/.pow/$vhost/tmp/restart.txt;
[ $? -eq 0 ] && echo "pow: restarting $vhost.dev"
}
compctl -W ~/.pow -/ kapow