summaryrefslogtreecommitdiff
path: root/plugins/pj
diff options
context:
space:
mode:
authorzghember <zghpku@gmail.com>2014-12-15 00:23:34 +0800
committerzghember <zghpku@gmail.com>2014-12-15 00:23:34 +0800
commit6fd0b73e9aba568640005798f737cd73ad0bfdf4 (patch)
tree22f3654e0c00ffd1cb9c3c05ca5d8bffa190cc1f /plugins/pj
parent6f70d288cc4625142413227109bf1eeac7e2a180 (diff)
parent141c2e593401f245a9f9bb0799ada8bf14b677d7 (diff)
downloadzsh-6fd0b73e9aba568640005798f737cd73ad0bfdf4.tar.gz
zsh-6fd0b73e9aba568640005798f737cd73ad0bfdf4.tar.bz2
zsh-6fd0b73e9aba568640005798f737cd73ad0bfdf4.zip
Merge commit '141c2e593401f245a9f9bb0799ada8bf14b677d7'
Diffstat (limited to 'plugins/pj')
-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