diff options
| author | Toon Claes <toon@tonotdo.com> | 2013-02-05 09:45:00 +0100 | 
|---|---|---|
| committer | Toon Claes <toon@tonotdo.com> | 2013-02-05 09:45:00 +0100 | 
| commit | 631a8473e2f3f20e1414dff4e409fe07cbb41aea (patch) | |
| tree | ceff134e50c6981d17b971d06d3f9e02f3097d8a | |
| parent | 615e41b0ecdb25acba513fd09619bd56c2eb24eb (diff) | |
| download | zsh-631a8473e2f3f20e1414dff4e409fe07cbb41aea.tar.gz zsh-631a8473e2f3f20e1414dff4e409fe07cbb41aea.tar.bz2 zsh-631a8473e2f3f20e1414dff4e409fe07cbb41aea.zip | |
added pj.plugin
| -rw-r--r-- | plugins/pj/pj.plugin.zsh | 42 | 
1 files changed, 42 insertions, 0 deletions
| diff --git a/plugins/pj/pj.plugin.zsh b/plugins/pj/pj.plugin.zsh new file mode 100644 index 000000000..ba3765b83 --- /dev/null +++ b/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 | 
