From d02a3912cfd52636ad547fe0b1357303b77584a8 Mon Sep 17 00:00:00 2001 From: Fredrik Appelberg Date: Wed, 1 Dec 2010 09:56:54 +0100 Subject: [PATCH 01/83] 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 000000000..abd0da185 --- /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/83] 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 abd0da185..e8af2f49d 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/83] .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8d19d100c..2cf593269 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/83] 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 000000000..ba7ac67e7 --- /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/83] 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 e1e536690..d7c2b9def 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/83] 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 ba7ac67e7..98178e807 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/83] 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 bb114f615..a787db9eb 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/83] 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 000000000..46a0ab268 --- /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/83] 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 88732e664..0f7e7e925 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/83] 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 e1d682508..d3d3f702a 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/83] 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 221989502..e26fef6d3 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/83] 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 000000000..cfb7c6a18 --- /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/83] 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 5c1b90bfa..5f499f3e8 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/83] 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 aedb706da..8ca427d2c 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/83] 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 d6ba7ed62..c9966f1b1 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/83] 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 000000000..d79308caf --- /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/83] 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 d79308caf..d46286948 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 6f859c5837753a87544b2672678e36bcf167cc82 Mon Sep 17 00:00:00 2001 From: Varun Vijayaraghavan Date: Mon, 21 May 2012 10:42:12 -0400 Subject: [PATCH 18/83] Add Sublime Text 2 alias for Linux. Detects the platform using "uname", and sets the alias accordingly. If you are using Linux, this assumes that you have created a symbolic link to /usr/bin/sublime_text. --- plugins/sublime/sublime.plugin.zsh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/sublime/sublime.plugin.zsh b/plugins/sublime/sublime.plugin.zsh index c42c68df1..6825d6c08 100644 --- a/plugins/sublime/sublime.plugin.zsh +++ b/plugins/sublime/sublime.plugin.zsh @@ -1,3 +1,8 @@ # Sublime Text 2 Aliases -alias st='/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl' +#unamestr = 'uname' +if [[ uname == 'Linux' ]]; then + alias st='open -a /usr/bin/sublime_text' +elif [[ uname == 'Darwin' ]]; then + alias st='open -a "/Applications/Sublime Text 2.app' +fi alias stt='st .' From 61c39b50390a7869f22001a6cd65b7e8cd977e88 Mon Sep 17 00:00:00 2001 From: natsumesou Date: Wed, 23 May 2012 13:49:21 +0900 Subject: [PATCH 19/83] Load symlink custom files `(.)` search only real files. The deletion of it enables searching symlink *.zsh files --- oh-my-zsh.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index c2b6049cb..ddef1ad6c 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -51,7 +51,7 @@ for plugin ($plugins); do done # Load all of your custom configurations from custom/ -for config_file ($ZSH_CUSTOM/*.zsh(.N)) source $config_file +for config_file ($ZSH_CUSTOM/*.zsh(N)) source $config_file # Load the theme if [ "$ZSH_THEME" = "random" ] From 0f9fff8aecb154627b42a57cede37f7bd7b6c3ba Mon Sep 17 00:00:00 2001 From: Alexander Berezovsky Date: Wed, 23 May 2012 16:47:06 -0700 Subject: [PATCH 20/83] add fasd plugin --- plugins/fasd/fasd.plugin.zsh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 plugins/fasd/fasd.plugin.zsh diff --git a/plugins/fasd/fasd.plugin.zsh b/plugins/fasd/fasd.plugin.zsh new file mode 100644 index 000000000..d42584f1a --- /dev/null +++ b/plugins/fasd/fasd.plugin.zsh @@ -0,0 +1,6 @@ +if [ $commands[fasd] ]; then # check if fasd is installed + eval "$(fasd --init auto)" + alias v='f -e vim' + alias o='a -e open' +fi + From 548f68d7f028acc70f4a9026a28161a604edc405 Mon Sep 17 00:00:00 2001 From: Alexander Berezovsky Date: Wed, 23 May 2012 17:03:18 -0700 Subject: [PATCH 21/83] fino-time theme --- themes/fino-time.zsh-theme | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 themes/fino-time.zsh-theme diff --git a/themes/fino-time.zsh-theme b/themes/fino-time.zsh-theme new file mode 100644 index 000000000..22c7a0981 --- /dev/null +++ b/themes/fino-time.zsh-theme @@ -0,0 +1,39 @@ +# Fino-time theme by Aexander Berezovsky (http://berezovsky.me) based on Fino by Max Masnick (http://max.masnick.me) + +# Use with a dark background and 256-color terminal! +# Meant for people with RVM and git. Tested only on OS X 10.7. + +# You can set your computer name in the ~/.box-name file if you want. + +# Borrowing shamelessly from these oh-my-zsh themes: +# bira +# robbyrussell +# +# Also borrowing from http://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/ + +function virtualenv_info { + [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' +} + +function prompt_char { + git branch >/dev/null 2>/dev/null && echo '±' && return + echo '○' +} + +function box_name { + [ -f ~/.box-name ] && cat ~/.box-name || hostname -s +} + + +local rvm_ruby='‹$(rvm-prompt i v g)›%{$reset_color%}' +local current_dir='${PWD/#$HOME/~}' +local git_info='$(git_prompt_info)' + + +PROMPT="╭─%{$FG[040]%}%n%{$reset_color%} %{$FG[239]%}at%{$reset_color%} %{$FG[033]%}$(box_name)%{$reset_color%} %{$FG[239]%}in%{$reset_color%} %{$terminfo[bold]$FG[226]%}${current_dir}%{$reset_color%}${git_info} %{$FG[239]%}using%{$FG[243]%} ${rvm_ruby} %D - %* +╰─$(virtualenv_info)$(prompt_char) " + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$FG[239]%}on%{$reset_color%} %{$fg[255]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$FG[202]%}✘✘✘" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$FG[040]%}✔" From 8923694fb42393d063487203e803199b394bbb47 Mon Sep 17 00:00:00 2001 From: Varun Vijayaraghavan Date: Thu, 24 May 2012 11:33:19 -0400 Subject: [PATCH 22/83] Fixed a bug in checking the platform --- plugins/sublime/sublime.plugin.zsh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) mode change 100644 => 100755 plugins/sublime/sublime.plugin.zsh diff --git a/plugins/sublime/sublime.plugin.zsh b/plugins/sublime/sublime.plugin.zsh old mode 100644 new mode 100755 index 6825d6c08..0035b1b26 --- a/plugins/sublime/sublime.plugin.zsh +++ b/plugins/sublime/sublime.plugin.zsh @@ -1,8 +1,9 @@ # Sublime Text 2 Aliases #unamestr = 'uname' -if [[ uname == 'Linux' ]]; then - alias st='open -a /usr/bin/sublime_text' -elif [[ uname == 'Darwin' ]]; then - alias st='open -a "/Applications/Sublime Text 2.app' + +if [[ $('uname') == 'Linux' ]]; then + alias st='/usr/bin/sublime_text&' +elif [[ $('uname') == 'Darwin' ]]; then + alias st='open -a /Applications/Sublime Text 2.app' fi alias stt='st .' From c4608ba281147af564fc0979b63bc8b23f1e55fb Mon Sep 17 00:00:00 2001 From: Tim Littlemore Date: Fri, 1 Jun 2012 15:26:22 +0100 Subject: [PATCH 23/83] 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 2b80b76e6..1ca48089e 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 24/83] 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 d4c7df654..237d0594b 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 25/83] 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 270bcbe38..71b343884 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 26/83] checking if airport allows git protocol --- README.textile | 1 + 1 file changed, 1 insertion(+) diff --git a/README.textile b/README.textile index bf6776665..875d02f86 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 27/83] 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 000000000..afdad1bea --- /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 28/83] 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 b964595ed..f31e101d5 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 6a2b289a2..0f6d9f435 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 29/83] 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 73653aca8..216ce37eb 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 dee54a2477d2a5be5d6cced7497f539ecfc2e05f Mon Sep 17 00:00:00 2001 From: Kristi Date: Wed, 13 Jun 2012 12:57:15 -0700 Subject: [PATCH 30/83] Use grep to detect if untracked files exist instead of storing all the output of ls-files. --- themes/steeef.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/steeef.zsh-theme b/themes/steeef.zsh-theme index a2583b028..f22ce2719 100644 --- a/themes/steeef.zsh-theme +++ b/themes/steeef.zsh-theme @@ -81,7 +81,7 @@ add-zsh-hook chpwd steeef_chpwd function steeef_precmd { if [[ -n "$PR_GIT_UPDATE" ]] ; then # check for untracked files or updated submodules, since vcs_info doesn't - if [[ ! -z $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then + if git ls-files --other --exclude-standard 2> /dev/null | grep -q "."; then PR_GIT_UPDATE=1 FMT_BRANCH="(%{$turquoise%}%b%u%c%{$hotpink%}●${PR_RST})" else From 4199c1a6f77f1605157b1cfa6baa47c14c68a6c9 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Wed, 13 Jun 2012 13:14:23 -0700 Subject: [PATCH 31/83] 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 875d02f86..a38e2d7cf 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 From 4d6b532248fce0e71d762eb1ec3ef2ec8fcd5289 Mon Sep 17 00:00:00 2001 From: Kristi Date: Wed, 13 Jun 2012 13:14:31 -0700 Subject: [PATCH 32/83] add --directory flag --- themes/steeef.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/steeef.zsh-theme b/themes/steeef.zsh-theme index f22ce2719..312229e9f 100644 --- a/themes/steeef.zsh-theme +++ b/themes/steeef.zsh-theme @@ -81,7 +81,7 @@ add-zsh-hook chpwd steeef_chpwd function steeef_precmd { if [[ -n "$PR_GIT_UPDATE" ]] ; then # check for untracked files or updated submodules, since vcs_info doesn't - if git ls-files --other --exclude-standard 2> /dev/null | grep -q "."; then + if git ls-files --other --exclude-standard --directory 2> /dev/null | grep -q "."; then PR_GIT_UPDATE=1 FMT_BRANCH="(%{$turquoise%}%b%u%c%{$hotpink%}●${PR_RST})" else From c65a53df811953b9f4117ff0b8014d869565bf9d Mon Sep 17 00:00:00 2001 From: Roey Darwish Dror Date: Fri, 15 Jun 2012 10:07:22 +0300 Subject: [PATCH 33/83] Fixed unmached " in yum plugin --- plugins/yum/yum.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/yum/yum.plugin.zsh b/plugins/yum/yum.plugin.zsh index c9966f1b1..69abfc4ce 100644 --- a/plugins/yum/yum.plugin.zsh +++ b/plugins/yum/yum.plugin.zsh @@ -5,7 +5,7 @@ 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 ymc="yum makecache" # rebuilds the yum package list alias yu="sudo yum update" # upgrate packages alias yi="sudo yum install" # install package From 823cc9180c21c0520713b39fe3e3590645c76ad2 Mon Sep 17 00:00:00 2001 From: Thomas Dippel Date: Sat, 16 Jun 2012 12:41:44 +0200 Subject: [PATCH 34/83] Explicitly tell rbenv to use zsh According to @graywh's comment on: https://github.com/sstephenson/rbenv/issues/185 --- plugins/rbenv/rbenv.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/rbenv/rbenv.plugin.zsh b/plugins/rbenv/rbenv.plugin.zsh index ae37404cd..4c4647b32 100644 --- a/plugins/rbenv/rbenv.plugin.zsh +++ b/plugins/rbenv/rbenv.plugin.zsh @@ -4,7 +4,7 @@ for rbenvdir in "$HOME/.rbenv" "/usr/local/rbenv" "/opt/rbenv" ; do FOUND_RBENV=1 export RBENV_ROOT=$rbenvdir export PATH=${rbenvdir}/bin:$PATH - eval "$(rbenv init -)" + eval "$(rbenv init - zsh)" alias rubies="rbenv versions" alias gemsets="rbenv gemset list" From 82f785bc6751dc7c199b5d1ea068567120b92511 Mon Sep 17 00:00:00 2001 From: James Walker Date: Mon, 18 Jun 2012 10:41:19 -0400 Subject: [PATCH 35/83] remove readlink call and clean up --- plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh b/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh index afdad1bea..a93c8e863 100644 --- a/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh +++ b/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh @@ -10,11 +10,9 @@ for wrapsource in "/usr/local/bin/virtualenvwrapper.sh" "/etc/bash_completion.d/ # 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` + PROJECT_ROOT=`git rev-parse --show-toplevel 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"` + # Check for virtualenv name override ENV_NAME=`basename "$PROJECT_ROOT"` if [[ -f "$PROJECT_ROOT/.venv" ]]; then ENV_NAME=`cat "$PROJECT_ROOT/.venv"` @@ -30,6 +28,7 @@ for wrapsource in "/usr/local/bin/virtualenvwrapper.sh" "/etc/bash_completion.d/ # Note: this only happens if the virtualenv was activated automatically deactivate && unset CD_VIRTUAL_ENV fi + unset PROJECT_ROOT } # New cd function that does the virtualenv magic From e9a9deacb09196a48a39adc827d861e1896f4c59 Mon Sep 17 00:00:00 2001 From: Tima Maslyuchenko Date: Mon, 18 Jun 2012 20:15:57 +0300 Subject: [PATCH 36/83] rbenv plugin now uses 'brew --prefix rbenv' command to find rbenv folder --- plugins/rbenv/rbenv.plugin.zsh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/plugins/rbenv/rbenv.plugin.zsh b/plugins/rbenv/rbenv.plugin.zsh index ae37404cd..a0a64c7e4 100644 --- a/plugins/rbenv/rbenv.plugin.zsh +++ b/plugins/rbenv/rbenv.plugin.zsh @@ -1,5 +1,18 @@ +function is_homebrew_installed() { + type brew &> /dev/null +} + +function is_rbenv_installed() { + brew --prefix rbenv &> /dev/null +} + FOUND_RBENV=0 -for rbenvdir in "$HOME/.rbenv" "/usr/local/rbenv" "/opt/rbenv" ; do +rbenvdirs=("$HOME/.rbenv" "/usr/local/rbenv" "/opt/rbenv") +if is_homebrew_installed && is_rbenv_installed ; then + rbenvdirs=($(brew --prefix rbenv) "${rbenvdirs[@]}") +fi + +for rbenvdir in "${rbenvdirs[@]}" ; do if [ -d $rbenvdir/bin -a $FOUND_RBENV -eq 0 ] ; then FOUND_RBENV=1 export RBENV_ROOT=$rbenvdir From 5931f64308cbf4b0a8ef740a6b4eda5834479bd7 Mon Sep 17 00:00:00 2001 From: Tima Maslyuchenko Date: Mon, 18 Jun 2012 21:29:24 +0300 Subject: [PATCH 37/83] sanitized code according to coding style --- plugins/rbenv/rbenv.plugin.zsh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/rbenv/rbenv.plugin.zsh b/plugins/rbenv/rbenv.plugin.zsh index a0a64c7e4..a62dd5602 100644 --- a/plugins/rbenv/rbenv.plugin.zsh +++ b/plugins/rbenv/rbenv.plugin.zsh @@ -1,14 +1,14 @@ -function is_homebrew_installed() { +_homebrew-installed() { type brew &> /dev/null } -function is_rbenv_installed() { +_rbenv-from-homebrew-installed() { brew --prefix rbenv &> /dev/null } FOUND_RBENV=0 rbenvdirs=("$HOME/.rbenv" "/usr/local/rbenv" "/opt/rbenv") -if is_homebrew_installed && is_rbenv_installed ; then +if _homebrew-installed && _rbenv-from-homebrew-installed ; then rbenvdirs=($(brew --prefix rbenv) "${rbenvdirs[@]}") fi From b97cc939ec50cbd424beb4d9d5d61625b209ccac Mon Sep 17 00:00:00 2001 From: Andy Fleming Date: Wed, 20 Jun 2012 13:17:41 -0700 Subject: [PATCH 38/83] added first version of my theme af-magic --- themes/af-magic.zsh-theme | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 themes/af-magic.zsh-theme diff --git a/themes/af-magic.zsh-theme b/themes/af-magic.zsh-theme new file mode 100644 index 000000000..241393f1e --- /dev/null +++ b/themes/af-magic.zsh-theme @@ -0,0 +1,39 @@ +# af-magic.zsh-theme +# +# Author: Andy Fleming +# URL: http://andyfleming.com/ +# +# Created on: June 19, 2012 +# Last modified on: June 20, 2012 + + + +if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + + +PROMPT='$FG[237]------------------------------------------------------------%{$reset_color%} +$FG[032]%~\ +$(git_prompt_info) \ +$FG[105]%(!.#.»)%{$reset_color%} ' +PROMPT2='%{$fg[red]%}\ %{$reset_color%}' +RPS1='${return_code}' + + + +eval my_gray='$FG[237]' +eval my_orange='$FG[214]' +RPROMPT='$my_gray%n@%m%{$reset_color%}%' + + +ZSH_THEME_GIT_PROMPT_PREFIX="$FG[075](branch:" +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_DIRTY="$my_orange*%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="$FG[075])%{$reset_color%}" + + + +# LS colors, made with http://geoff.greer.fm/lscolors/ +#export LSCOLORS="exfxcxdxbxegedabagacad" +#export LS_COLORS='di=34;40:ln=35;40:so=32;40:pi=33;40:ex=31;40:bd=34;46:cd=34;43:su=0;41:sg=0;46:tw=0;42:ow=0;43:' + From 98d7a010994cd39758e4a1599cefe9e130a346db Mon Sep 17 00:00:00 2001 From: Andy Fleming Date: Wed, 20 Jun 2012 13:26:05 -0700 Subject: [PATCH 39/83] theme cleanup --- themes/af-magic.zsh-theme | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/themes/af-magic.zsh-theme b/themes/af-magic.zsh-theme index 241393f1e..c1b00c62b 100644 --- a/themes/af-magic.zsh-theme +++ b/themes/af-magic.zsh-theme @@ -2,6 +2,8 @@ # # Author: Andy Fleming # URL: http://andyfleming.com/ +# Repo: https://github.com/andyfleming/oh-my-zsh +# Direct Link: https://github.com/andyfleming/oh-my-zsh/blob/master/themes/af-magic.zsh-theme # # Created on: June 19, 2012 # Last modified on: June 20, 2012 @@ -11,7 +13,7 @@ if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" - +# primary prompt PROMPT='$FG[237]------------------------------------------------------------%{$reset_color%} $FG[032]%~\ $(git_prompt_info) \ @@ -20,20 +22,15 @@ PROMPT2='%{$fg[red]%}\ %{$reset_color%}' RPS1='${return_code}' - +# color vars eval my_gray='$FG[237]' eval my_orange='$FG[214]' + +# right prompt RPROMPT='$my_gray%n@%m%{$reset_color%}%' - +# git settings ZSH_THEME_GIT_PROMPT_PREFIX="$FG[075](branch:" ZSH_THEME_GIT_PROMPT_CLEAN="" ZSH_THEME_GIT_PROMPT_DIRTY="$my_orange*%{$reset_color%}" ZSH_THEME_GIT_PROMPT_SUFFIX="$FG[075])%{$reset_color%}" - - - -# LS colors, made with http://geoff.greer.fm/lscolors/ -#export LSCOLORS="exfxcxdxbxegedabagacad" -#export LS_COLORS='di=34;40:ln=35;40:so=32;40:pi=33;40:ex=31;40:bd=34;46:cd=34;43:su=0;41:sg=0;46:tw=0;42:ow=0;43:' - From 7e1da28d27f42e4d873cdfc28ef362d59d8c2b07 Mon Sep 17 00:00:00 2001 From: jugyo Date: Thu, 21 Jun 2012 07:41:50 +0900 Subject: [PATCH 40/83] correct the ruby version label for rbenv --- themes/nebirhos.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/nebirhos.zsh-theme b/themes/nebirhos.zsh-theme index c5864d9b8..a5a226b69 100644 --- a/themes/nebirhos.zsh-theme +++ b/themes/nebirhos.zsh-theme @@ -6,7 +6,7 @@ if [ -e ~/.rvm/bin/rvm-prompt ]; then RUBY_PROMPT_="%{$fg_bold[blue]%}rvm:(%{$fg[green]%}\$(~/.rvm/bin/rvm-prompt s i v g)%{$fg_bold[blue]%})%{$reset_color%} " else if which rbenv &> /dev/null; then - RUBY_PROMPT_="%{$fg_bold[blue]%}rvm:(%{$fg[green]%}\$(rbenv version | sed -e 's/ (set.*$//')%{$fg_bold[blue]%})%{$reset_color%} " + RUBY_PROMPT_="%{$fg_bold[blue]%}rbenv:(%{$fg[green]%}\$(rbenv version | sed -e 's/ (set.*$//')%{$fg_bold[blue]%})%{$reset_color%} " fi fi From 3aa0cb74d0a19a8053889a976404a7915585466e Mon Sep 17 00:00:00 2001 From: Volker Pacher Date: Fri, 22 Jun 2012 18:27:21 +0100 Subject: [PATCH 41/83] added plugin for jruby --- plugins/jruby/jruby.plugin.zsh | 3 +++ 1 file changed, 3 insertions(+) create mode 100755 plugins/jruby/jruby.plugin.zsh diff --git a/plugins/jruby/jruby.plugin.zsh b/plugins/jruby/jruby.plugin.zsh new file mode 100755 index 000000000..58781fc72 --- /dev/null +++ b/plugins/jruby/jruby.plugin.zsh @@ -0,0 +1,3 @@ +# Aliases +alias jrspec='jruby --debug -S rspec --debug' +alias jprofile='jruby --profile.api -S rspec' From 5c37c85fb49a377b59115efc2aa132665982ac06 Mon Sep 17 00:00:00 2001 From: Volker Pacher Date: Fri, 22 Jun 2012 18:33:11 +0100 Subject: [PATCH 42/83] added jexec --- plugins/jruby/jruby.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/jruby/jruby.plugin.zsh b/plugins/jruby/jruby.plugin.zsh index 58781fc72..bb7975b10 100755 --- a/plugins/jruby/jruby.plugin.zsh +++ b/plugins/jruby/jruby.plugin.zsh @@ -1,3 +1,4 @@ # Aliases alias jrspec='jruby --debug -S rspec --debug' alias jprofile='jruby --profile.api -S rspec' +alias jexec='jruby -S' From a39c9ffe5b7236b6e4dc78efa80b478cc411af7f Mon Sep 17 00:00:00 2001 From: Renan Cakirerk Date: Sat, 23 Jun 2012 14:53:40 +0300 Subject: [PATCH 43/83] Fix finding git issue. http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script --- tools/install.sh | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/tools/install.sh b/tools/install.sh index 8ca427d2c..b080be3a1 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -5,13 +5,10 @@ then fi echo "\033[0;34mCloning Oh My Zsh...\033[0m" -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 +hash git >/dev/null && /usr/bin/env git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh || { echo "git not installed" exit -fi +} echo "\033[0;34mLooking for an existing zsh config...\033[0m" if [ -f ~/.zshrc ] || [ -h ~/.zshrc ] From d15ec4bf248cf091fb31dd10da066c040abcd744 Mon Sep 17 00:00:00 2001 From: David Barragan Date: Mon, 25 Jun 2012 10:55:23 +0200 Subject: [PATCH 44/83] Added another path --- plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh b/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh index a93c8e863..5d0860400 100644 --- a/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh +++ b/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh @@ -1,5 +1,5 @@ WRAPPER_FOUND=0 -for wrapsource in "/usr/local/bin/virtualenvwrapper.sh" "/etc/bash_completion.d/virtualenvwrapper" ; do +for wrapsource in "/usr/bin/virtualenvwrapper.sh" "/usr/local/bin/virtualenvwrapper.sh" "/etc/bash_completion.d/virtualenvwrapper" ; do if [[ -e $wrapsource ]] ; then WRAPPER_FOUND=1 source $wrapsource From e2ddf1ef8c1147586a11c25007b201e9cbcfe278 Mon Sep 17 00:00:00 2001 From: Eustachy Kapusta Date: Sun, 1 Jul 2012 19:57:32 +0200 Subject: [PATCH 45/83] Remove bogus "-" from nomz="ps -aux" alias. Info from http://procps.sourceforge.net/faq.html . --- plugins/lol/lol.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/lol/lol.plugin.zsh b/plugins/lol/lol.plugin.zsh index e455527e7..697f98d66 100644 --- a/plugins/lol/lol.plugin.zsh +++ b/plugins/lol/lol.plugin.zsh @@ -29,7 +29,7 @@ alias iminurbase='finger' alias btw='nice' alias obtw='nohup' -alias nomz='ps -aux' +alias nomz='ps aux' alias nomnom='killall' alias byes='exit' From e3ff4b58c6b0012c616ea7a1dc44cde7a2ecfb57 Mon Sep 17 00:00:00 2001 From: lukas Date: Tue, 3 Jul 2012 09:59:42 +0200 Subject: [PATCH 46/83] provide plugin for rbfu the ruby version switcher Evaluates $(rbfu --init --auto) if rbfu is installed on the system, also has a custom rbfu-rubies method which lists the installed rubies which are available to rbfu. For compatibility with themes, also creates the rvm_prompt_info function, so existing themes should work out of the box. --- plugins/rbfu/rbfu.plugin.zsh | 42 ++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 plugins/rbfu/rbfu.plugin.zsh diff --git a/plugins/rbfu/rbfu.plugin.zsh b/plugins/rbfu/rbfu.plugin.zsh new file mode 100644 index 000000000..008485205 --- /dev/null +++ b/plugins/rbfu/rbfu.plugin.zsh @@ -0,0 +1,42 @@ +# Enables rbfu with --auto option, if available. +# +# Also provides a command to list all installed/available +# rubies. To ensure compatibility with themes, creates the +# rvm_prompt_info function to return the $RBFU_RUBY_VERSION +# version. + +command -v rbfu &>/dev/null + +if [[ $? -eq 0 ]]; then + eval "$(rbfu --init --auto)" + + # Internal: Print ruby version details, if it's currently + # active etc. + function _rbfu_rubies_print() { + local rb rb_out + rb=$(basename $1) + rb_out="$rb" + [[ -h $1 ]] && rb_out="$rb_out${fg[green]}@${reset_color}" + [[ "x$rb" == "x$2" ]] && rb_out="${fg[red]}$rb_out ${fg[red]}*${reset_color}" + echo $rb_out + } + + # Public: Provide a list with all available rubies, this basically depends + # on `ls -1` and .rfbu/rubies. Highlights the currently active ruby version + # and aliases. + function rbfu-rubies() { + local rbfu_dir active_rb + rbfu_dir=$RBFU_RUBIES + active_rb=$RBFU_RUBY_VERSION + [[ -z "$rbfu_dir" ]] && rbfu_dir="${HOME}/.rbfu/rubies" + [[ -z "$active_rb" ]] && active_rb="system" + _rbfu_rubies_print "${rbfu_dir}/system" $active_rb + for rb in $(ls -1 $rbfu_dir); do + _rbfu_rubies_print "${rbfu_dir}/${rb}" $active_rb + done + } + + # Public: Create rvm_prompt_info command for themes compatibility, unless + # it has already been defined. + [ ! -x rvm_prompt_info ] && function rvm_prompt_info() { echo "${RBFU_RUBY_VERSION:=system}" } +fi From 92b6cae02638f644e6359e3f553805e2c3eba957 Mon Sep 17 00:00:00 2001 From: Josh Vermaire Date: Sun, 8 Jul 2012 23:34:27 -0700 Subject: [PATCH 47/83] escape whitespace --- plugins/sublime/sublime.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/sublime/sublime.plugin.zsh b/plugins/sublime/sublime.plugin.zsh index 0035b1b26..781c8f83f 100755 --- a/plugins/sublime/sublime.plugin.zsh +++ b/plugins/sublime/sublime.plugin.zsh @@ -4,6 +4,6 @@ if [[ $('uname') == 'Linux' ]]; then alias st='/usr/bin/sublime_text&' elif [[ $('uname') == 'Darwin' ]]; then - alias st='open -a /Applications/Sublime Text 2.app' + alias st='open -a /Applications/Sublime\ Text\ 2.app' fi alias stt='st .' From a15bcd6461b5b8237844c4e2968df0518dab5e9a Mon Sep 17 00:00:00 2001 From: Josh Vermaire Date: Mon, 9 Jul 2012 00:11:07 -0700 Subject: [PATCH 48/83] utilize sublime's embedded command line binary --- plugins/sublime/sublime.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/sublime/sublime.plugin.zsh b/plugins/sublime/sublime.plugin.zsh index 781c8f83f..91b0279c5 100755 --- a/plugins/sublime/sublime.plugin.zsh +++ b/plugins/sublime/sublime.plugin.zsh @@ -4,6 +4,6 @@ if [[ $('uname') == 'Linux' ]]; then alias st='/usr/bin/sublime_text&' elif [[ $('uname') == 'Darwin' ]]; then - alias st='open -a /Applications/Sublime\ Text\ 2.app' + alias st='/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl' fi alias stt='st .' From 87ab8771dac655272895e5904fcf93217ea4a64b Mon Sep 17 00:00:00 2001 From: Sebastian Nowak Date: Sun, 15 Jul 2012 21:26:30 +0200 Subject: [PATCH 49/83] 'rails' command should not be run with bundle exec http://blog.wyeworks.com/2011/12/27/bundle-exec-rails-executes-bundler-setup-3-times http://yehudakatz.com/2011/05/30/gem-versioning-and-bundler-doing-it-right/ --- 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 1ca48089e..39b76ecdf 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 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 rake rspec ruby shotgun spec spork thin thor unicorn unicorn_rails) ## Functions From 6a2e04fefbd794f050d45e7a717d009e39204431 Mon Sep 17 00:00:00 2001 From: clutton Date: Mon, 16 Jul 2012 02:59:30 +0300 Subject: [PATCH 50/83] =?UTF-8?q?modify=20themes/jnrowe.zsh-theme,=20add?= =?UTF-8?q?=20host=20directive=20"=CE=9E=20(mbsd)=20~=20=E2=86=92"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- themes/jnrowe.zsh-theme | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/themes/jnrowe.zsh-theme b/themes/jnrowe.zsh-theme index 7c8a7082e..0ade9cc60 100644 --- a/themes/jnrowe.zsh-theme +++ b/themes/jnrowe.zsh-theme @@ -1,3 +1,4 @@ +autoload -U colors && colors autoload -U add-zsh-hook autoload -Uz vcs_info @@ -8,9 +9,10 @@ zstyle ':vcs_info:*' formats \ zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{3}%r' zstyle ':vcs_info:*' enable git -add-zsh-hook precmd prompt_jnrowe_precmd +add-zsh-hook precmd prompt_vcs +add-zsh-hook precmd prompt_host -prompt_jnrowe_precmd () { +prompt_vcs () { vcs_info if [ "${vcs_info_msg_0_}" = "" ]; then @@ -24,8 +26,17 @@ prompt_jnrowe_precmd () { fi } +prompt_host () { + if [[ -n "$SSH_CLIENT" ]]; then + host=" ($HOST)" + else + host='' + fi +} + + local ret_status="%(?:%{$fg_bold[green]%}Ξ:%{$fg_bold[red]%}%S↑%s%?)" -PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg_bold[yellow]%}%2~ ${vcs_info_msg_0_}${dir_status}%{$reset_color%} ' +PROMPT='${ret_status}%{$fg[blue]%}${host}%{$fg_bold[green]%}%p %{$fg_bold[yellow]%}%2~ ${vcs_info_msg_0_}${dir_status}%{$reset_color%} ' # vim: set ft=zsh ts=4 sw=4 et: From 1c23a52f5744ef419e83733d18a6a698ddd14d1e Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Fri, 20 Jul 2012 15:07:51 -0700 Subject: [PATCH 51/83] auto-upadate feature will now reset the epoch so that if a user doesn't say yes, it won't ask them again for a while. fixes #1240 --- tools/check_for_upgrade.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh index bbd705a1e..612901cbe 100644 --- a/tools/check_for_upgrade.sh +++ b/tools/check_for_upgrade.sh @@ -32,9 +32,10 @@ then echo "[Oh My Zsh] Would you like to check for updates?" echo "Type Y to update oh-my-zsh: \c" read line - if [ "$line" = Y ] || [ "$line" = y ] - then + if [ "$line" = Y ] || [ "$line" = y ]; then _upgrade_zsh + else + _update_zsh_update fi fi fi From d5bfbf05d16634fa3c2834c7097edb1cf2487d96 Mon Sep 17 00:00:00 2001 From: clutton Date: Tue, 24 Jul 2012 05:36:18 +0300 Subject: [PATCH 52/83] improvement: define PROMPT_HOST once on startup --- themes/jnrowe.zsh-theme | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/themes/jnrowe.zsh-theme b/themes/jnrowe.zsh-theme index 0ade9cc60..a1478be31 100644 --- a/themes/jnrowe.zsh-theme +++ b/themes/jnrowe.zsh-theme @@ -1,16 +1,14 @@ -autoload -U colors && colors autoload -U add-zsh-hook autoload -Uz vcs_info +zstyle ':vcs_info:*' disable-patterns "/usr/(ports|src)(|/*)" zstyle ':vcs_info:*' actionformats \ - '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f ' -zstyle ':vcs_info:*' formats \ - '%F{2}%s%F{7}:%F{2}(%F{1}%b%F{2})%f ' + '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f ' +zstyle ':vcs_info:*' formats '%F{2}%s%F{7}:%F{2}(%F{1}%b%F{2})%f ' zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{3}%r' zstyle ':vcs_info:*' enable git add-zsh-hook precmd prompt_vcs -add-zsh-hook precmd prompt_host prompt_vcs () { vcs_info @@ -26,17 +24,16 @@ prompt_vcs () { fi } -prompt_host () { +function { if [[ -n "$SSH_CLIENT" ]]; then - host=" ($HOST)" + PROMPT_HOST=" ($HOST)" else - host='' + PROMPT_HOST='' fi } - local ret_status="%(?:%{$fg_bold[green]%}Ξ:%{$fg_bold[red]%}%S↑%s%?)" -PROMPT='${ret_status}%{$fg[blue]%}${host}%{$fg_bold[green]%}%p %{$fg_bold[yellow]%}%2~ ${vcs_info_msg_0_}${dir_status}%{$reset_color%} ' +PROMPT='${ret_status}%{$fg[blue]%}${PROMPT_HOST}%{$fg_bold[green]%}%p %{$fg_bold[yellow]%}%2~ ${vcs_info_msg_0_}${dir_status}%{$reset_color%} ' # vim: set ft=zsh ts=4 sw=4 et: From decb9c82b5392d66e157ceef9c3b41466bdcbafd Mon Sep 17 00:00:00 2001 From: clutton Date: Tue, 24 Jul 2012 14:16:03 +0300 Subject: [PATCH 53/83] delete os specific disable-patterns --- themes/jnrowe.zsh-theme | 1 - 1 file changed, 1 deletion(-) diff --git a/themes/jnrowe.zsh-theme b/themes/jnrowe.zsh-theme index a1478be31..bae88f7ab 100644 --- a/themes/jnrowe.zsh-theme +++ b/themes/jnrowe.zsh-theme @@ -1,7 +1,6 @@ autoload -U add-zsh-hook autoload -Uz vcs_info -zstyle ':vcs_info:*' disable-patterns "/usr/(ports|src)(|/*)" zstyle ':vcs_info:*' actionformats \ '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f ' zstyle ':vcs_info:*' formats '%F{2}%s%F{7}:%F{2}(%F{1}%b%F{2})%f ' From 76f2429e8ec30afacd3a913018c8c573962e214c Mon Sep 17 00:00:00 2001 From: Marcelo Eden Date: Tue, 14 Aug 2012 12:23:11 -0300 Subject: [PATCH 54/83] new 3den theme with RVM and GIT --- themes/3den.zsh-theme | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 themes/3den.zsh-theme diff --git a/themes/3den.zsh-theme b/themes/3den.zsh-theme new file mode 100644 index 000000000..1d2c7db7f --- /dev/null +++ b/themes/3den.zsh-theme @@ -0,0 +1,7 @@ +PROMPT=$'%{$fg[white]%}$(~/.rvm/bin/rvm-prompt) %{$fg_bold[cyan]%}%~%{$reset_color%}$(git_prompt_info) %{$fg[cyan]%}%D{[%I:%M:%S]}\ +%{$fg_bold[green]%}%n$%{$reset_color%} ' + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[white]%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="*" +ZSH_THEME_GIT_PROMPT_CLEAN="" From b2c1af91d3e70ea442ae5353cf7f140d89491c73 Mon Sep 17 00:00:00 2001 From: John Hamelink Date: Sun, 19 Aug 2012 14:03:23 +0100 Subject: [PATCH 55/83] Added laravel plugin which gives aliases to artisan and bob, and provides autocompletion for artisan. --- plugins/laravel/_artisan | 40 ++++++++++++++++++++++++++++++ plugins/laravel/laravel.plugin.zsh | 3 +++ 2 files changed, 43 insertions(+) create mode 100644 plugins/laravel/_artisan create mode 100644 plugins/laravel/laravel.plugin.zsh diff --git a/plugins/laravel/_artisan b/plugins/laravel/_artisan new file mode 100644 index 000000000..8637514cf --- /dev/null +++ b/plugins/laravel/_artisan @@ -0,0 +1,40 @@ +#compdef artisan + +# Laravel autocompletion +# Author: John Hamelink +# +# This plugin does the following: +# - Adds aliases and autocompletion for artisan +# - Adds aliases and autocompletion for bob + +local curcontext="$curcontext" state line _opts _bundles ret=1 +_arguments -C \ + '1: :->cmds' \ + '*:: :->args' && ret=0 + +case $state in + cmds) + + _values "Artisan command" \ + 'session\:install[Create a session table]' \ + 'migrate[Manage Migrations]' \ + 'test[Run a test]' \ + 'route\:\:call[Call a route in the CLI]' \ + 'key\:\:generate[Generate a key]' + ret=0 + ;; + args) + case $line[1] in + migrate) + _values \ + 'install[Create the Laravel migration table' \ + 'make[Create a migration]' \ + 'rollback[Roll back to the last migration operation]' \ + 'reset[Roll back all migrations that have ever run]' + ret=0 + ;; + esac + ;; +esac + +return ret diff --git a/plugins/laravel/laravel.plugin.zsh b/plugins/laravel/laravel.plugin.zsh new file mode 100644 index 000000000..ed932ee89 --- /dev/null +++ b/plugins/laravel/laravel.plugin.zsh @@ -0,0 +1,3 @@ +#!zsh +alias artisan='php artisan' +alias bob='php artisan bob::build' From fbf82ae62fe03f69af0114011c0d6848a83d4fb3 Mon Sep 17 00:00:00 2001 From: everbird Date: Sat, 1 Sep 2012 23:11:47 +0800 Subject: [PATCH 56/83] add new plugin to autocomplete supervisor commands --- plugins/supervisor/_supervisorctl | 136 +++++++++++++++++++++++ plugins/supervisor/_supervisord | 32 ++++++ plugins/supervisor/supervisor.plugin.zsh | 1 + 3 files changed, 169 insertions(+) create mode 100644 plugins/supervisor/_supervisorctl create mode 100644 plugins/supervisor/_supervisord create mode 100644 plugins/supervisor/supervisor.plugin.zsh diff --git a/plugins/supervisor/_supervisorctl b/plugins/supervisor/_supervisorctl new file mode 100644 index 000000000..d159f20e0 --- /dev/null +++ b/plugins/supervisor/_supervisorctl @@ -0,0 +1,136 @@ +#compdef supervisorctl + +typeset -A opt_args +local context state line + +_supervisorctl() { + _arguments -s -S \ + {--configuration,-c}"[configuration file path (default /etc/supervisor.conf)]:FILENAME:_files" \ + {--help,-h}"[print usage message and exit]:" \ + {--interactive,-i}"[start an interactive shell after executing commands]" \ + {--serverurl,-s}"[URL on which supervisord server is listening (default "http://localhost:9001").]" \ + {--username,-u}"[username to use for authentication with server]:USERNAME:_users" \ + {--password,-p}"[password to use for authentication with server]:PASSWORD:" \ + {--history-file,-r}"[keep a readline history (if readline is available)]:FILENAME:_files" \ + "*::supervisorctl commands:_supervisorctl_command" +} + +(( $+functions[_supervisorctl_command] )) || +_supervisorctl_command() { + local cmd ret=1 + + (( $+supervisorctl_cmds )) || _supervisorctl_cmds=( + "add:Activates any updates in config for process/group" \ + "avail:Display all configured processes" \ + "clear:Clear process/multiple-process/all-process log files" \ + "exit:Exit the supervisor shell." \ + "fg:Connect to a process in foreground mode" \ + "maintail:tail of supervisor main log file" \ + "open:Connect to a remote supervisord process. (for UNIX domain socket, use unix:///socket/path)" \ + "pid:Get the PID of supervisord." \ + "quit:Exit the supervisor shell." \ + "reload:Restart the remote supervisord." \ + "remove:Removes process/group from active config" \ + "reread:Reload the daemon's configuration files" \ + "restart:Restart process or group." \ + "shutdown:Shut the remote supervisord down." \ + "start:Start process or groups." \ + "status:Get process status info." \ + "stop:Stop process or group." \ + "tail:tail of process stdout" \ + "update:Reload config and add/remove as necessary" \ + "version:Show the version of the remote supervisord process" \ + "help:Show help" \ + ) + + if (( CURRENT == 1 )); then + _describe -t commands 'supervisorctl subcommand' _supervisorctl_cmds \ + || compadd "$@" - ${(s.:.)${(j.:.)_supervisorctl_syns}} + else + local curcontext="$curcontext" + + cmd="${${_supervisorctl_cmds[(r)$words[1]:*]%%:*}:-${(k)_supervisorctl_syns[(r)(*:|)$words[1](:*|)]}}" + if (( $#cmd )); then + curcontext="${curcontext%:*:*}:supervisorctl-${cmd}:" + _call_function ret _supervisorctl_$cmd || _message 'no more arguments' + else + _message "unknown supervisorctl command: $words[1]" + fi + return ret + fi +} + +# get supervisor contoroll processes +(( $+functions[_get_supervisor_procs] )) || +_get_supervisor_procs() { + local cache_policy + zstyle -s ":completion:${curcontext}:" cache-policy cache_policy + if [[ -z "$cache_policy" ]]; then + zstyle ":completion:${curcontext}:" cache-policy _supervisor_procs_caching_policy + fi + + if ( [[ ${+_supervisor_procs} -eq 0 ]] || _cache_invalid supervisor_procs ) \ + && ! _retrieve_cache supervisor_procs; then + + _supervisor_procs=(${${(f)"$(supervisorctl status >/dev/null 2>&1 | awk -F' ' '{print $1}')"}}) + _store_cache supervisor_procs _supervisor_procs + fi + + local expl + _wanted supervisor_procs expl 'supervisor processes' compadd -a _supervisor_procs +} + +_supervisor_procs_caching_policy() { + local -a oldp + oldp=( "$1"(Nmw+1) ) + (( $#oldp )) +} + +(( $+functions[_supervisorctl_add] )) || +_supervisorctl_add() { + _arguments -s \ + "--help[use help system]" \ + "*::supervisorctl commands:_supervisorctl" +} + +(( $+functions[_supervisorctl_help] )) || +_supervisorctl_help() { + _arguments -s \ + "*:supervisorctl commands:_supervisorctl" +} + +(( $+functions[_supervisorctl_maintail] )) || +_supervisorctl_maintail() { + _arguments -s \ + '-f[Continuous tail of supervisor main log file (Ctrl-C to exit)]' +} + +(( $+functions[_supervisorctl_start] )) || +_supervisorctl_start() { + # TODO: add 'all' + _arguments -s \ + '*::supvervisor process:_get_supervisor_procs' +} + +(( $+functions[_supervisorctl_status] )) || +_supervisorctl_status() { + _arguments \ + '*::supvervisor process:_get_supervisor_procs' +} + +(( $+functions[_supervisorctl_stop] )) || +_supervisorctl_stop() { + # TODO: add 'all' + _arguments -s \ + '*::supvervisor process:_get_supervisor_procs' +} + +(( $+functions[_supervisorctl_tail] )) || +_supervisorctl_tail() { + # TODO: add 'stderr' + _arguments -s \ + '-f[Continuous tail of named process stdout Ctrl-C to exit.]' \ + '*::supvervisor process:_get_supervisor_procs' +} + +_supervisorctl "$@" diff --git a/plugins/supervisor/_supervisord b/plugins/supervisor/_supervisord new file mode 100644 index 000000000..34d27805d --- /dev/null +++ b/plugins/supervisor/_supervisord @@ -0,0 +1,32 @@ +#compdef supervisord + +typeset -A opt_args +local context state line + +_arguments \ + {--configuration,-c}"[configuration file]:FILENAME:_files" \ + {--nodaemon,-n}"[run in the foreground (same as 'nodaemon true' in config file)]" \ + {--help,-h}"[print this usage message and exit]:" \ + {--user,-u}"[run supervisord as this user]:USER:_users" \ + {--umask,-m}"[use this umask for daemon subprocess (default is 022)]" \ + {--directory,-d}"[directory to chdir to when daemonized]" \ + {--logfile,-l}"[use FILENAME as logfile path]:FILENAME:_files" \ + {--logfile_maxbytes,-y}"[use BYTES to limit the max size of logfile]" \ + {--logfile_backups,-z}"[number of backups to keep when max bytes reached]" \ + {--loglevel,-e}"[use LEVEL as log level (debug,info,warn,error,critical)]:level:->levels" \ + {--pidfile,-j}"[write a pid file for the daemon process to FILENAME]:FILENAME:_files" \ + {--identifier,-i}"[identifier used for this instance of supervisord]" \ + {--childlogdir,-q}"[the log directory for child process logs]:child log directory:_files -/" \ + {--nocleanup,-k}"[prevent the process from performing cleanup (removal of old automatic child log files) at startup.]" \ + {--minfds,-a}"[the minimum number of file descriptors for start success]" \ + {--strip_ansi,-t}"[strip ansi escape codes from process output]" \ + "--minprocs[the minimum number of processes available for start success]" \ + "--profile_options[run supervisord under profiler and output results based on OPTIONS, which is a comma-sep'd list of 'cumulative', 'calls', and/or 'callers', e.g. 'cumulative,callers')]" \ + "*::args:_gnu_generic" + +case $state in +levels) + levels=("debug" "info" "warn" "error" "critical") + _describe -t levels 'supervisord levels' levels && return 0 + ;; +esac diff --git a/plugins/supervisor/supervisor.plugin.zsh b/plugins/supervisor/supervisor.plugin.zsh new file mode 100644 index 000000000..cf1997c5b --- /dev/null +++ b/plugins/supervisor/supervisor.plugin.zsh @@ -0,0 +1 @@ +# DECLARION: This plugin was created by hhatto. What I did is just making a portal from https://bitbucket.org/hhatto/zshcompfunc4supervisor. From 061a4c006c83c9ddb2c8c693c2169d5be663763f Mon Sep 17 00:00:00 2001 From: Josh Parnham Date: Thu, 6 Sep 2012 19:59:18 +1000 Subject: [PATCH 57/83] Add new 'nanoc' plugin --- plugins/nanoc/_nanoc | 44 ++++++++++++++++++++++++++++++++++ plugins/nanoc/nanoc.plugin.zsh | 9 +++++++ 2 files changed, 53 insertions(+) create mode 100644 plugins/nanoc/_nanoc create mode 100644 plugins/nanoc/nanoc.plugin.zsh diff --git a/plugins/nanoc/_nanoc b/plugins/nanoc/_nanoc new file mode 100644 index 000000000..fde07c3fc --- /dev/null +++ b/plugins/nanoc/_nanoc @@ -0,0 +1,44 @@ +#compdef nanoc +#autoload + +# nanoc zsh completion - based on the homebrew zsh completion +# requires the 'nanoc' gem to be installed + +local -a _1st_arguments +_1st_arguments=( + 'autocompile:start the autocompiler' + 'compile:compile items of this site' + 'create-item:create an item' + 'create-layout:create a layout' + 'create-site:create a site' + 'deploy:deploy the compiled site' + 'help:show help' + 'prune:remove files not managed by nanoc from the output directory' + 'show-data:show data in this site' + 'show-plugins:show all available plugins' + 'show-rules:describe the rules for each item' + 'update:update the data stored by the data source to a newer version' + 'validate-css:validate the site’s CSS' + 'validate-html:validate the site’s HTML' + 'validate-links:validate links in site' + 'view:start the web server that serves static files' + 'watch:start the watcher' +) + +local expl +local -a pkgs installed_pkgs + +_arguments \ + '(--color)--color[enable color]' \ + '(--debug)--debug[enable debugging]' \ + '(--help)--help[show the help message and quit]' \ + '(--no-color)--no-color[disable color]' \ + '(--verbose)--verbose[make nanoc output more detailed]' \ + '(--version)--version[show version information and quit]' \ + '(--warn)--warn[enable warnings]' \ + '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "nanoc subcommand" _1st_arguments + return +fi diff --git a/plugins/nanoc/nanoc.plugin.zsh b/plugins/nanoc/nanoc.plugin.zsh new file mode 100644 index 000000000..5a5064613 --- /dev/null +++ b/plugins/nanoc/nanoc.plugin.zsh @@ -0,0 +1,9 @@ +alias n='nanoc' +alias na='nanoc autocompile' +alias nco='nanoc compile' +alias nci='nanoc create_item' +alias ncl='nanoc create_layout' +alias ncs='nanoc create_site' +alias nd='nanoc deploy' +alias nv='nanoc view' +alias nw='nanoc watch' From 8d60a0c80039048b836205475dfcf258bd776912 Mon Sep 17 00:00:00 2001 From: Koen Punt Date: Thu, 13 Sep 2012 11:38:58 +0200 Subject: [PATCH 58/83] updated cap plugin to use `cap -T` instead of `cap show_tasks` which didn't exist (sometimes?) --- plugins/cap/cap.plugin.zsh | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/plugins/cap/cap.plugin.zsh b/plugins/cap/cap.plugin.zsh index 8336182d5..04479f46f 100644 --- a/plugins/cap/cap.plugin.zsh +++ b/plugins/cap/cap.plugin.zsh @@ -1,8 +1,30 @@ -function _cap_does_task_list_need_generating () { - if [ ! -f .cap_tasks~ ]; then return 0; +stat -f%m . > /dev/null 2>&1 +if [ "$?" = 0 ]; then + stat_cmd=(stat -f%m) +else + stat_cmd=(stat -L --format=%y) +fi + +# Cache filename +_cap_show_undescribed_tasks=0 + +# Cache filename +_cap_task_cache_file='.cap_task_cache' + +_cap_get_task_list () { + if [ ${_cap_show_undescribed_tasks} -eq 0 ] + cap -T | grep '^cap' | cut -d " " -f 2 else - accurate=$(stat -f%m .cap_tasks~) - changed=$(stat -f%m config/deploy.rb) + cap -vT | grep '^cap' | cut -d " " -f 2 + fi +} + +_cap_does_task_list_need_generating () { + + if [ ! -f ${_cap_task_cache_file} ]; then return 0; + else + accurate=$($stat_cmd $_cap_task_cache_file) + changed=$($stat_cmd config/deploy.rb) return $(expr $accurate '>=' $changed) fi } @@ -10,12 +32,10 @@ function _cap_does_task_list_need_generating () { function _cap () { if [ -f config/deploy.rb ]; then if _cap_does_task_list_need_generating; then - echo "\nGenerating .cap_tasks~..." > /dev/stderr - cap show_tasks -q | cut -d " " -f 1 | sed -e '/^ *$/D' -e '1,2D' -> .cap_tasks~ + _cap_get_task_list > ${_cap_task_cache_file} fi - compadd `cat .cap_tasks~` + compadd `cat ${_cap_task_cache_file}` fi } -compctl -K _cap cap +compdef _cap cap From 9a4fac184ea1aa7a2e86e50111548a0a98652aaf Mon Sep 17 00:00:00 2001 From: Koen Punt Date: Thu, 13 Sep 2012 12:20:44 +0200 Subject: [PATCH 59/83] fixed incorrect if/else --- plugins/cap/cap.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/cap/cap.plugin.zsh b/plugins/cap/cap.plugin.zsh index 04479f46f..d22d10401 100644 --- a/plugins/cap/cap.plugin.zsh +++ b/plugins/cap/cap.plugin.zsh @@ -12,7 +12,7 @@ _cap_show_undescribed_tasks=0 _cap_task_cache_file='.cap_task_cache' _cap_get_task_list () { - if [ ${_cap_show_undescribed_tasks} -eq 0 ] + if [ ${_cap_show_undescribed_tasks} -eq 0 ]; then cap -T | grep '^cap' | cut -d " " -f 2 else cap -vT | grep '^cap' | cut -d " " -f 2 From b11e28914139fb585c0a4de4ddb6a55f19a5493d Mon Sep 17 00:00:00 2001 From: Isaac Wolkerstorfer Date: Thu, 13 Sep 2012 14:02:09 +0200 Subject: [PATCH 60/83] Add agnoster.zsh-theme --- themes/agnoster.zsh-theme | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 themes/agnoster.zsh-theme diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme new file mode 100644 index 000000000..15848979e --- /dev/null +++ b/themes/agnoster.zsh-theme @@ -0,0 +1,28 @@ +# Theme by [agnoster](https://github.com/agnoster) +# See https://gist.github.com/3712874 + +ZSH_THEME_GIT_PROMPT_DIRTY='±' + +function _git_prompt_info() { + ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="➦ $(git show-ref --head -s --abbrev |head -n1 2> /dev/null)" + echo "${ref/refs\/heads\//⭠ }$(parse_git_dirty)" +} + +function _git_info() { + if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then + local BG_COLOR=green + if [[ -n $(parse_git_dirty) ]]; then + BG_COLOR=yellow + fi + echo "%{%K{$BG_COLOR}%}⮀%{%F{black}%} $(_git_prompt_info) %{%F{$BG_COLOR}%K{blue}%}⮀" + else + echo "%{%K{blue}%}⮀" + fi +} + +PROMPT_HOST='%{%b%F{gray}%K{black}%} %(?.%{%F{green}%}✔.%{%F{red}%}✘)%{%F{gray}%} %m %{%F{black}%}' +PROMPT_DIR='%{%F{white}%} %1~ ' +PROMPT_SU='%(!.%{%k%F{blue}%K{black}%}⮀%{%F{yellow}%} ⚡ %{%k%F{black}%}.%{%k%F{blue}%})⮀%{%f%k%b%}' + +PROMPT='%{%f%b%k%} +$PROMPT_HOST$(_git_info)$PROMPT_DIR$PROMPT_SU ' From bf4157514f8880ac04ba328f7f1b74c34f1b39d7 Mon Sep 17 00:00:00 2001 From: Isaac Wolkerstorfer Date: Mon, 17 Sep 2012 11:44:25 -0500 Subject: [PATCH 61/83] Refactored theme --- themes/agnoster.zsh-theme | 96 +++++++++++++++++++++++++++++++-------- 1 file changed, 77 insertions(+), 19 deletions(-) diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme index 15848979e..9cfcff3d0 100644 --- a/themes/agnoster.zsh-theme +++ b/themes/agnoster.zsh-theme @@ -1,28 +1,86 @@ -# Theme by [agnoster](https://github.com/agnoster) -# See https://gist.github.com/3712874 +### Segment drawing +# A few utility functions to make it easy and re-usable to draw segmented prompts -ZSH_THEME_GIT_PROMPT_DIRTY='±' - -function _git_prompt_info() { - ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="➦ $(git show-ref --head -s --abbrev |head -n1 2> /dev/null)" - echo "${ref/refs\/heads\//⭠ }$(parse_git_dirty)" +CURRENT_BG='' +SEGMENT_SEPARATOR='⮀' +function segment_start() { + local bg=$1 + local fg=$2 + if [[ -n $CURRENT_BG && $bg != $CURRENT_BG ]]; then + echo -n " %{%K{$bg}%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR" + else + echo -n "%{%K{$bg}%}" + fi + [[ -n $fg ]] && fg="%F{$fg}" || fg="%f" + echo -n "%{$fg%} " + CURRENT_BG=$bg } -function _git_info() { - if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then - local BG_COLOR=green - if [[ -n $(parse_git_dirty) ]]; then - BG_COLOR=yellow - fi - echo "%{%K{$BG_COLOR}%}⮀%{%F{black}%} $(_git_prompt_info) %{%F{$BG_COLOR}%K{blue}%}⮀" +function segment_stop() { + if [[ -n $CURRENT_BG ]]; then + echo -n " %{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR" else - echo "%{%K{blue}%}⮀" + echo -n "%{%k%}" + fi + echo -n "%{%f%}" + CURRENT_BG='' +} + +### Prompt components +# Each component will draw itself, and hide itself if no information needs to be shown + +function prompt_context() { + local user=`whoami` + + if [[ ("$user" != "$DEFAULT_USER") || (-n "$SSH_CLIENT") ]]; then + segment_start black + #echo -n "%{%F{yellow}%}$user%{%F{gray}%}@%{%F{green}%}%m%{%f%}" + echo -n "%(!.%{%F{yellow}%}.)$user@%m" fi } -PROMPT_HOST='%{%b%F{gray}%K{black}%} %(?.%{%F{green}%}✔.%{%F{red}%}✘)%{%F{gray}%} %m %{%F{black}%}' -PROMPT_DIR='%{%F{white}%} %1~ ' -PROMPT_SU='%(!.%{%k%F{blue}%K{black}%}⮀%{%F{yellow}%} ⚡ %{%k%F{black}%}.%{%k%F{blue}%})⮀%{%f%k%b%}' +function prompt_git() { + if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then + ZSH_THEME_GIT_PROMPT_DIRTY='±' + local dirty=$(parse_git_dirty) + local ref + ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="➦ $(git show-ref --head -s --abbrev |head -n1 2> /dev/null)" + if [[ -n $dirty ]]; then + segment_start yellow black + else + segment_start green black + fi + echo -n "${ref/refs\/heads\//⭠ }$dirty" + fi +} + +function prompt_dir() { + segment_start blue white + echo -n '%~' +} + +function prompt_status() { + local symbols + symbols=() + [[ $RETVAL -ne 0 ]] && symbols+="%{%F{red}%}✘" + [[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡" + jobs=$(jobs -l | wc -l) + [[ $jobs -gt 0 ]] && symbols+="%{%F{cyan}%}⚙" + if [[ -n "$symbols" ]]; then + segment_start black white + echo -n "${symbols}" + fi +} + +## Main prompt +function build_prompt() { + RETVAL=$? + prompt_status + prompt_context + prompt_dir + prompt_git + segment_stop +} PROMPT='%{%f%b%k%} -$PROMPT_HOST$(_git_info)$PROMPT_DIR$PROMPT_SU ' +$(build_prompt) ' From 8510ac002f1dec92f6e9e62809f3dc5493d4b842 Mon Sep 17 00:00:00 2001 From: Trae Robrock Date: Mon, 17 Sep 2012 19:05:42 -0700 Subject: [PATCH 62/83] Bundle exec puma also http://puma.io --- 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 39b76ecdf..2305c4979 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 foreman guard middleman nanoc rackup rainbows rake rspec ruby shotgun spec spork thin thor unicorn unicorn_rails) +bundled_commands=(annotate cap capify cucumber foreman guard middleman nanoc rackup rainbows rake rspec ruby shotgun spec spork thin thor unicorn unicorn_rails puma) ## Functions From b609aa0e6c981f2039d777687cb01a84587f6edc Mon Sep 17 00:00:00 2001 From: Jim Hester Date: Thu, 20 Sep 2012 08:03:09 -0400 Subject: [PATCH 63/83] Fix to restore bindings after switching to vi-mode the vi-mode plugin destroys any bindings made before it is sourced due to the 'bindkey -v' call to switch to using vi-mode. This patch saves the bindings before invoking 'bindkey -v' then rebinds them afterwards, this fixes a number of outstanding issues due to people using vi-mode and having things in oh-my-zsh break due to the bindings being destroyed --- plugins/vi-mode/vi-mode.plugin.zsh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/vi-mode/vi-mode.plugin.zsh b/plugins/vi-mode/vi-mode.plugin.zsh index c47ab7211..d29eb1dda 100644 --- a/plugins/vi-mode/vi-mode.plugin.zsh +++ b/plugins/vi-mode/vi-mode.plugin.zsh @@ -5,7 +5,12 @@ function zle-line-init zle-keymap-select { zle -N zle-line-init zle -N zle-keymap-select +#changing mode clobbers the keybinds, so store the keybinds before and execute +#them after +binds=`bindkey -L` bindkey -v +for bind in ${(@f)binds}; do eval $bind; done +unset binds # if mode indicator wasn't setup by theme, define default if [[ "$MODE_INDICATOR" == "" ]]; then From baa187e4b903f39422a84b580e6e617ec3738e09 Mon Sep 17 00:00:00 2001 From: Jim Hester Date: Thu, 20 Sep 2012 08:23:58 -0400 Subject: [PATCH 64/83] Per directory history plugin This is a implementation of per directory history for zsh, some implementations of which exist in bash[1,2]. It also implements a per-directory-history-toggle-history function to change from using the directory history to using the global history. In both cases the history is always saved to both the global history and the directory history, so the toggle state will not effect the saved histories. Being able to switch between global and directory histories on the fly is a novel feature as far as I am aware. [1]: http://www.compbiome.com/2010/07/bash-per-directory-bash-history.html [2]: http://dieter.plaetinck.be/per_directory_bash --- .../per-directory-history.plugin.zsh | 149 ++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 plugins/per-directory-history/per-directory-history.plugin.zsh diff --git a/plugins/per-directory-history/per-directory-history.plugin.zsh b/plugins/per-directory-history/per-directory-history.plugin.zsh new file mode 100644 index 000000000..ce36db6af --- /dev/null +++ b/plugins/per-directory-history/per-directory-history.plugin.zsh @@ -0,0 +1,149 @@ +#!/usr/bin/env zsh +# +# This is a implementation of per directory history for zsh, some +# implementations of which exist in bash[1,2]. It also implements +# a per-directory-history-toggle-history function to change from using the +# directory history to using the global history. In both cases the history is +# always saved to both the global history and the directory history, so the +# toggle state will not effect the saved histories. Being able to switch +# between global and directory histories on the fly is a novel feature as far +# as I am aware. +# +#------------------------------------------------------------------------------- +# Configuration +#------------------------------------------------------------------------------- +# +# HISTORY_BASE a global variable that defines the base directory in which the +# directory histories are stored +# +#------------------------------------------------------------------------------- +# History +#------------------------------------------------------------------------------- +# +# The idea/inspiration for a per directory history is from Stewart MacArthur[1] +# and Dieter[2], the implementation idea is from Bart Schaefer on the the zsh +# mailing list[3]. The implementation is by Jim Hester in September 2012. +# +# [1]: http://www.compbiome.com/2010/07/bash-per-directory-bash-history.html +# [2]: http://dieter.plaetinck.be/per_directory_bash +# [3]: http://www.zsh.org/mla/users/1997/msg00226.html +# +################################################################################ +# +# Copyright (c) 2012 Jim Hester +# +# This software is provided 'as-is', without any express or implied warranty. +# In no event will the authors be held liable for any damages arising from the +# use of this software. +# +# Permission is granted to anyone to use this software for any purpose, +# including commercial applications, and to alter it and redistribute it +# freely, subject to the following restrictions: +# +# 1. The origin of this software must not be misrepresented; you must not claim +# that you wrote the original software. If you use this software in a product, +# an acknowledgment in the product documentation would be appreciated but is +# not required. +# +# 2. Altered source versions must be plainly marked as such, and must not be +# misrepresented as being the original software. +# +# 3. This notice may not be removed or altered from any source distribution.. +# +################################################################################ + +#------------------------------------------------------------------------------- +# configuration, the base under which the directory histories are stored +#------------------------------------------------------------------------------- + +[[ -z $HISTORY_BASE ]] && HISTORY_BASE="$HOME/.directory_history" + +#------------------------------------------------------------------------------- +# toggle global/directory history used for searching - ctrl-G by default +#------------------------------------------------------------------------------- + +function per-directory-history-toggle-history() { + if [[ $_per_directory_history_is_global == true ]]; then + _per-directory-history-set-directory-history + echo "using local history\n" + else + _per-directory-history-set-global-history + echo "using global history\n" + fi + zle reset-prompt +} + +autoload per-directory-history-toggle-history +zle -N per-directory-history-toggle-history +bindkey '^G' per-directory-history-toggle-history + +#------------------------------------------------------------------------------- +# implementation details +#------------------------------------------------------------------------------- + +_per_directory_history_global=$HISTFILE +_per_directory_history_directory="$HISTORY_BASE${PWD:A}/history" + +function _per-directory-history-change-directory() { + _per_directory_history_directory="$HISTORY_BASE${PWD:A}/history" + mkdir -p ${_per_directory_history_directory:h} + if [[ $_per_directory_history_is_global == false ]]; then + #save to the global history + fc -AI $_per_directory_history_global + #save history to previous file + local prev="$HISTORY_BASE${OLDPWD:A}/history" + mkdir -p ${prev:h} + fc -AI $prev + + #discard previous directory's history + local original_histsize=$HISTSIZE + HISTSIZE=0 + HISTSIZE=$original_histsize + + #read history in new file + if [[ -e $_per_directory_history_directory ]]; then + fc -R $_per_directory_history_directory + fi + fi +} + +function _per-directory-history-addhistory() { + print -sr -- ${1%%$'\n'} + fc -p $_per_directory_history_directory +} + + +function _per-directory-history-set-directory-history() { + if [[ $_per_directory_history_is_global == true ]]; then + fc -AI $_per_directory_history_global + local original_histsize=$HISTSIZE + HISTSIZE=0 + HISTSIZE=$original_histsize + if [[ -e "$_per_directory_history_directory" ]]; then + fc -R "$_per_directory_history_directory" + fi + fi + _per_directory_history_is_global=false +} +function _per-directory-history-set-global-history() { + if [[ $_per_directory_history_is_global == false ]]; then + fc -AI $_per_directory_history_directory + local original_histsize=$HISTSIZE + HISTSIZE=0 + HISTSIZE=$original_histsize + if [[ -e "$_per_directory_history_global" ]]; then + fc -R "$_per_directory_history_global" + fi + fi + _per_directory_history_is_global=true +} + + +#add functions to the exec list for chpwd and zshaddhistory +chpwd_functions=(${chpwd_functions[@]} "_per-directory-history-change-directory") +zshaddhistory_functions=(${zshaddhistory_functions[@]} "_per-directory-history-addhistory") + +#start in directory mode +mkdir -p ${_per_directory_history_directory:h} +_per_directory_history_is_global=true +_per-directory-history-set-directory-history From aeadd7371b244468aadf81a48e6009a4aa612f23 Mon Sep 17 00:00:00 2001 From: Jim Hester Date: Thu, 20 Sep 2012 08:29:05 -0400 Subject: [PATCH 65/83] Colemak plugin a plugin for useing the colemak[1] keyboard layout and vi-mode in zsh, rotates some keys around in vi command mode so that the physical hjkl keys are still used for movement, all the rotated keys are either in colemak's location or qwerty's location, so it is easy to pick up [1] www.colemak.com --- plugins/colemak/colemak-less | 6 ++++++ plugins/colemak/colemak.plugin.zsh | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 plugins/colemak/colemak-less create mode 100644 plugins/colemak/colemak.plugin.zsh diff --git a/plugins/colemak/colemak-less b/plugins/colemak/colemak-less new file mode 100644 index 000000000..e4ca4facd --- /dev/null +++ b/plugins/colemak/colemak-less @@ -0,0 +1,6 @@ +n forw-line +e back-line +k repeat-search +\ek repeat-search-all +K reverse-search +\eK reverse-search-all diff --git a/plugins/colemak/colemak.plugin.zsh b/plugins/colemak/colemak.plugin.zsh new file mode 100644 index 000000000..34d42c280 --- /dev/null +++ b/plugins/colemak/colemak.plugin.zsh @@ -0,0 +1,22 @@ +# ctrl-j newline +bindkey '^n' accept-line +bindkey -a '^n' accept-line + +# another rotation to match qwerty +bindkey -a 'n' down-line-or-history +bindkey -a 'e' up-line-or-history +bindkey -a 'i' vi-forward-char + +# make qwerty +bindkey -a 'k' vi-repeat-search +bindkey -a 'K' vi-rev-repeat-search +bindkey -a 'u' vi-insert +bindkey -a 'U' vi-insert-bol +bindkey -a 'l' vi-undo-change +bindkey -a 'N' vi-join + +# spare +bindkey -a 'j' vi-forward-word-end +bindkey -a 'J' vi-forward-blank-word-end + +lesskey $ZSH_CUSTOM/plugins/colemak/colemak-less From 7284e6b397712dfff16a740ea12d1015b26f203d Mon Sep 17 00:00:00 2001 From: Aviad Reich Date: Fri, 21 Sep 2012 08:08:53 +0300 Subject: [PATCH 66/83] added autojump plugin support for mac os x + port --- plugins/autojump/autojump.plugin.zsh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/autojump/autojump.plugin.zsh b/plugins/autojump/autojump.plugin.zsh index 6f0edb062..d367863b8 100644 --- a/plugins/autojump/autojump.plugin.zsh +++ b/plugins/autojump/autojump.plugin.zsh @@ -3,6 +3,8 @@ if [ $commands[autojump] ]; then # check if autojump is installed . /usr/share/autojump/autojump.zsh elif [ -f /etc/profile.d/autojump.zsh ]; then # manual installation . /etc/profile.d/autojump.zsh + elif [ -f /opt/local/etc/profile.d/autojump.zsh ]; then # mac os x with ports + . /opt/local/etc/profile.d/autojump.zsh elif [ $commands[brew] -a -f `brew --prefix`/etc/autojump ]; then # mac os x with brew . `brew --prefix`/etc/autojump fi From cc831508d7c2e839e1c4effe31ac2d92f2741f94 Mon Sep 17 00:00:00 2001 From: Jim Hester Date: Fri, 21 Sep 2012 10:19:39 -0400 Subject: [PATCH 67/83] Use HISTFILE evironment variable directly rather than copying it Use the HISTFILE environment variable in place of copying it to _per_directory_history_global so that users can change the environment variable after sourcing per-directory-history and have the global variable set correctly --- .../per-directory-history.plugin.zsh | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/plugins/per-directory-history/per-directory-history.plugin.zsh b/plugins/per-directory-history/per-directory-history.plugin.zsh index ce36db6af..22383b8b9 100644 --- a/plugins/per-directory-history/per-directory-history.plugin.zsh +++ b/plugins/per-directory-history/per-directory-history.plugin.zsh @@ -81,7 +81,6 @@ bindkey '^G' per-directory-history-toggle-history # implementation details #------------------------------------------------------------------------------- -_per_directory_history_global=$HISTFILE _per_directory_history_directory="$HISTORY_BASE${PWD:A}/history" function _per-directory-history-change-directory() { @@ -89,7 +88,7 @@ function _per-directory-history-change-directory() { mkdir -p ${_per_directory_history_directory:h} if [[ $_per_directory_history_is_global == false ]]; then #save to the global history - fc -AI $_per_directory_history_global + fc -AI $HISTFILE #save history to previous file local prev="$HISTORY_BASE${OLDPWD:A}/history" mkdir -p ${prev:h} @@ -115,7 +114,7 @@ function _per-directory-history-addhistory() { function _per-directory-history-set-directory-history() { if [[ $_per_directory_history_is_global == true ]]; then - fc -AI $_per_directory_history_global + fc -AI $HISTFILE local original_histsize=$HISTSIZE HISTSIZE=0 HISTSIZE=$original_histsize @@ -131,8 +130,8 @@ function _per-directory-history-set-global-history() { local original_histsize=$HISTSIZE HISTSIZE=0 HISTSIZE=$original_histsize - if [[ -e "$_per_directory_history_global" ]]; then - fc -R "$_per_directory_history_global" + if [[ -e "$HISTFILE" ]]; then + fc -R "$HISTFILE" fi fi _per_directory_history_is_global=true From 6e85ff5b44e81f5b9d743b6ba1df7ed7b62dc2df Mon Sep 17 00:00:00 2001 From: Isaac Wolkerstorfer Date: Tue, 25 Sep 2012 18:35:08 -0500 Subject: [PATCH 68/83] Updated documentation for agnoster theme --- themes/agnoster.zsh-theme | 99 +++++++++++++++++++++++++-------------- 1 file changed, 64 insertions(+), 35 deletions(-) diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme index 9cfcff3d0..71bc25fc2 100644 --- a/themes/agnoster.zsh-theme +++ b/themes/agnoster.zsh-theme @@ -1,22 +1,51 @@ +# vim:ft=zsh ts=2 sw=2 sts=2 +# +# agnoster's Theme +# A Powerline-inspired theme for ZSH +# +# # README +# +# In order for this theme to render correctly, you will need a +# [Powerline-patched font](https://gist.github.com/1595572). +# +# In addition, I recommend the +# [Solarized theme](https://github.com/altercation/solarized/) and, if you're +# using it on Mac OS X, [iTerm 2](http://www.iterm2.com/) over Terminal.app - +# it has significantly better color fidelity. +# +# # Goals +# +# The aim of this theme is to only show you *relevant* information. Like most +# prompts, it will only show git information when in a git working directory. +# However, it goes a step further: everything from the current user and +# hostname to whether the last call exited with an error to whether background +# jobs are running in this shell will all be displayed automatically when +# appropriate. + ### Segment drawing # A few utility functions to make it easy and re-usable to draw segmented prompts -CURRENT_BG='' +CURRENT_BG='NONE' SEGMENT_SEPARATOR='⮀' -function segment_start() { - local bg=$1 - local fg=$2 - if [[ -n $CURRENT_BG && $bg != $CURRENT_BG ]]; then - echo -n " %{%K{$bg}%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR" + +# Begin a segment +# Takes two arguments, background and foreground. Both can be omitted, +# rendering default background/foreground. +prompt_segment() { + local bg fg + [[ -n $1 ]] && bg="%K{$1}" || bg="%k" + [[ -n $2 ]] && fg="%F{$2}" || fg="%f" + if [[ $CURRENT_BG != 'NONE' && $1 != $CURRENT_BG ]]; then + echo -n " %{$bg%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR%{$fg%} " else - echo -n "%{%K{$bg}%}" + echo -n "%{$bg%}%{$fg%} " fi - [[ -n $fg ]] && fg="%F{$fg}" || fg="%f" - echo -n "%{$fg%} " - CURRENT_BG=$bg + CURRENT_BG=$1 + [[ -n $3 ]] && echo -n $3 } -function segment_stop() { +# End the prompt, closing any open segments +prompt_end() { if [[ -n $CURRENT_BG ]]; then echo -n " %{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR" else @@ -29,58 +58,58 @@ function segment_stop() { ### Prompt components # Each component will draw itself, and hide itself if no information needs to be shown -function prompt_context() { +# Context: user@hostname (who am I and where am I) +prompt_context() { local user=`whoami` - if [[ ("$user" != "$DEFAULT_USER") || (-n "$SSH_CLIENT") ]]; then - segment_start black - #echo -n "%{%F{yellow}%}$user%{%F{gray}%}@%{%F{green}%}%m%{%f%}" - echo -n "%(!.%{%F{yellow}%}.)$user@%m" + if [[ "$user" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then + prompt_segment black default "%(!.%{%F{yellow}%}.)$user@%m" fi } -function prompt_git() { +# Git: branch/detached head, dirty status +prompt_git() { + local ref dirty if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then ZSH_THEME_GIT_PROMPT_DIRTY='±' - local dirty=$(parse_git_dirty) - local ref + dirty=$(parse_git_dirty) ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="➦ $(git show-ref --head -s --abbrev |head -n1 2> /dev/null)" if [[ -n $dirty ]]; then - segment_start yellow black + prompt_segment yellow black else - segment_start green black + prompt_segment green black fi echo -n "${ref/refs\/heads\//⭠ }$dirty" fi } -function prompt_dir() { - segment_start blue white - echo -n '%~' +# Dir: current working directory +prompt_dir() { + prompt_segment blue black '%~' } -function prompt_status() { +# Status: +# - was there an error +# - am I root +# - are there background jobs? +prompt_status() { local symbols symbols=() [[ $RETVAL -ne 0 ]] && symbols+="%{%F{red}%}✘" [[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡" - jobs=$(jobs -l | wc -l) - [[ $jobs -gt 0 ]] && symbols+="%{%F{cyan}%}⚙" - if [[ -n "$symbols" ]]; then - segment_start black white - echo -n "${symbols}" - fi + [[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙" + + [[ -n "$symbols" ]] && prompt_segment black default "$symbols" } ## Main prompt -function build_prompt() { +build_prompt() { RETVAL=$? prompt_status prompt_context prompt_dir prompt_git - segment_stop + prompt_end } -PROMPT='%{%f%b%k%} -$(build_prompt) ' +PROMPT='%{%f%b%k%}$(build_prompt) ' From b207792f30f523e2fc82a70e75893bf1124bf7a8 Mon Sep 17 00:00:00 2001 From: Isaac Wolkerstorfer Date: Tue, 25 Sep 2012 19:06:13 -0500 Subject: [PATCH 69/83] Add link to gist --- themes/agnoster.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme index 71bc25fc2..c3107c06c 100644 --- a/themes/agnoster.zsh-theme +++ b/themes/agnoster.zsh-theme @@ -1,6 +1,6 @@ # vim:ft=zsh ts=2 sw=2 sts=2 # -# agnoster's Theme +# agnoster's Theme - https://gist.github.com/3712874 # A Powerline-inspired theme for ZSH # # # README From 3d1b788d8ad3b4c407d3c752de15318cf57cf03e Mon Sep 17 00:00:00 2001 From: Trae Robrock Date: Tue, 8 Nov 2011 12:24:14 -0800 Subject: [PATCH 70/83] Fixing the rvm_prompt_info command, now it will not show empty parens if no rvm is currently being used --- lib/rvm.zsh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/rvm.zsh b/lib/rvm.zsh index 597be1b33..dbfaf8796 100644 --- a/lib/rvm.zsh +++ b/lib/rvm.zsh @@ -1,6 +1,10 @@ # get the name of the branch we are on function rvm_prompt_info() { ruby_version=$(~/.rvm/bin/rvm-prompt 2> /dev/null) || return + if [ -z $ruby_version ] + then + return + fi echo "($ruby_version)" } From a7fb6680789c0a45c23539f9cce623a920ae143e Mon Sep 17 00:00:00 2001 From: Trae Robrock Date: Wed, 26 Sep 2012 13:57:38 -0700 Subject: [PATCH 71/83] Make rvm prompt function a bit cleaner --- lib/rvm.zsh | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/lib/rvm.zsh b/lib/rvm.zsh index dbfaf8796..cb870a9bb 100644 --- a/lib/rvm.zsh +++ b/lib/rvm.zsh @@ -1,11 +1,5 @@ # get the name of the branch we are on function rvm_prompt_info() { ruby_version=$(~/.rvm/bin/rvm-prompt 2> /dev/null) || return - if [ -z $ruby_version ] - then - return - fi - echo "($ruby_version)" + [[ ! -z $ruby_version ]] && echo "($ruby_version)" } - - From c7c647d8039987b802509519ffa631818cd1d194 Mon Sep 17 00:00:00 2001 From: Dominik Bamberger Date: Thu, 27 Sep 2012 11:51:16 +0200 Subject: [PATCH 72/83] Add zeus plugin Includes aliases for zeus (https://github.com/burke/zeus) Also there is a README.md that list all aliases, ready to copy into the wiki. --- plugins/zeus/README.md | 41 +++++++++++++++++++++++++ plugins/zeus/zeus.plugin.zsh | 58 ++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 plugins/zeus/README.md create mode 100644 plugins/zeus/zeus.plugin.zsh diff --git a/plugins/zeus/README.md b/plugins/zeus/README.md new file mode 100644 index 000000000..2cb85cec8 --- /dev/null +++ b/plugins/zeus/README.md @@ -0,0 +1,41 @@ +## zeus +**Maintainer:** [b4mboo](https://github.com/b4mboo) + +* `zi` aliases `zeus init` +* `zinit` aliases `zeus init` + +* `zs` aliases `zeus start` +* `ztart` aliases `zeus start` + +* `zc` aliases `zeus console` +* `zonsole` aliases `zeus console` + +* `zsr` aliases `zeus server` +* `zerver` aliases `zeus server` + +* `zr` aliases `zeus rake` +* `zake` aliases `zeus rake` + +* `zg` aliases `zeus generate` +* `zenerate` aliases `zeus generate` + +* `zrn` aliases `zeus runner` +* `zunner` aliases `zeus runner` + +* `zcu` aliases `zeus cucumber` +* `zucumber` aliases `zeus cucumber` + +* `zt` aliases `zeus test` +* `zest` aliases `zeus test` + +* `zu` aliases `zeus test/units/*` +* `zunits` aliases `zeus test/units/*` + +* `zf` aliases `zeus test/functional/*` +* `zunctional` aliases `zeus test/functional/*` + +* `za` aliases `zeus test test/units/*; zeus test test/functional/; zeus cucumber` +* `zall` aliases `zeus test test/units/*; zeus test test/functional/; zeus cucumber` + +* `zsw` aliases `rm .zeus.sock` +* `zweep` aliases `rm .zeus.sock` diff --git a/plugins/zeus/zeus.plugin.zsh b/plugins/zeus/zeus.plugin.zsh new file mode 100644 index 000000000..48392f541 --- /dev/null +++ b/plugins/zeus/zeus.plugin.zsh @@ -0,0 +1,58 @@ +# Some aliases for zeus. (See: https://github.com/burke/zeus) +# Zeus preloads your Rails environment and forks that process whenever +# needed. This effectively speeds up Rails' boot process to under 1 sec. + +# Always use bundler. +# Rails depends on bundler, so we can be pretty sure, that there are no +# problems with this command. For all the other aliases I provided an +# alternative, in case people have conflicts with other plugins (e.g. suse). +alias zeus='bundle exec zeus' + +# Init +alias zi='zeus init' +alias zinit='zeus init' + +# Start +alias zs='zeus start' +alias ztart='zeus start' + +# Console +alias zc='zeus console' +alias zonsole='zeus console' + +# Server +alias zsr='zeus server' +alias zerver='zeus server' + +# Rake +alias zr='zeus rake' +alias zake='zeus rake' + +# Generate +alias zg='zeus generate' +alias zenerate='zeus generate' + +# Runner +alias zrn='zeus runner' +alias zunner='zeus runner' + +# Cucumber +alias zcu='zeus cucumber' +alias zucumber='zeus cucumber' + +# Test +alias zt='zeus test' +alias zest='zeus test' + +alias zu='zeus test/units/*' +alias zunits='zeus test/units/*' + +alias zf='zeus test/functional/*' +alias zunctional='zeus test/functional/*' + +alias za='zeus test test/units/*; zeus test test/functional/; zeus cucumber' +alias zall='zeus test test/units/*; zeus test test/functional/; zeus cucumber' + +# Clean up crashed zeus instances. +alias zsw='rm .zeus.sock' +alias zweep='rm .zeus.sock' From 2bbe6aba8f90dabdb3f7e2caaf12b6a3ecaf5f1f Mon Sep 17 00:00:00 2001 From: Paul Redmond Date: Fri, 28 Sep 2012 22:41:30 -0700 Subject: [PATCH 73/83] Jira ticket shortcut to browse existing issues or create a new issue. --- plugins/jira/jira.plugin.zsh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 plugins/jira/jira.plugin.zsh diff --git a/plugins/jira/jira.plugin.zsh b/plugins/jira/jira.plugin.zsh new file mode 100644 index 000000000..c8b17d71f --- /dev/null +++ b/plugins/jira/jira.plugin.zsh @@ -0,0 +1,22 @@ +# To use: add a .jira-url file containing your +# Jira project's base url in the root of your project. +# Example: https://name.jira.com +# Usage: jira # opens a new issue +# jira ABC-123 # Opens an existing issue +open_jira_issue () { + if [ ! -f .jira-url ]; then + echo "There is no .jira-url file in the current directory or your home folder..." + return 0; + else + jira_url=$(cat .jira-url); + if [ -z "$1" ]; then + echo "Opening new issue"; + `open $jira_url/secure/CreateIssue!default.jspa`; + else + echo "Opening issue #$1"; + `open $jira_url/issues/$1`; + fi + fi +} + +alias jira='open_jira_issue' From 2d660161027a5c6a6876520dd264df7fdab7c044 Mon Sep 17 00:00:00 2001 From: Paul Redmond Date: Fri, 28 Sep 2012 22:48:18 -0700 Subject: [PATCH 74/83] Clean up doc --- plugins/jira/jira.plugin.zsh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/jira/jira.plugin.zsh b/plugins/jira/jira.plugin.zsh index c8b17d71f..d19296cb6 100644 --- a/plugins/jira/jira.plugin.zsh +++ b/plugins/jira/jira.plugin.zsh @@ -1,6 +1,6 @@ -# To use: add a .jira-url file containing your -# Jira project's base url in the root of your project. -# Example: https://name.jira.com +# To use: add a .jira-url file in the base of your project +# Setup: cd to/my/project + echo "https://name.jira.com" >> .jira-url # Usage: jira # opens a new issue # jira ABC-123 # Opens an existing issue open_jira_issue () { From b559f2f22127b3bf7f30dd5221fd8cb5ff3808fc Mon Sep 17 00:00:00 2001 From: Paul Redmond Date: Fri, 28 Sep 2012 23:00:15 -0700 Subject: [PATCH 75/83] Correct error message. --- plugins/jira/jira.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/jira/jira.plugin.zsh b/plugins/jira/jira.plugin.zsh index d19296cb6..f63743c9c 100644 --- a/plugins/jira/jira.plugin.zsh +++ b/plugins/jira/jira.plugin.zsh @@ -5,7 +5,7 @@ # jira ABC-123 # Opens an existing issue open_jira_issue () { if [ ! -f .jira-url ]; then - echo "There is no .jira-url file in the current directory or your home folder..." + echo "There is no .jira-url file in the current directory..." return 0; else jira_url=$(cat .jira-url); From b7383b097e2b1dc6aaec2c906e7d2031f9446fba Mon Sep 17 00:00:00 2001 From: Dominik Bamberger Date: Mon, 1 Oct 2012 16:24:50 +0200 Subject: [PATCH 76/83] look for test/unit instead of test/units. #typo --- plugins/zeus/zeus.plugin.zsh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/zeus/zeus.plugin.zsh b/plugins/zeus/zeus.plugin.zsh index 48392f541..65fd88d9f 100644 --- a/plugins/zeus/zeus.plugin.zsh +++ b/plugins/zeus/zeus.plugin.zsh @@ -44,14 +44,14 @@ alias zucumber='zeus cucumber' alias zt='zeus test' alias zest='zeus test' -alias zu='zeus test/units/*' -alias zunits='zeus test/units/*' +alias zu='zeus test/unit/*' +alias zunits='zeus test/unit/*' alias zf='zeus test/functional/*' alias zunctional='zeus test/functional/*' -alias za='zeus test test/units/*; zeus test test/functional/; zeus cucumber' -alias zall='zeus test test/units/*; zeus test test/functional/; zeus cucumber' +alias za='zeus test test/unit/*; zeus test test/functional/; zeus cucumber' +alias zall='zeus test test/unit/*; zeus test test/functional/; zeus cucumber' # Clean up crashed zeus instances. alias zsw='rm .zeus.sock' From 9acfaee2567bcbe8dcd3dc73a8d40c0983766fb6 Mon Sep 17 00:00:00 2001 From: Paul Redmond Date: Mon, 1 Oct 2012 09:27:52 -0700 Subject: [PATCH 77/83] Missing comment line --- plugins/jira/jira.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/jira/jira.plugin.zsh b/plugins/jira/jira.plugin.zsh index f63743c9c..636e4619e 100644 --- a/plugins/jira/jira.plugin.zsh +++ b/plugins/jira/jira.plugin.zsh @@ -1,6 +1,6 @@ # To use: add a .jira-url file in the base of your project # Setup: cd to/my/project - echo "https://name.jira.com" >> .jira-url +# echo "https://name.jira.com" >> .jira-url # Usage: jira # opens a new issue # jira ABC-123 # Opens an existing issue open_jira_issue () { From b932312ab78b7f422f501d03aaa577440bcd3a0c Mon Sep 17 00:00:00 2001 From: Dominik Bamberger Date: Tue, 2 Oct 2012 18:10:40 +0200 Subject: [PATCH 78/83] fix test aliases --- plugins/zeus/zeus.plugin.zsh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/zeus/zeus.plugin.zsh b/plugins/zeus/zeus.plugin.zsh index 65fd88d9f..2fc7e1ebf 100644 --- a/plugins/zeus/zeus.plugin.zsh +++ b/plugins/zeus/zeus.plugin.zsh @@ -44,11 +44,11 @@ alias zucumber='zeus cucumber' alias zt='zeus test' alias zest='zeus test' -alias zu='zeus test/unit/*' -alias zunits='zeus test/unit/*' +alias zu='zeus test test/unit/*' +alias zunits='zeus test test/unit/*' -alias zf='zeus test/functional/*' -alias zunctional='zeus test/functional/*' +alias zf='zeus test test/functional/*' +alias zunctional='zeus test test/functional/*' alias za='zeus test test/unit/*; zeus test test/functional/; zeus cucumber' alias zall='zeus test test/unit/*; zeus test test/functional/; zeus cucumber' From e3de97ca89368bb433034431778a29f7f09db6c2 Mon Sep 17 00:00:00 2001 From: Daniel Gomes Date: Fri, 5 Oct 2012 21:12:40 +0100 Subject: [PATCH 79/83] added two aliases to Symfony2 Plugin --- plugins/symfony2/symfony2.plugin.zsh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/symfony2/symfony2.plugin.zsh b/plugins/symfony2/symfony2.plugin.zsh index 644266841..223401298 100644 --- a/plugins/symfony2/symfony2.plugin.zsh +++ b/plugins/symfony2/symfony2.plugin.zsh @@ -10,4 +10,8 @@ _symfony2 () { fi } -compdef _symfony2 app/console \ No newline at end of file +compdef _symfony2 app/console + +#Alias +alias sf2='php app/console' +alias sf2clear='php app/console cache:clear' \ No newline at end of file From 6630919bce0ec9eb5ad33c26a32cd5f06529d570 Mon Sep 17 00:00:00 2001 From: Daniel Gomes Date: Fri, 5 Oct 2012 21:13:10 +0100 Subject: [PATCH 80/83] added Composer completition and aliases --- plugins/composer/composer.plugin.zsh | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 plugins/composer/composer.plugin.zsh diff --git a/plugins/composer/composer.plugin.zsh b/plugins/composer/composer.plugin.zsh new file mode 100644 index 000000000..a054ae2c5 --- /dev/null +++ b/plugins/composer/composer.plugin.zsh @@ -0,0 +1,28 @@ +# ------------------------------------------------------------------------------ +# FILE: composer.plugin.zsh +# DESCRIPTION: oh-my-zsh composer plugin file. +# AUTHOR: Daniel Gomes (me@danielcsgomes.com) +# VERSION: 1.0.0 +# ------------------------------------------------------------------------------ + +# Composer basic command completion +_composer_get_command_list () { + composer --no-ansi | sed "1,/Available commands/d" | awk '/^ [a-z]+/ { print $1 }' +} + +_composer () { + if [ -f composer.json ]; then + compadd `_composer_get_command_list` + fi +} + +compdef _composer composer + +# Aliases +alias c='composer' +alias csu='composer self-update' +alias cu='composer update' +alias ci='composer install' +alias ccp='composer create-project' + +alias cget='curl -s https://getcomposer.org/installer | php' \ No newline at end of file From 9365fd03f62854c48bc06388542ba4933eb067db Mon Sep 17 00:00:00 2001 From: Daniel Gomes Date: Fri, 5 Oct 2012 21:14:44 +0100 Subject: [PATCH 81/83] added a comment to the composer installation alias --- plugins/composer/composer.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/composer/composer.plugin.zsh b/plugins/composer/composer.plugin.zsh index a054ae2c5..c9b762d07 100644 --- a/plugins/composer/composer.plugin.zsh +++ b/plugins/composer/composer.plugin.zsh @@ -25,4 +25,5 @@ alias cu='composer update' alias ci='composer install' alias ccp='composer create-project' +# install composer in the current directory alias cget='curl -s https://getcomposer.org/installer | php' \ No newline at end of file From a97e117281fa495bf13b7aa4179647cb9c7f5c01 Mon Sep 17 00:00:00 2001 From: Ian Chesal Date: Mon, 8 Oct 2012 15:42:27 -0400 Subject: [PATCH 82/83] URL Tools Plugin * Added urlencode -- alias to encode URLs from the command line using Python * Added urldecode -- alias to decode URLs from the command line using Python --- plugins/urltools/urltools.plugin.zsh | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 plugins/urltools/urltools.plugin.zsh diff --git a/plugins/urltools/urltools.plugin.zsh b/plugins/urltools/urltools.plugin.zsh new file mode 100644 index 000000000..0d29314d6 --- /dev/null +++ b/plugins/urltools/urltools.plugin.zsh @@ -0,0 +1,9 @@ +# URL Tools +# Adds handy command line aliases useful for dealing with URLs +# +# Taken from: +# http://ruslanspivak.com/2010/06/02/urlencode-and-urldecode-from-a-command-line/ + +alias urlencode='python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1])"' + +alias urldecode='python -c "import sys, urllib as ul; print ul.unquote_plus(sys.argv[1])"' \ No newline at end of file From a0bcbfb111cc28c7e3e8320f001d28297614698e Mon Sep 17 00:00:00 2001 From: Dominik Bamberger Date: Tue, 9 Oct 2012 08:47:18 +0200 Subject: [PATCH 83/83] make README reflect latest changes --- plugins/zeus/README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/zeus/README.md b/plugins/zeus/README.md index 2cb85cec8..4409943fe 100644 --- a/plugins/zeus/README.md +++ b/plugins/zeus/README.md @@ -28,14 +28,14 @@ * `zt` aliases `zeus test` * `zest` aliases `zeus test` -* `zu` aliases `zeus test/units/*` -* `zunits` aliases `zeus test/units/*` +* `zu` aliases `zeus test test/unit/*` +* `zunits` aliases `zeus test test/unit/*` -* `zf` aliases `zeus test/functional/*` -* `zunctional` aliases `zeus test/functional/*` +* `zf` aliases `zeus test test/functional/*` +* `zunctional` aliases `zeus test test/functional/*` -* `za` aliases `zeus test test/units/*; zeus test test/functional/; zeus cucumber` -* `zall` aliases `zeus test test/units/*; zeus test test/functional/; zeus cucumber` +* `za` aliases `zeus test test/unit/*; zeus test test/functional/; zeus cucumber` +* `zall` aliases `zeus test test/unit/*; zeus test test/functional/; zeus cucumber` * `zsw` aliases `rm .zeus.sock` * `zweep` aliases `rm .zeus.sock`