1 2 3 4
alias pjo="pj open" pj () { emulate -L zsh
5
cmd="cd"
6
project=$1
7
8
if [[ "open" == "$project" ]]; then
9
shift
10 11
project=$* cmd=${=EDITOR}
12
else
13
project=$*
14
fi
15 16 17
for basedir ($PROJECT_PATHS); do if [[ -d "$basedir/$project" ]]; then $cmd "$basedir/$project"
18 19 20
return fi done
21
echo "No such project '${project}'."
22
}
23 24
_pj () { emulate -L zsh
25
26
typeset -a projects
27 28 29
for basedir ($PROJECT_PATHS); do projects+=(${basedir}/*(/N)) done
30
31 32
compadd ${projects:t} }
33
compdef _pj pj