summaryrefslogtreecommitdiff
path: root/plugins/pj/pj.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/pj/pj.plugin.zsh')
-rw-r--r--plugins/pj/pj.plugin.zsh11
1 files changed, 9 insertions, 2 deletions
diff --git a/plugins/pj/pj.plugin.zsh b/plugins/pj/pj.plugin.zsh
index ba3765b83..1572e9363 100644
--- a/plugins/pj/pj.plugin.zsh
+++ b/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