summaryrefslogtreecommitdiff
path: root/plugins/pj/pj.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/pj/pj.plugin.zsh')
-rw-r--r--plugins/pj/pj.plugin.zsh26
1 files changed, 14 insertions, 12 deletions
diff --git a/plugins/pj/pj.plugin.zsh b/plugins/pj/pj.plugin.zsh
index 1d89af00b..f9d7f8e27 100644
--- a/plugins/pj/pj.plugin.zsh
+++ b/plugins/pj/pj.plugin.zsh
@@ -1,29 +1,31 @@
alias pjo="pj open"
-function pj () {
+pj () {
+ emulate -L zsh
+ setopt shwordsplit
+
cmd="cd"
- file=$1
+ project=$1
- if [[ "open" == "$file" ]] then
+ if [[ "open" == "$project" ]]; then
shift
- file=$*
- cmd=(${(s: :)EDITOR})
+ project=$*
+ cmd=$EDITOR
else
- file=$*
+ project=$*
fi
- for project in $PROJECT_PATHS; do
- if [[ -d $project/$file ]] then
- $cmd "$project/$file"
- unset project # Unset project var
+ for basedir ($PROJECT_PATHS); do
+ if [[ -d "$basedir/$project" ]]; then
+ $cmd "$basedir/$project"
return
fi
done
- echo "No such project $1"
+ echo "No such project '${project}'."
}
-function _pj () {
+_pj () {
emulate -L zsh
typeset -a projects