summaryrefslogtreecommitdiff
path: root/plugins/pj/pj.plugin.zsh
diff options
context:
space:
mode:
authorYohann Bianchi <sbooob@gmail.com>2013-02-18 10:13:03 +0100
committerYohann Bianchi <sbooob@gmail.com>2013-02-18 10:13:03 +0100
commit5eb3ec6428809fcf02d724f913201abbd04a88a6 (patch)
tree9223eb60391711c491796f0cb23469882c6d1ba9 /plugins/pj/pj.plugin.zsh
parent28b737416fe1eadd1a0e0bad460941651ac20e49 (diff)
parentfce68bbba0be99cfd49f9e46572b2d12d0a86d45 (diff)
downloadzsh-5eb3ec6428809fcf02d724f913201abbd04a88a6.tar.gz
zsh-5eb3ec6428809fcf02d724f913201abbd04a88a6.tar.bz2
zsh-5eb3ec6428809fcf02d724f913201abbd04a88a6.zip
Merge branch 'master' of https://github.com/robbyrussell/oh-my-zsh
Diffstat (limited to 'plugins/pj/pj.plugin.zsh')
-rw-r--r--plugins/pj/pj.plugin.zsh42
1 files changed, 42 insertions, 0 deletions
diff --git a/plugins/pj/pj.plugin.zsh b/plugins/pj/pj.plugin.zsh
new file mode 100644
index 000000000..ba3765b83
--- /dev/null
+++ b/plugins/pj/pj.plugin.zsh
@@ -0,0 +1,42 @@
+#!/bin/zsh
+
+#
+# Original idea by DefV (Jan De Poorter)
+# Source: https://gist.github.com/pjaspers/368394#comment-1016
+#
+# Usage:
+# - Set `$PROJECT_PATHS` in your ~/.zshrc
+# e.g.: PROJECT_PATHS=(~/src ~/work)
+# - In ZSH you now can open a project directory with the command: `pj my-project`
+# the plugin will locate the `my-project` directory in one of the $PROJECT_PATHS
+# Also tab completion is supported.
+# - `pjo my-project` will open the directory in $EDITOR
+#
+
+function pj() {
+ cmd="cd"
+ file=$1
+
+ if [[ "open" == "$file" ]] then
+ file=$2
+ cmd=(${(s: :)EDITOR})
+ fi
+
+ for project in $PROJECT_PATHS; do
+ if [[ -d $project/$file ]] then
+ $cmd "$project/$file"
+ unset project # Unset project var
+ return
+ fi
+ done
+
+ echo "No such project $1"
+}
+
+alias pjo="pj open"
+
+function _pj () {
+ compadd `/bin/ls -l $PROJECT_PATHS 2>/dev/null | awk '{ print $9 }'`
+}
+
+compdef _pj pj