Fix _pj completion function

- `$PROJECT_PATHS/*` wasn't working correctly. You have to iterate over
  its elements in order to use globbing with it.

- The `$projects:t` line wasn't necessary if we used `compadd`.

- `compadd` better supports destructuring an array with spaces in some
  of its elements.
This commit is contained in:
Marc Cornellà 2016-08-11 01:35:45 +02:00
parent 26bef0942b
commit c9c11d605f
1 changed files with 7 additions and 4 deletions

View File

@ -24,10 +24,13 @@ function pj () {
}
function _pj () {
# might be possible to improve this using glob, without the basename trick
emulate -L zsh
typeset -a projects
projects=($PROJECT_PATHS/*)
projects=$projects:t
_arguments "*:file:($projects)"
for basedir ($PROJECT_PATHS); do
projects+=(${basedir}/*(/N))
done
compadd ${projects:t}
}
compdef _pj pj