Browse Source

Merge pull request #1604 from franklouwers/master

Improve pj-plugin to support projects with spaces in their names + optimise code
Robby Russell 9 years ago
parent
commit
ed01122804
1 changed files with 9 additions and 2 deletions
  1. 9 2
      plugins/pj/pj.plugin.zsh

+ 9 - 2
plugins/pj/pj.plugin.zsh

@@ -18,8 +18,11 @@ function pj() {
     file=$1
 
     if [[ "open" == "$file" ]] then
-        file=$2
+        shift
+        file=$*
         cmd=(${(s: :)EDITOR})
+    else
+        file=$*
     fi
 
     for project in $PROJECT_PATHS; do
@@ -36,7 +39,11 @@ function pj() {
 alias pjo="pj open"
 
 function _pj () {
-    compadd `/bin/ls -l $PROJECT_PATHS 2>/dev/null | awk '{ print $9 }'`
+    # might be possible to improve this using glob, without the basename trick
+    typeset -a projects
+    projects=($PROJECT_PATHS/*)
+    projects=$projects:t 
+    _arguments '*:file:($projects)'
 }
 
 compdef _pj pj