From d02a3912cfd52636ad547fe0b1357303b77584a8 Mon Sep 17 00:00:00 2001 From: Fredrik Appelberg Date: Wed, 1 Dec 2010 09:56:54 +0100 Subject: [PATCH 01/25] maven plugin --- plugins/mvn/mvn.plugin.zsh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 plugins/mvn/mvn.plugin.zsh diff --git a/plugins/mvn/mvn.plugin.zsh b/plugins/mvn/mvn.plugin.zsh new file mode 100644 index 00000000..abd0da18 --- /dev/null +++ b/plugins/mvn/mvn.plugin.zsh @@ -0,0 +1,6 @@ +function listMavenCompletions { + reply=( + cli:execute cli:execute-phase archetype:generate compile clean install test test-compile deploy package cobertura:cobertura jetty:run gwt:run gwt:debug -DskipTests -Dmaven.test.skip=true -DarchetypeCatalog=http://tapestry.formos.com/maven-snapshot-repository -Dtest= `if [ -d ./src ] ; then find ./src -type f | grep -v svn | sed 's?.*/\([^/]*\)\..*?-Dtest=\1?' ; fi`); +} + +compctl -K listMavenCompletions mvn \ No newline at end of file From 792e50c917b7c854fbcadbce10a895ab7fbaa7ec Mon Sep 17 00:00:00 2001 From: Fredrik Appelberg Date: Wed, 16 Feb 2011 10:40:51 +0100 Subject: [PATCH 02/25] mvn plugin --- plugins/mvn/mvn.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/mvn/mvn.plugin.zsh b/plugins/mvn/mvn.plugin.zsh index abd0da18..e8af2f49 100644 --- a/plugins/mvn/mvn.plugin.zsh +++ b/plugins/mvn/mvn.plugin.zsh @@ -1,6 +1,6 @@ function listMavenCompletions { reply=( - cli:execute cli:execute-phase archetype:generate compile clean install test test-compile deploy package cobertura:cobertura jetty:run gwt:run gwt:debug -DskipTests -Dmaven.test.skip=true -DarchetypeCatalog=http://tapestry.formos.com/maven-snapshot-repository -Dtest= `if [ -d ./src ] ; then find ./src -type f | grep -v svn | sed 's?.*/\([^/]*\)\..*?-Dtest=\1?' ; fi`); + cli:execute cli:execute-phase archetype:generate generate-sources compile clean install test test-compile deploy package cobertura:cobertura jetty:run gwt:run gwt:debug -DskipTests -Dmaven.test.skip=true -DarchetypeCatalog=http://tapestry.formos.com/maven-snapshot-repository -Dtest= `if [ -d ./src ] ; then find ./src -type f | grep -v svn | sed 's?.*/\([^/]*\)\..*?-Dtest=\1?' ; fi`); } compctl -K listMavenCompletions mvn \ No newline at end of file From 0504a01012b88e6eb74040ed599bddf29163fd69 Mon Sep 17 00:00:00 2001 From: Fredrik Appelberg Date: Mon, 7 Mar 2011 13:49:30 +0100 Subject: [PATCH 03/25] .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8d19d100..2cf59326 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ locals.zsh log/.zsh_history projects.zsh custom/* -!custom/example.zsh \ No newline at end of file +!custom/example.zshcache +cache/ From c2e8bed253d25699f826fd7b65d965944b42a21c Mon Sep 17 00:00:00 2001 From: Fredrik Appelberg Date: Mon, 7 Mar 2011 14:22:06 +0100 Subject: [PATCH 04/25] Added a plugin for GNU Screen. --- plugins/screen/screen.plugin.zsh | 54 ++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 plugins/screen/screen.plugin.zsh diff --git a/plugins/screen/screen.plugin.zsh b/plugins/screen/screen.plugin.zsh new file mode 100644 index 00000000..ba7ac67e --- /dev/null +++ b/plugins/screen/screen.plugin.zsh @@ -0,0 +1,54 @@ +# if using GNU screen, let the zsh tell screen what the title and hardstatus +# of the tab window should be. +if [[ $TERM == "screen" ]]; then + if [[ $_GET_PATH == '' ]]; then + _GET_PATH='echo $PWD | sed "s/^\/Users\//~/;s/^~$USER/~/"' + fi + if [[ $_GET_HOST == '' ]]; then + _GET_HOST='echo $HOST | sed "s/\..*//"' + fi + + # use the current user as the prefix of the current tab title + TAB_TITLE_PREFIX='"`'$_GET_HOST'`:`'$_GET_PATH' | sed "s:..*/::"`$PROMPT_CHAR"' + # when at the shell prompt, show a truncated version of the current path (with + # standard ~ replacement) as the rest of the title. + TAB_TITLE_PROMPT='$SHELL:t' + # when running a command, show the title of the command as the rest of the + # title (truncate to drop the path to the command) + TAB_TITLE_EXEC='$cmd[1]:t' + + # use the current path (with standard ~ replacement) in square brackets as the + # prefix of the tab window hardstatus. + TAB_HARDSTATUS_PREFIX='"[`'$_GET_PATH'`] "' + # when at the shell prompt, use the shell name (truncated to remove the path to + # the shell) as the rest of the title + TAB_HARDSTATUS_PROMPT='$SHELL:t' + # when running a command, show the command name and arguments as the rest of + # the title + TAB_HARDSTATUS_EXEC='$cmd' + + # tell GNU screen what the tab window title ($1) and the hardstatus($2) should be + function screen_set() + { + # set the tab window title (%t) for screen + print -nR $'\033k'$1$'\033'\\\ + + # set hardstatus of tab window (%h) for screen + print -nR $'\033]0;'$2$'\a' + } + # called by zsh before executing a command + function preexec() + { + local -a cmd; cmd=(${(z)1}) # the command string + eval "tab_title=$TAB_TITLE_PREFIX:$TAB_TITLE_EXEC" + eval "tab_hardstatus=$TAB_HARDSTATUS_PREFIX:$TAB_HARDSTATUS_EXEC" + screen_set $tab_title $tab_hardstatus + } + # called by zsh before showing the prompt + function precmd() + { + eval "tab_title=$TAB_TITLE_PREFIX:$TAB_TITLE_PROMPT" + eval "tab_hardstatus=$TAB_HARDSTATUS_PREFIX:$TAB_HARDSTATUS_PROMPT" + screen_set $tab_title $tab_hardstatus + } +fi \ No newline at end of file From d807221f607cc7ef02e17a9aa60b1f5f18a886ab Mon Sep 17 00:00:00 2001 From: Fredrik Appelberg Date: Mon, 7 Mar 2011 14:36:12 +0100 Subject: [PATCH 05/25] fix to avoid parse errors if $TERM is empty --- lib/termsupport.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh index e1e53669..d7c2b9de 100644 --- a/lib/termsupport.zsh +++ b/lib/termsupport.zsh @@ -5,7 +5,7 @@ function title { if [[ "$TERM" == "screen" ]]; then print -Pn "\ek$1\e\\" #set screen hardstatus, usually truncated at 20 chars - elif [[ ($TERM =~ "^xterm") ]] || [[ ($TERM == "rxvt") ]] || [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then + elif [[ ("$TERM" =~ "^xterm") ]] || [[ ("$TERM" == "rxvt") ]] || [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then print -Pn "\e]2;$2\a" #set window name print -Pn "\e]1;$1\a" #set icon (=tab) name (will override window name on broken terminal) fi From f1af41589960f7fc98d270c70a80b351b703e53e Mon Sep 17 00:00:00 2001 From: Fredrik Appelberg Date: Wed, 9 Mar 2011 12:19:01 +0100 Subject: [PATCH 06/25] figuring out home dir on unix systems as well --- plugins/screen/screen.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/screen/screen.plugin.zsh b/plugins/screen/screen.plugin.zsh index ba7ac67e..98178e80 100644 --- a/plugins/screen/screen.plugin.zsh +++ b/plugins/screen/screen.plugin.zsh @@ -2,7 +2,7 @@ # of the tab window should be. if [[ $TERM == "screen" ]]; then if [[ $_GET_PATH == '' ]]; then - _GET_PATH='echo $PWD | sed "s/^\/Users\//~/;s/^~$USER/~/"' + _GET_PATH='echo $PWD | sed "s/^\/Users\//~/;s/^\/home\//~/;s/^~$USER/~/"' fi if [[ $_GET_HOST == '' ]]; then _GET_HOST='echo $HOST | sed "s/\..*//"' From d693711f1419c4c4da1da8eca35c1d983bb42ab0 Mon Sep 17 00:00:00 2001 From: Alex Light Date: Tue, 28 Feb 2012 13:52:57 -0500 Subject: [PATCH 07/25] made the 'd' alias only show the directories that can be cd'ed to using the number aliases --- lib/directories.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/directories.zsh b/lib/directories.zsh index bb114f61..a787db9e 100644 --- a/lib/directories.zsh +++ b/lib/directories.zsh @@ -36,9 +36,9 @@ cd () { alias md='mkdir -p' alias rd=rmdir -alias d='dirs -v' +alias d='dirs -v | head -10' # mkdir & cd to it function mcd() { mkdir -p "$1" && cd "$1"; -} \ No newline at end of file +} From f8802bd61216b7636b9065efe5441479d3e4f7fd Mon Sep 17 00:00:00 2001 From: Rotem Yaari Date: Thu, 26 Jan 2012 22:25:51 +0200 Subject: [PATCH 08/25] Add dircycle plugin: enables cycling through the directory stack --- plugins/dircycle/dircycle.plugin.zsh | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 plugins/dircycle/dircycle.plugin.zsh diff --git a/plugins/dircycle/dircycle.plugin.zsh b/plugins/dircycle/dircycle.plugin.zsh new file mode 100644 index 00000000..46a0ab26 --- /dev/null +++ b/plugins/dircycle/dircycle.plugin.zsh @@ -0,0 +1,10 @@ +## +# dircycle plugin: enables cycling through the directory +# stack using Ctrl+Shift+Left/Right + +eval "insert-cycledleft () { zle push-line; LBUFFER='pushd -q +1'; zle accept-line }" +zle -N insert-cycledleft +bindkey "\e[1;6D" insert-cycledleft +eval "insert-cycledright () { zle push-line; LBUFFER='pushd -q -0'; zle accept-line }" +zle -N insert-cycledright +bindkey "\e[1;6C" insert-cycledright From 19bf83e17d90d64b9bb40f8fd4c36e660e4b17e3 Mon Sep 17 00:00:00 2001 From: Rotem Yaari Date: Sun, 29 Jan 2012 16:41:40 +0200 Subject: [PATCH 09/25] Pager is 'less -R' to support colored outputs --- lib/misc.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/misc.zsh b/lib/misc.zsh index 88732e66..0f7e7e92 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -9,5 +9,5 @@ bindkey "^[m" copy-prev-shell-word setopt long_list_jobs ## pager -export PAGER=less +export PAGER="less -R" export LC_CTYPE=$LANG From b1e4ef17543d4a236ad35417ac36560917e6cadc Mon Sep 17 00:00:00 2001 From: pomaxa Date: Thu, 1 Mar 2012 16:57:00 +0200 Subject: [PATCH 10/25] current repository action --- plugins/git/git.plugin.zsh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index e1d68250..d3d3f702 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -54,10 +54,16 @@ function current_branch() { echo ${ref#refs/heads/} } +function current_repository() { + + ref=$(git symbolic-ref HEAD 2> /dev/null) || return + echo $(git remote -v | cut -d':' -f 2) +} + # these aliases take advantage of the previous function alias ggpull='git pull origin $(current_branch)' compdef ggpull=git alias ggpush='git push origin $(current_branch)' compdef ggpush=git alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)' -compdef ggpnp=git \ No newline at end of file +compdef ggpnp=git From c7105a53416866e8315c503546dc5bfe2b9da83f Mon Sep 17 00:00:00 2001 From: Jeffrey Dileo Date: Wed, 7 Mar 2012 07:47:34 -0500 Subject: [PATCH 11/25] Disabled title function for emacs term mode --- lib/termsupport.zsh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh index 22198950..e26fef6d 100644 --- a/lib/termsupport.zsh +++ b/lib/termsupport.zsh @@ -3,7 +3,9 @@ #Fully support screen, iterm, and probably most modern xterm and rxvt #Limited support for Apple Terminal (Terminal can't set window or tab separately) function title { - [ "$DISABLE_AUTO_TITLE" != "true" ] || return + if [[ "$DISABLE_AUTO_TITLE" == "true" ]] || [[ "$EMACS" == *term* ]]; then + return + fi if [[ "$TERM" == screen* ]]; then print -Pn "\ek$1:q\e\\" #set screen hardstatus, usually truncated at 20 chars elif [[ "$TERM" == xterm* ]] || [[ $TERM == rxvt* ]] || [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then From db27635d8b4cb60f4d3594893e53777179d00d43 Mon Sep 17 00:00:00 2001 From: Vitaliy Yanchuk Date: Fri, 16 Mar 2012 14:10:37 +0200 Subject: [PATCH 12/25] Plugin for encoding strings into base64 and decoding them --- plugins/encode64/encode64.plugin.zsh | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 plugins/encode64/encode64.plugin.zsh diff --git a/plugins/encode64/encode64.plugin.zsh b/plugins/encode64/encode64.plugin.zsh new file mode 100644 index 00000000..cfb7c6a1 --- /dev/null +++ b/plugins/encode64/encode64.plugin.zsh @@ -0,0 +1,2 @@ +encode64(){ echo -n $1 | base64 } +decode64(){ echo -n $1 | base64 -D } \ No newline at end of file From 5f72c6313643f3e627394c540192b77781c08178 Mon Sep 17 00:00:00 2001 From: Mat Schaffer Date: Sat, 17 Mar 2012 22:03:01 -0300 Subject: [PATCH 13/25] Don't clobber standard Esc+. behavior Esc+. works as "last arg" on both bash and zsh. Seems like a shame to introduce a new standard. --- lib/key-bindings.zsh | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh index 5c1b90bf..5f499f3e 100644 --- a/lib/key-bindings.zsh +++ b/lib/key-bindings.zsh @@ -3,7 +3,6 @@ bindkey -e bindkey '\ew' kill-region bindkey -s '\el' "ls\n" -bindkey -s '\e.' "..\n" bindkey '^r' history-incremental-search-backward bindkey "^[[5~" up-line-or-history bindkey "^[[6~" down-line-or-history From 12e181c6f6167adabb688f63418037c8c1949335 Mon Sep 17 00:00:00 2001 From: Daniel Lockard Date: Wed, 4 Apr 2012 13:04:00 -0500 Subject: [PATCH 14/25] Added an if-statement to see if git is installed --- tools/install.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/install.sh b/tools/install.sh index aedb706d..8ca427d2 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -5,7 +5,13 @@ then fi echo "\033[0;34mCloning Oh My Zsh...\033[0m" -/usr/bin/env git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh +which git > /dev/null +if [[ $? -eq 0 ]]; then + /usr/bin/env git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh +else + echo "git not installed" + exit +fi echo "\033[0;34mLooking for an existing zsh config...\033[0m" if [ -f ~/.zshrc ] || [ -h ~/.zshrc ] From e429a880e68982ce9ab0f35921174493fa3e4c03 Mon Sep 17 00:00:00 2001 From: ntpeters Date: Thu, 12 Apr 2012 06:04:24 -0300 Subject: [PATCH 15/25] Added yum aliases for: makecache, grouplist, groupinstall, and groupremove. --- plugins/yum/yum.plugin.zsh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/yum/yum.plugin.zsh b/plugins/yum/yum.plugin.zsh index d6ba7ed6..c9966f1b 100644 --- a/plugins/yum/yum.plugin.zsh +++ b/plugins/yum/yum.plugin.zsh @@ -3,10 +3,14 @@ alias ys="yum search" # search package alias yp="yum info" # show package info alias yl="yum list" # list packages +alias ygl="yum grouplist" # list package groups alias yli="yum list installed" # print all installed packages +alias ymc="yum makecache # rebuilds the yum package list alias yu="sudo yum update" # upgrate packages alias yi="sudo yum install" # install package +alias ygi="sudo yum groupinstall" # install package group alias yr="sudo yum remove" # remove package +alias ygr="sudo yum groupremove" # remove pagage group alias yrl="sudo yum remove --remove-leaves" # remove package and leaves -alias yc="sudo yum clean all" # clean cache +alias yc="sudo yum clean all" # clean cache \ No newline at end of file From adab18f1616956beb10419dc52b8d713d6b6c9e0 Mon Sep 17 00:00:00 2001 From: Roey Darwish Dror Date: Sun, 25 Mar 2012 00:00:05 +0200 Subject: [PATCH 16/25] Added suse plugins --- plugins/suse/suse.plugin.zsh | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 plugins/suse/suse.plugin.zsh diff --git a/plugins/suse/suse.plugin.zsh b/plugins/suse/suse.plugin.zsh new file mode 100644 index 00000000..d79308ca --- /dev/null +++ b/plugins/suse/suse.plugin.zsh @@ -0,0 +1,5 @@ +alias zi='sudo zypper install' +alias zrf='sudo zypper refresh' +alias zs='zypper search' +alias zup='sudo zypper dist-upgrade' +alias zrm='sudo zypper remove' From b4380aacb0a0a89618430b2bbb1221c602d43d62 Mon Sep 17 00:00:00 2001 From: Roey Darwish Dror Date: Thu, 19 Apr 2012 13:49:15 +0300 Subject: [PATCH 17/25] Added zp and zps aliases for the SUSE plugin --- plugins/suse/suse.plugin.zsh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/suse/suse.plugin.zsh b/plugins/suse/suse.plugin.zsh index d79308ca..d4628694 100644 --- a/plugins/suse/suse.plugin.zsh +++ b/plugins/suse/suse.plugin.zsh @@ -3,3 +3,5 @@ alias zrf='sudo zypper refresh' alias zs='zypper search' alias zup='sudo zypper dist-upgrade' alias zrm='sudo zypper remove' +alias zp='sudo zypper patch' +alias zps='sudo zypper ps' From c4608ba281147af564fc0979b63bc8b23f1e55fb Mon Sep 17 00:00:00 2001 From: Tim Littlemore Date: Fri, 1 Jun 2012 15:26:22 +0100 Subject: [PATCH 18/25] Removing ey command from bundled_commands. It is not usually bundled. --- plugins/bundler/bundler.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh index 2b80b76e..1ca48089 100644 --- a/plugins/bundler/bundler.plugin.zsh +++ b/plugins/bundler/bundler.plugin.zsh @@ -6,7 +6,7 @@ alias bu="bundle update" # The following is based on https://github.com/gma/bundler-exec -bundled_commands=(annotate cap capify cucumber ey foreman guard middleman nanoc rackup rainbows rails rake rspec ruby shotgun spec spork thin thor unicorn unicorn_rails) +bundled_commands=(annotate cap capify cucumber foreman guard middleman nanoc rackup rainbows rails rake rspec ruby shotgun spec spork thin thor unicorn unicorn_rails) ## Functions From a04484e546e330a9cd2130ee160a53ec4580a844 Mon Sep 17 00:00:00 2001 From: Weston Platter Date: Fri, 1 Jun 2012 19:11:53 -0400 Subject: [PATCH 19/25] rails3, added rgm = 'rails generate migration' --- plugins/rails3/rails3.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/rails3/rails3.plugin.zsh b/plugins/rails3/rails3.plugin.zsh index d4c7df65..237d0594 100644 --- a/plugins/rails3/rails3.plugin.zsh +++ b/plugins/rails3/rails3.plugin.zsh @@ -13,6 +13,7 @@ alias rd='_rails_command destroy' alias rdb='_rails_command dbconsole' alias rdbm='rake db:migrate db:test:clone' alias rg='_rails_command generate' +alias rgm='_rails_command generate migration' alias rp='_rails_command plugin' alias ru='_rails_command runner' alias rs='_rails_command server' From df30eae4121802f8ac800cb3e92c7d08356217a6 Mon Sep 17 00:00:00 2001 From: Erich Menge Date: Sun, 3 Jun 2012 12:44:14 -0500 Subject: [PATCH 20/25] Add a couple of options for git-flow. --- plugins/git-flow/git-flow.plugin.zsh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/git-flow/git-flow.plugin.zsh b/plugins/git-flow/git-flow.plugin.zsh index 270bcbe3..71b34388 100644 --- a/plugins/git-flow/git-flow.plugin.zsh +++ b/plugins/git-flow/git-flow.plugin.zsh @@ -110,6 +110,8 @@ __git-flow-release () -u'[Use the given GPG-key for the digital signature (implies -s)]'\ -m'[Use the given tag message]'\ -p'[Push to $ORIGIN after performing finish]'\ + -k'[Keep branch after performing finish]'\ + -n"[Don't tag this release]"\ ':version:__git_flow_version_list' ;; @@ -162,6 +164,8 @@ __git-flow-hotfix () -u'[Use the given GPG-key for the digital signature (implies -s)]'\ -m'[Use the given tag message]'\ -p'[Push to $ORIGIN after performing finish]'\ + -k'[Keep branch after performing finish]'\ + -n"[Don't tag this release]"\ ':hotfix:__git_flow_hotfix_list' ;; From 083cff4a577f8889db4ec201d2309b126a65e894 Mon Sep 17 00:00:00 2001 From: westonplatter Date: Fri, 8 Jun 2012 12:18:26 -0400 Subject: [PATCH 21/25] checking if airport allows git protocol --- README.textile | 1 + 1 file changed, 1 insertion(+) diff --git a/README.textile b/README.textile index bf677666..875d02f8 100644 --- a/README.textile +++ b/README.textile @@ -1,5 +1,6 @@ A handful of functions, auto-complete helpers, and stuff that makes you shout... + bq. "OH MY ZSHELL!" h2. Setup From 61ceec528533bdc2865cf3d04a9214dda6f0f173 Mon Sep 17 00:00:00 2001 From: Jaiden Mispy <^_^@mispy.me> Date: Sat, 9 Jun 2012 11:04:58 +1000 Subject: [PATCH 22/25] Plugin which loads Python virtualenvwrapper and activates virtualenvs on cd into git repos --- .../virtualenvwrapper.plugin.zsh | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh diff --git a/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh b/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh new file mode 100644 index 00000000..afdad1be --- /dev/null +++ b/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh @@ -0,0 +1,47 @@ +WRAPPER_FOUND=0 +for wrapsource in "/usr/local/bin/virtualenvwrapper.sh" "/etc/bash_completion.d/virtualenvwrapper" ; do + if [[ -e $wrapsource ]] ; then + WRAPPER_FOUND=1 + source $wrapsource + + if [[ ! $DISABLE_VENV_CD -eq 1 ]]; then + # Automatically activate Git projects' virtual environments based on the + # directory name of the project. Virtual environment name can be overridden + # by placing a .venv file in the project root with a virtualenv name in it + function workon_cwd { + # Check that this is a Git repo + GIT_DIR=`git rev-parse --git-dir 2> /dev/null` + if (( $? == 0 )); then + # Find the repo root and check for virtualenv name override + GIT_DIR=`readlink -f $GIT_DIR` + PROJECT_ROOT=`dirname "$GIT_DIR"` + ENV_NAME=`basename "$PROJECT_ROOT"` + if [[ -f "$PROJECT_ROOT/.venv" ]]; then + ENV_NAME=`cat "$PROJECT_ROOT/.venv"` + fi + # Activate the environment only if it is not already active + if [[ "$VIRTUAL_ENV" != "$WORKON_HOME/$ENV_NAME" ]]; then + if [[ -e "$WORKON_HOME/$ENV_NAME/bin/activate" ]]; then + workon "$ENV_NAME" && export CD_VIRTUAL_ENV="$ENV_NAME" + fi + fi + elif [ $CD_VIRTUAL_ENV ]; then + # We've just left the repo, deactivate the environment + # Note: this only happens if the virtualenv was activated automatically + deactivate && unset CD_VIRTUAL_ENV + fi + } + + # New cd function that does the virtualenv magic + function cd { + builtin cd "$@" && workon_cwd + } + fi + + break + fi +done + +if [ $WRAPPER_FOUND -eq 0 ] ; then + print "zsh virtualenvwrapper plugin: Couldn't activate virtualenvwrapper. Please run \`pip install virtualenvwrapper\`." +fi From 1bb715965c1dde1ed6f4456b462ae59e1b3769da Mon Sep 17 00:00:00 2001 From: s3 Date: Tue, 12 Jun 2012 10:18:02 +0200 Subject: [PATCH 23/25] Change hardcoded ~/.oh-my-zsh to $ZSH. --- lib/completion.zsh | 2 +- plugins/dirpersist/dirpersist.plugin.zsh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index b964595e..f31e101d 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -46,7 +46,7 @@ zstyle ':completion:*:hosts' hosts $hosts # Use caching so that commands like apt and dpkg complete are useable zstyle ':completion::complete:*' use-cache 1 -zstyle ':completion::complete:*' cache-path ~/.oh-my-zsh/cache/ +zstyle ':completion::complete:*' cache-path $ZSH/cache/ # Don't complete uninteresting users zstyle ':completion:*:*:*:users' ignored-patterns \ diff --git a/plugins/dirpersist/dirpersist.plugin.zsh b/plugins/dirpersist/dirpersist.plugin.zsh index 6a2b289a..0f6d9f43 100644 --- a/plugins/dirpersist/dirpersist.plugin.zsh +++ b/plugins/dirpersist/dirpersist.plugin.zsh @@ -12,7 +12,7 @@ dirpersistinstall () { if grep 'dirpersiststore' ~/.zlogout > /dev/null; then else if read -q \?"Would you like to set up your .zlogout file for use with dirspersist? (y/n) "; then - echo "# Store dirs stack\n# See ~/.oh-my-zsh/plugins/dirspersist.plugin.zsh\ndirpersiststore" >> ~/.zlogout + echo "# Store dirs stack\n# See $ZSH/plugins/dirspersist.plugin.zsh\ndirpersiststore" >> ~/.zlogout else echo "If you don't want this message to appear, remove dirspersist from \$plugins" fi From 37bce2b51a528c6be5dc4605c81aab70c949a3a3 Mon Sep 17 00:00:00 2001 From: thackoun Date: Tue, 12 Jun 2012 15:48:00 +0300 Subject: [PATCH 24/25] fix a very minor bug with colors of parenthesis in the terminalparty theme --- themes/terminalparty.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/terminalparty.zsh-theme b/themes/terminalparty.zsh-theme index 73653aca..216ce37e 100644 --- a/themes/terminalparty.zsh-theme +++ b/themes/terminalparty.zsh-theme @@ -2,7 +2,7 @@ PROMPT='%{$fg[green]%} %% ' # RPS1='%{$fg[blue]%}%~%{$reset_color%} ' RPS1='%{$fg[white]%}%2~$(git_prompt_info) %{$fg_bold[blue]%}%m%{$reset_color%}' -ZSH_THEME_GIT_PROMPT_PREFIX=" (%{$fg[yellow]%}" +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[yellow]%}(" ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}" ZSH_THEME_GIT_PROMPT_CLEAN="" ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%} ⚡%{$fg[yellow]%}" From 4199c1a6f77f1605157b1cfa6baa47c14c68a6c9 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Wed, 13 Jun 2012 13:14:23 -0700 Subject: [PATCH 25/25] Updating README to ask people to stop sending themes for now --- README.textile | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.textile b/README.textile index 875d02f8..a38e2d7c 100644 --- a/README.textile +++ b/README.textile @@ -69,9 +69,13 @@ h2. Help out! I'm far from being a zsh-expert and suspect there are many ways to improve. If you have ideas on how to make the configuration easier to maintain (and faster), don't hesitate to fork and send pull requests! -h3. Send us your theme! +h3. (Don't) Send us your theme! (for now) + +-I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory.- + +We have enough themes for the time being. Please fork the project and add on in there, you can let people know how to grab it from there. + -I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory. h2. Contributors