parent
7ae4f76f6d
commit
67cc59b425
2 changed files with 39 additions and 44 deletions
@ -1,37 +1,34 @@ |
|||||||
alias pjo="pj open" |
alias pjo="pj open" |
||||||
|
|
||||||
pj () { |
function pj() { |
||||||
emulate -L zsh |
local cmd="cd" |
||||||
|
local project="$1" |
||||||
cmd="cd" |
|
||||||
project=$1 |
if [[ "open" == "$project" ]]; then |
||||||
|
shift |
||||||
if [[ "open" == "$project" ]]; then |
project=$* |
||||||
shift |
cmd=${=EDITOR} |
||||||
project=$* |
else |
||||||
cmd=${=EDITOR} |
project=$* |
||||||
else |
fi |
||||||
project=$* |
|
||||||
|
for basedir ($PROJECT_PATHS); do |
||||||
|
if [[ -d "$basedir/$project" ]]; then |
||||||
|
$cmd "$basedir/$project" |
||||||
|
return |
||||||
fi |
fi |
||||||
|
done |
||||||
|
|
||||||
for basedir ($PROJECT_PATHS); do |
echo "No such project '${project}'." |
||||||
if [[ -d "$basedir/$project" ]]; then |
|
||||||
$cmd "$basedir/$project" |
|
||||||
return |
|
||||||
fi |
|
||||||
done |
|
||||||
|
|
||||||
echo "No such project '${project}'." |
|
||||||
} |
} |
||||||
|
|
||||||
_pj () { |
_pj () { |
||||||
emulate -L zsh |
local -a projects |
||||||
|
for basedir ($PROJECT_PATHS); do |
||||||
|
projects+=(${basedir}/*(/N)) |
||||||
|
done |
||||||
|
|
||||||
typeset -a projects |
compadd ${projects:t} |
||||||
for basedir ($PROJECT_PATHS); do |
|
||||||
projects+=(${basedir}/*(/N)) |
|
||||||
done |
|
||||||
|
|
||||||
compadd ${projects:t} |
|
||||||
} |
} |
||||||
|
|
||||||
compdef _pj pj |
compdef _pj pj |
||||||
|
|||||||
Loading…
Reference in new issue