diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/pj/pj.plugin.zsh | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/plugins/pj/pj.plugin.zsh b/plugins/pj/pj.plugin.zsh index 1d89af00b..f9d7f8e27 100644 --- a/plugins/pj/pj.plugin.zsh +++ b/plugins/pj/pj.plugin.zsh @@ -1,29 +1,31 @@ alias pjo="pj open" -function pj () { +pj () { + emulate -L zsh + setopt shwordsplit + cmd="cd" - file=$1 + project=$1 - if [[ "open" == "$file" ]] then + if [[ "open" == "$project" ]]; then shift - file=$* - cmd=(${(s: :)EDITOR}) + project=$* + cmd=$EDITOR else - file=$* + project=$* fi - for project in $PROJECT_PATHS; do - if [[ -d $project/$file ]] then - $cmd "$project/$file" - unset project # Unset project var + for basedir ($PROJECT_PATHS); do + if [[ -d "$basedir/$project" ]]; then + $cmd "$basedir/$project" return fi done - echo "No such project $1" + echo "No such project '${project}'." } -function _pj () { +_pj () { emulate -L zsh typeset -a projects |