mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-12-19 20:29:45 +01:00
take in csexton's changes
https://gist.github.com/1019777/70dbb46db9bd5b346faf543a9dd4edac4782adda
This commit is contained in:
parent
741f6747e4
commit
c1a04eb61f
1 changed files with 35 additions and 10 deletions
|
@ -4,7 +4,6 @@
|
||||||
# Adds a kapow command that will restart an app
|
# Adds a kapow command that will restart an app
|
||||||
#
|
#
|
||||||
# $ kapow myapp
|
# $ kapow myapp
|
||||||
# $ kapow # defaults to current directory
|
|
||||||
#
|
#
|
||||||
# Supports command completion.
|
# Supports command completion.
|
||||||
#
|
#
|
||||||
|
@ -12,14 +11,40 @@
|
||||||
#
|
#
|
||||||
# autoload -U compinit compinit
|
# autoload -U compinit compinit
|
||||||
#
|
#
|
||||||
# Thanks also to Christopher Sexton
|
# Changes:
|
||||||
# https://gist.github.com/965032
|
|
||||||
#
|
#
|
||||||
function kapow {
|
# Defaults to the current application, and will walk up the tree to find
|
||||||
FOLDERNAME=$1
|
# a config.ru file and restart the corresponding app
|
||||||
if [ -z "$FOLDERNAME" ]; then; FOLDERNAME=${PWD##*/}; fi
|
#
|
||||||
touch ~/.pow/$FOLDERNAME/tmp/restart.txt;
|
# Will Detect if a app does not exist in pow and print a (slightly) helpful
|
||||||
if [ $? -eq 0 ]; then; echo "pow: restarting $FOLDERNAME" ; fi
|
# error message
|
||||||
}
|
|
||||||
|
|
||||||
|
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 isn’t 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
|
compctl -W ~/.pow -/ kapow
|
Loading…
Reference in a new issue