Skip to content

Commit

Permalink
Merge pull request #1583 from To1ne/pj.plugin
Browse files Browse the repository at this point in the history
added pj.plugin
  • Loading branch information
robbyrussell committed Feb 9, 2013
2 parents 6e6cf43 + 631a847 commit 1a362c1
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions plugins/pj/pj.plugin.zsh
@@ -0,0 +1,42 @@
#!/bin/zsh

#
# Original idea by DefV (Jan De Poorter)
# Source: https://gist.github.com/pjaspers/368394#comment-1016
#
# Usage:
# - Set `$PROJECT_PATHS` in your ~/.zshrc
# e.g.: PROJECT_PATHS=(~/src ~/work)
# - In ZSH you now can open a project directory with the command: `pj my-project`
# the plugin will locate the `my-project` directory in one of the $PROJECT_PATHS
# Also tab completion is supported.
# - `pjo my-project` will open the directory in $EDITOR
#

function pj() {
cmd="cd"
file=$1

if [[ "open" == "$file" ]] then
file=$2
cmd=(${(s: :)EDITOR})
fi

for project in $PROJECT_PATHS; do
if [[ -d $project/$file ]] then
$cmd "$project/$file"
unset project # Unset project var
return
fi
done

echo "No such project $1"
}

alias pjo="pj open"

function _pj () {
compadd `/bin/ls -l $PROJECT_PATHS 2>/dev/null | awk '{ print $9 }'`
}

compdef _pj pj

0 comments on commit 1a362c1

Please sign in to comment.