diff options
Diffstat (limited to 'plugins/pow/pow.plugin.zsh')
-rw-r--r-- | plugins/pow/pow.plugin.zsh | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/plugins/pow/pow.plugin.zsh b/plugins/pow/pow.plugin.zsh index 399a54cb0..d85c88777 100644 --- a/plugins/pow/pow.plugin.zsh +++ b/plugins/pow/pow.plugin.zsh @@ -8,21 +8,21 @@ # Supports command completion. # # If you are not already using completion you might need to enable it with -# +# # autoload -U compinit compinit # # Changes: # -# Defaults to the current application, and will walk up the tree to find +# 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 +# Will Detect if a app does not exist in pow and print a (slightly) helpful # error message -rack_root_detect(){ +rack_root(){ setopt chaselinks - local orgdir=$(pwd) - local basedir=$(pwd) + local orgdir="$(pwd)" + local basedir="$(pwd)" while [[ $basedir != '/' ]]; do test -e "$basedir/config.ru" && break @@ -30,8 +30,13 @@ rack_root_detect(){ basedir="$(pwd)" done - builtin cd $orgdir 2>/dev/null + builtin cd "$orgdir" 2>/dev/null [[ ${basedir} == "/" ]] && return 1 + echo $basedir +} + +rack_root_detect(){ + basedir=$(rack_root) echo `basename $basedir | sed -E "s/.(com|net|org)//"` } @@ -51,16 +56,30 @@ kapow(){ compctl -W ~/.pow -/ kapow powit(){ - local basedir=$(pwd) + local basedir="$(pwd)" local vhost=$1 [ ! -n "$vhost" ] && vhost=$(rack_root_detect) if [ ! -h ~/.pow/$vhost ] - then - echo "pow: Symlinking your app with pow. ${vhost}" - [ ! -d ~/.pow/${vhost} ] && ln -s $basedir ~/.pow/$vhost + then + echo "pow: Symlinking your app with pow. ${vhost}" + [ ! -d ~/.pow/${vhost} ] && ln -s "$basedir" ~/.pow/$vhost return 1 fi } +powed(){ + local basedir="$(rack_root)" + find ~/.pow/ -type l -lname "*$basedir*" -exec basename {}'.dev' \; +} + +# Restart pow process +# taken from http://www.matthewratzloff.com/blog/2011/12/23/restarting-pow-when-dns-stops-responding +repow(){ + lsof | grep 20560 | awk '{print $2}' | xargs kill -9 + launchctl unload ~/Library/LaunchAgents/cx.pow.powd.plist + launchctl load ~/Library/LaunchAgents/cx.pow.powd.plist + echo "restarted pow" +} + # View the standard out (puts) from any pow app alias kaput="tail -f ~/Library/Logs/Pow/apps/*" |