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