You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
511 B
34 lines
511 B
alias pjo="pj open" |
|
|
|
function pj() { |
|
local cmd="cd" |
|
local project="$1" |
|
|
|
if [[ "open" == "$project" ]]; then |
|
shift |
|
project=$* |
|
cmd=${=EDITOR} |
|
else |
|
project=$* |
|
fi |
|
|
|
for basedir ($PROJECT_PATHS); do |
|
if [[ -d "$basedir/$project" ]]; then |
|
$cmd "$basedir/$project" |
|
return |
|
fi |
|
done |
|
|
|
echo "No such project '${project}'." |
|
} |
|
|
|
_pj () { |
|
local -a projects |
|
for basedir ($PROJECT_PATHS); do |
|
projects+=(${basedir}/*(/N)) |
|
done |
|
|
|
compadd ${projects:t} |
|
} |
|
|
|
compdef _pj pj
|
|
|