From e20401e04e057a39c228dbb99dda68ec7fa4235a Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Fri, 28 Aug 2009 11:14:03 -0700 Subject: [PATCH 001/518] Adding initial gitignore file --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..56d0a21 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +log/.zsh_history + +projects.zsh From 5da20b9dddb1f7a9110675ded5df59c4c3ed1b83 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Fri, 28 Aug 2009 11:14:17 -0700 Subject: [PATCH 002/518] Importing initial files after reorganizing stuff. --- README.textile | 8 ++++++++ aliases.zsh | 44 ++++++++++++++++++++++++++++++++++++++++++++ colors.zsh | 4 ++++ completion.zsh | 27 +++++++++++++++++++++++++++ functions.zsh | 26 ++++++++++++++++++++++++++ git.zsh | 19 +++++++++++++++++++ grep.zsh | 6 ++++++ history.zsh | 15 +++++++++++++++ projects.zsh-example | 5 +++++ prompt.zsh | 29 +++++++++++++++++++++++++++++ rake_completion.zsh | 42 ++++++++++++++++++++++++++++++++++++++++++ zshrc | 34 ++++++++++++++++++++++++++++++++++ 12 files changed, 259 insertions(+) create mode 100644 README.textile create mode 100644 aliases.zsh create mode 100644 colors.zsh create mode 100644 completion.zsh create mode 100644 functions.zsh create mode 100644 git.zsh create mode 100644 grep.zsh create mode 100644 history.zsh create mode 100644 projects.zsh-example create mode 100644 prompt.zsh create mode 100644 rake_completion.zsh create mode 100644 zshrc diff --git a/README.textile b/README.textile new file mode 100644 index 0000000..740070d --- /dev/null +++ b/README.textile @@ -0,0 +1,8 @@ +h2. Setup + +# Clone the repository to ~/zsh +# Symlink the zsh config with: @ln -s ~/zsh/zshrc .zshrc@ +# Reload zsh (open a new terminal) + + + diff --git a/aliases.zsh b/aliases.zsh new file mode 100644 index 0000000..2319823 --- /dev/null +++ b/aliases.zsh @@ -0,0 +1,44 @@ +alias c='cd' +alias pu='pushd' +alias po='popd' +alias sc='ruby script/console' +alias ss='ruby script/server' + +alias mr='mate CHANGELOG app config db lib public script spec test' +alias .='pwd' +alias ...='cd ../..' +alias ....='cd ../../..' +alias .....='cd ../../../..' +alias ......='cd ../../../../..' +alias .......='cd ../../../../../..' + +alias _='sudo' +alias ss='setsid' + +alias g='grep -in' + +alias s='svn' +alias e='mate' + +alias history='fc -l 1' + +# Git aliases + +alias utb='tar jxvf' +alias utz='tar zxvf' + +alias ls='ls -GF' +alias ll='ls -al' + +alias sgem='sudo gem' + +alias rfind='find . -name *.rb | xargs grep -n' + +alias xenon='ssh rrussell@xenon.planetargon.com' + +alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' + +bindkey '\ew' kill-region + +bindkey -s '\el' "ls\n" +bindkey -s '\e.' "..\n" \ No newline at end of file diff --git a/colors.zsh b/colors.zsh new file mode 100644 index 0000000..b2b08f9 --- /dev/null +++ b/colors.zsh @@ -0,0 +1,4 @@ +autoload colors; colors; + +unset LSCOLORS +export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=46;34:cd=43;34:su=41;30:sg=46;30:tw=42;30:ow=43;30' diff --git a/completion.zsh b/completion.zsh new file mode 100644 index 0000000..e0edc76 --- /dev/null +++ b/completion.zsh @@ -0,0 +1,27 @@ +setopt noautomenu +setopt COMPLETE_IN_WORD +setopt ALWAYS_TO_END + +unsetopt flowcontrol + +WORDCHARS='' + +autoload -U compinit +compinit + +zmodload -i zsh/complist + +zstyle ':completion:*' list-colors '' +zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts ) + +unsetopt MENU_COMPLETE +setopt AUTO_MENU + +bindkey -M menuselect '^o' accept-and-infer-next-history + +zstyle ':completion:*:*:*:*:*' menu yes select +# zstyle ':completion:*:*:*:*:processes' force-list always + +zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01' +zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w" +zstyle ':completion:*:*:(ssh|scp):*:*' hosts `sed 's/^\([^ ,]*\).*$/\1/' ~/.ssh/known_hosts` diff --git a/functions.zsh b/functions.zsh new file mode 100644 index 0000000..5c349e8 --- /dev/null +++ b/functions.zsh @@ -0,0 +1,26 @@ +function title { + if [[ $TERM == "screen" ]]; then + # Use these two for GNU Screen: + print -nR $'\033k'$1$'\033'\\\ + + print -nR $'\033]0;'$2$'\a' + elif [[ $TERM == "xterm" || $TERM == "rxvt" ]]; then + # Use this one instead for XTerms: + print -nR $'\033]0;'$*$'\a' + fi +} + +function precmd { + title zsh "$PWD" +} + +function preexec { + emulate -L zsh + local -a cmd; cmd=(${(z)1}) + title $cmd[1]:t "$cmd[2,-1]" +} + + +function remote_console() { + /usr/bin/env ssh $1 "( cd $2 && ruby script/console production )" +} \ No newline at end of file diff --git a/git.zsh b/git.zsh new file mode 100644 index 0000000..9440963 --- /dev/null +++ b/git.zsh @@ -0,0 +1,19 @@ +# get the name of the branch we are on +function git_prompt_info() { + ref=$(git symbolic-ref HEAD 2> /dev/null) || return + branch=${ref#refs/heads/} + + if [[ -d .git ]]; then + CURRENT_BRANCH="%{$fg[red]%}git:(%{$fg[green]${branch}%{$fg[red])" + else + CURRENT_BRANCH='' + fi + + + #echo "%{$fg[red]%}git:(%{$fg[green]$CURRENT_BRANCH%{$fg[red])" + echo $CURRENT_BRANCH +} + +parse_git_dirty () { + [[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "%{$fg[white] ♻ " +} diff --git a/grep.zsh b/grep.zsh new file mode 100644 index 0000000..93c4270 --- /dev/null +++ b/grep.zsh @@ -0,0 +1,6 @@ +# +# Color grep results +# Examples: http://rubyurl.com/ZXv +# +export GREP_OPTIONS='--color=auto' +export GREP_COLOR='1;32' \ No newline at end of file diff --git a/history.zsh b/history.zsh new file mode 100644 index 0000000..a093aa2 --- /dev/null +++ b/history.zsh @@ -0,0 +1,15 @@ +# History stuff. +setopt HIST_VERIFY +setopt INC_APPEND_HISTORY +setopt SHARE_HISTORY +setopt EXTENDED_HISTORY +setopt HIST_IGNORE_DUPS + +## Command history configuration +# +HISTFILE=$ZSH/log/.zsh_history +HISTSIZE=2500 +SAVEHIST=2500 +setopt hist_ignore_dups # ignore duplication command history list +setopt share_history # share command history data + diff --git a/projects.zsh-example b/projects.zsh-example new file mode 100644 index 0000000..28ffcae --- /dev/null +++ b/projects.zsh-example @@ -0,0 +1,5 @@ +# Add yourself some shortcuts to projects you often work on +# Example: +# +# brainstormr=/Users/robbyrussell/Projects/development/planetargon/brainstormr +# \ No newline at end of file diff --git a/prompt.zsh b/prompt.zsh new file mode 100644 index 0000000..a36e97f --- /dev/null +++ b/prompt.zsh @@ -0,0 +1,29 @@ +bindkey -e + +# Directory stuff. +setopt AUTO_NAME_DIRS + +# Speed stuff. + +#setopt NO_BEEP +setopt AUTO_CD +setopt MULTIOS +setopt CDABLEVARS + +bindkey -e + +if [[ x$WINDOW != x ]] +then + SCREEN_NO="%B$WINDOW%b " +else + SCREEN_NO="" +fi + +PS1="%n@%m:%~%# " + +# Setup the prompt with pretty colors +setopt prompt_subst + +export LSCOLORS="Gxfxcxdxbxegedabagacad" + +PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' diff --git a/rake_completion.zsh b/rake_completion.zsh new file mode 100644 index 0000000..a94b488 --- /dev/null +++ b/rake_completion.zsh @@ -0,0 +1,42 @@ +_rake_does_task_list_need_generating () { + if [ ! -f .rake_tasks ]; then return 0; + else + accurate=$(stat -f%m .rake_tasks) + changed=$(stat -f%m Rakefile) + return $(expr $accurate '>=' $changed) + fi +} + +_rake () { + if [ -f Rakefile ]; then + if _rake_does_task_list_need_generating; then + echo "\nGenerating .rake_tasks..." > /dev/stderr + rake --silent --tasks | cut -d " " -f 2 > .rake_tasks + fi + compadd `cat .rake_tasks` + fi +} + +compdef _rake rake + +function _cap_does_task_list_need_generating () { + if [ ! -f .cap_tasks ]; then return 0; + else + accurate=$(stat -f%m .cap_tasks) + changed=$(stat -f%m config/deploy.rb) + return $(expr $accurate '>=' $changed) + fi +} + +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 + fi + compadd `cat .cap_tasks` + fi +} + +compdef _cap cap diff --git a/zshrc b/zshrc new file mode 100644 index 0000000..e2fd0fc --- /dev/null +++ b/zshrc @@ -0,0 +1,34 @@ +export EDITOR=/opt/local/bin/joe +export PAGER=less +export ZSH=$HOME/zsh +export LC_CTYPE=en_US.UTF-8 + +# TODO: Refactor this sometimes soon... +source $ZSH/colors.zsh +source $ZSH/aliases.zsh +source $ZSH/completion.zsh +source $ZSH/rake_completion.zsh +source $ZSH/functions.zsh +source $ZSH/git.zsh +source $ZSH/history.zsh +source $ZSH/grep.zsh +source $ZSH/prompt.zsh + +# Uncomment if you have a projects.zsh file +# source $ZSH/projects.zsh + +# Directory stuff. + +setopt AUTO_NAME_DIRS + +# Speed stuff. + +#setopt NO_BEEP +setopt AUTO_CD +setopt MULTIOS +setopt CDABLEVARS + +# Customize to your needs... +export PATH=~/bin:/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/sbin:/opt/local/lib/postgresql83/bin + + From ada3ce5045b44c24ea84cacdffb34e3e9382b385 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Fri, 28 Aug 2009 11:18:21 -0700 Subject: [PATCH 003/518] Changing path to oh-my-zsh in zshrc --- zshrc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/zshrc b/zshrc index e2fd0fc..f54c9b8 100644 --- a/zshrc +++ b/zshrc @@ -1,6 +1,5 @@ -export EDITOR=/opt/local/bin/joe export PAGER=less -export ZSH=$HOME/zsh +export ZSH=$HOME/oh-my-zsh export LC_CTYPE=en_US.UTF-8 # TODO: Refactor this sometimes soon... From 4e2b71bab88cac16d40d12675dcd3949191dff60 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Fri, 28 Aug 2009 11:19:22 -0700 Subject: [PATCH 004/518] Updating README file --- README.textile | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.textile b/README.textile index 740070d..e06e3a9 100644 --- a/README.textile +++ b/README.textile @@ -1,8 +1,14 @@ h2. Setup -# Clone the repository to ~/zsh -# Symlink the zsh config with: @ln -s ~/zsh/zshrc .zshrc@ -# Reload zsh (open a new terminal) +1. Clone the repository + +@git clone git://github.com/robbyrussell/oh-my-zsh.git@ + +2. Symlink the zsh config with: @ln -s ~/oh-my-zsh/zshrc .zshrc@ + +3. Start / restart zsh (open a new terminal is easy enough..) + + From 050a2b2c25b1575c4e870dbe1a6f371fea80b2d7 Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Fri, 28 Aug 2009 11:35:22 -0700 Subject: [PATCH 005/518] Removed Git Aliases comment since there are no Git aliases in this file --- aliases.zsh | 2 -- 1 file changed, 2 deletions(-) diff --git a/aliases.zsh b/aliases.zsh index 2319823..f73ca0f 100644 --- a/aliases.zsh +++ b/aliases.zsh @@ -22,8 +22,6 @@ alias e='mate' alias history='fc -l 1' -# Git aliases - alias utb='tar jxvf' alias utz='tar zxvf' From 39f8b30d4d1a157e2b0ffa2f2e50427e50563ce7 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Fri, 28 Aug 2009 11:37:53 -0700 Subject: [PATCH 006/518] Loading all files in /Users/robbyrussell/oh-my-zsh that end in .zsh instead of specifying them manually --- zshrc | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/zshrc b/zshrc index f54c9b8..9cdf91c 100644 --- a/zshrc +++ b/zshrc @@ -2,19 +2,9 @@ export PAGER=less export ZSH=$HOME/oh-my-zsh export LC_CTYPE=en_US.UTF-8 -# TODO: Refactor this sometimes soon... -source $ZSH/colors.zsh -source $ZSH/aliases.zsh -source $ZSH/completion.zsh -source $ZSH/rake_completion.zsh -source $ZSH/functions.zsh -source $ZSH/git.zsh -source $ZSH/history.zsh -source $ZSH/grep.zsh -source $ZSH/prompt.zsh - -# Uncomment if you have a projects.zsh file -# source $ZSH/projects.zsh +# Load all of the config files in ~/oh-my-zsh that end in .zsh +# TIP: Add files you don't want in git to .gitignore +for i in $ZSH/*zsh; do source $i; done; # Directory stuff. From 14b219b5a282f4d2c1df67da533ff23cf0c03fac Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Fri, 28 Aug 2009 11:43:19 -0700 Subject: [PATCH 007/518] Updating README --- README.textile | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.textile b/README.textile index e06e3a9..2a2ba14 100644 --- a/README.textile +++ b/README.textile @@ -1,3 +1,7 @@ +A handful of functions, auto-complete helpers, and stuff that makes you shout... + +bq. "OH MY ZSHELL!" + h2. Setup 1. Clone the repository @@ -9,6 +13,12 @@ h2. Setup 3. Start / restart zsh (open a new terminal is easy enough..) +h2. Thanks +* Rick Olsen (technoweenie) might remember some of the configuration, which I took from a pastie a few years ago. +* Whoever created the rake autocomplete stuff, which was posted all over the internet a few years ago. +h2. Help out! + +If you have ideas on how to improve/optimize the configuration, don't hesitate to send pull requests. From d1e1869abfca8b6445095c5203d44c2fbbf3b03c Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Fri, 28 Aug 2009 11:46:01 -0700 Subject: [PATCH 008/518] Adding some info to the Usage section of the README --- README.textile | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.textile b/README.textile index 2a2ba14..c3978be 100644 --- a/README.textile +++ b/README.textile @@ -12,6 +12,14 @@ h2. Setup 3. Start / restart zsh (open a new terminal is easy enough..) +h2. Usage + +TODO: Update this.. + +* Rake autocomplete: @rake (tab)@. Will generate a cache of all your rake tasks and then let you auto-complete and/or select the task to run. +* ssh autocomplete: @ssh (tab)@ or @scp (tab)@ +* Git branch, it'll tell you which branch you're in when you're in a git repository directory. +* much much more.. h2. Thanks From 627a61a0651370c6b4285cddf8d83ecd526c3d32 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Fri, 28 Aug 2009 11:50:58 -0700 Subject: [PATCH 009/518] Making sure it's obvious to symlink to ~/.zshrc --- README.textile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.textile b/README.textile index c3978be..1d24a05 100644 --- a/README.textile +++ b/README.textile @@ -8,7 +8,7 @@ h2. Setup @git clone git://github.com/robbyrussell/oh-my-zsh.git@ -2. Symlink the zsh config with: @ln -s ~/oh-my-zsh/zshrc .zshrc@ +2. Symlink the zsh config with: @ln -s ~/oh-my-zsh/zshrc ~/.zshrc@ 3. Start / restart zsh (open a new terminal is easy enough..) From dcd664e41246c9ae6007c2e7fb6b1420fbcd2207 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Fri, 28 Aug 2009 11:53:43 -0700 Subject: [PATCH 010/518] Note about PATH --- README.textile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.textile b/README.textile index 1d24a05..02d2095 100644 --- a/README.textile +++ b/README.textile @@ -12,6 +12,10 @@ h2. Setup 3. Start / restart zsh (open a new terminal is easy enough..) +h3. Problems? + +You _might_ need to modify your PATH.. and this needs to be refactored in the near future. + h2. Usage TODO: Update this.. From 5dd3755ed54bea647fa9b5ca36d4ae21e31e7de8 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Fri, 28 Aug 2009 11:54:28 -0700 Subject: [PATCH 011/518] Updating README regarding PATH info --- README.textile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.textile b/README.textile index 02d2095..6228c20 100644 --- a/README.textile +++ b/README.textile @@ -14,7 +14,7 @@ h2. Setup h3. Problems? -You _might_ need to modify your PATH.. and this needs to be refactored in the near future. +You _might_ need to modify your PATH in ~/.zshrc if you're not able to find some commands after switching to oh-my-zsh. h2. Usage From c1ac59d29a8ff69fab7225785c0758014fc0bbe2 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Fri, 28 Aug 2009 12:21:43 -0700 Subject: [PATCH 012/518] Info about contributing --- README.textile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.textile b/README.textile index 6228c20..ebc62d0 100644 --- a/README.textile +++ b/README.textile @@ -32,5 +32,6 @@ h2. Thanks h2. Help out! -If you have ideas on how to improve/optimize the configuration, don't hesitate to send pull requests. +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! + From 8b517ff666afcd06a96045b6c74887e394dfa297 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 30 Aug 2009 17:40:54 -0700 Subject: [PATCH 013/518] Moving some more config into prompt.zsh to reduce amount of code in .zshrc --- prompt.zsh | 3 +++ zshrc | 14 +------------- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/prompt.zsh b/prompt.zsh index a36e97f..09481de 100644 --- a/prompt.zsh +++ b/prompt.zsh @@ -1,3 +1,6 @@ +export PAGER=less +export LC_CTYPE=en_US.UTF-8 + bindkey -e # Directory stuff. diff --git a/zshrc b/zshrc index 9cdf91c..08bbb8e 100644 --- a/zshrc +++ b/zshrc @@ -1,22 +1,10 @@ -export PAGER=less +# Path to your oh-my-zsh configuration. export ZSH=$HOME/oh-my-zsh -export LC_CTYPE=en_US.UTF-8 # Load all of the config files in ~/oh-my-zsh that end in .zsh # TIP: Add files you don't want in git to .gitignore for i in $ZSH/*zsh; do source $i; done; -# Directory stuff. - -setopt AUTO_NAME_DIRS - -# Speed stuff. - -#setopt NO_BEEP -setopt AUTO_CD -setopt MULTIOS -setopt CDABLEVARS - # Customize to your needs... export PATH=~/bin:/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/sbin:/opt/local/lib/postgresql83/bin From f39adb8d8cfa86ef1f8832c2285028c4fdb8b611 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 30 Aug 2009 17:41:31 -0700 Subject: [PATCH 014/518] Removing a robby-only alias --- aliases.zsh | 2 -- 1 file changed, 2 deletions(-) diff --git a/aliases.zsh b/aliases.zsh index f73ca0f..25a2047 100644 --- a/aliases.zsh +++ b/aliases.zsh @@ -32,8 +32,6 @@ alias sgem='sudo gem' alias rfind='find . -name *.rb | xargs grep -n' -alias xenon='ssh rrussell@xenon.planetargon.com' - alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' bindkey '\ew' kill-region From 538c54ba8479e99964538755ab49dd47f3edf955 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 30 Aug 2009 17:43:24 -0700 Subject: [PATCH 015/518] Removed a bunch of aliases that I never use, which came from someone else I copied old config from --- aliases.zsh | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/aliases.zsh b/aliases.zsh index 25a2047..5cf253d 100644 --- a/aliases.zsh +++ b/aliases.zsh @@ -1,30 +1,19 @@ -alias c='cd' alias pu='pushd' alias po='popd' + alias sc='ruby script/console' alias ss='ruby script/server' alias mr='mate CHANGELOG app config db lib public script spec test' alias .='pwd' alias ...='cd ../..' -alias ....='cd ../../..' -alias .....='cd ../../../..' -alias ......='cd ../../../../..' -alias .......='cd ../../../../../..' alias _='sudo' -alias ss='setsid' alias g='grep -in' -alias s='svn' -alias e='mate' - alias history='fc -l 1' -alias utb='tar jxvf' -alias utz='tar zxvf' - alias ls='ls -GF' alias ll='ls -al' From fe8f83cd78e5a514eeee7801a74f196a7d17d580 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 30 Aug 2009 17:46:51 -0700 Subject: [PATCH 016/518] Removing some unused git-dirty parsing code. --- functions.zsh | 1 - git.zsh | 2 -- 2 files changed, 3 deletions(-) diff --git a/functions.zsh b/functions.zsh index 5c349e8..dcabed9 100644 --- a/functions.zsh +++ b/functions.zsh @@ -20,7 +20,6 @@ function preexec { title $cmd[1]:t "$cmd[2,-1]" } - function remote_console() { /usr/bin/env ssh $1 "( cd $2 && ruby script/console production )" } \ No newline at end of file diff --git a/git.zsh b/git.zsh index 9440963..b9a8617 100644 --- a/git.zsh +++ b/git.zsh @@ -9,8 +9,6 @@ function git_prompt_info() { CURRENT_BRANCH='' fi - - #echo "%{$fg[red]%}git:(%{$fg[green]$CURRENT_BRANCH%{$fg[red])" echo $CURRENT_BRANCH } From 95f32b4f8b30fbd62e6df8ca66221cdf6f2cc4d9 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 30 Aug 2009 17:48:43 -0700 Subject: [PATCH 017/518] Updating README to show people how to change their default shell. --- README.textile | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.textile b/README.textile index ebc62d0..b15b1fd 100644 --- a/README.textile +++ b/README.textile @@ -6,11 +6,17 @@ h2. Setup 1. Clone the repository -@git clone git://github.com/robbyrussell/oh-my-zsh.git@ + @git clone git://github.com/robbyrussell/oh-my-zsh.git@ -2. Symlink the zsh config with: @ln -s ~/oh-my-zsh/zshrc ~/.zshrc@ +2. Symlink the zsh config with: -3. Start / restart zsh (open a new terminal is easy enough..) + @ln -s ~/oh-my-zsh/zshrc ~/.zshrc@ + +3. Set zsh as your default shell: + + @chsh -s /bin/zsh@ + +4. Start / restart zsh (open a new terminal is easy enough..) h3. Problems? From 1092aba5b819882c75c33be24f97556e03baec26 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 30 Aug 2009 18:00:42 -0700 Subject: [PATCH 018/518] Adding a note about backing up your existing zshrc file --- README.textile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.textile b/README.textile index b15b1fd..6cba370 100644 --- a/README.textile +++ b/README.textile @@ -10,6 +10,8 @@ h2. Setup 2. Symlink the zsh config with: + *NOTE*: If you already have a ~/.zshrc file, you should back it up. @cp ~/.zshrc ~/.zshrc.orig@ in case you want to go back to your original settings. + @ln -s ~/oh-my-zsh/zshrc ~/.zshrc@ 3. Set zsh as your default shell: From 71769107dbff230ec7607368f50f9ff93b88b581 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 30 Aug 2009 18:36:11 -0700 Subject: [PATCH 019/518] Adding an installer tool --- tools/install.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 tools/install.sh diff --git a/tools/install.sh b/tools/install.sh new file mode 100644 index 0000000..d820adc --- /dev/null +++ b/tools/install.sh @@ -0,0 +1,24 @@ +if [ -d ~/.oh-my-zsh ] +then + echo "You already have Oh My Zsh installed. You'll need to remove ~/.oh-my-zsh if you want to install" + exit +else + echo "Cloning Oh My Zsh..." + /usr/bin/env git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh +fi + +echo "Looking for an existing zsh config..." +if [ -f ~/.zshrc ] +then + echo "Found ~/.zshrc. Backing up to ~/.zshrc.pre-oh-my-zsh"; + cp ~/.zshrc ~/.zshrc.pre-oh-my-zsh; + rm ~/.zshrc; +fi + +echo "Symlinking .zshrc to ~/.oh-my-zsh/" +ln -s ~/.oh-my-zsh/zshrc ~/.zshrc + +echo "Time to change your default shell to zsh!" +chsh -s /bin/zsh + +echo "Hooray! Oh My Zsh has been installed." From 43fd24e81fe83e9c2978e55d1d8f18bc251716f9 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 30 Aug 2009 18:36:38 -0700 Subject: [PATCH 020/518] Updating README with reference to auto-installer --- README.textile | 7 +++++++ zshrc | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/README.textile b/README.textile index 6cba370..4a52a1d 100644 --- a/README.textile +++ b/README.textile @@ -4,6 +4,13 @@ bq. "OH MY ZSHELL!" h2. Setup +h3. The automatic installer... (do you trust me?) + +@wget http://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh@ + +h3. The manual way + + 1. Clone the repository @git clone git://github.com/robbyrussell/oh-my-zsh.git@ diff --git a/zshrc b/zshrc index 08bbb8e..46f0b1b 100644 --- a/zshrc +++ b/zshrc @@ -1,5 +1,5 @@ # Path to your oh-my-zsh configuration. -export ZSH=$HOME/oh-my-zsh +export ZSH=$HOME/.oh-my-zsh # Load all of the config files in ~/oh-my-zsh that end in .zsh # TIP: Add files you don't want in git to .gitignore From 3ec52a13537ed9c56cf55d1ce7c02a3f6d75fdc4 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 30 Aug 2009 18:44:14 -0700 Subject: [PATCH 021/518] Checking if .zshrc is a file or a symlink. --- tools/install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/install.sh b/tools/install.sh index d820adc..7b1ead6 100644 --- a/tools/install.sh +++ b/tools/install.sh @@ -8,7 +8,7 @@ else fi echo "Looking for an existing zsh config..." -if [ -f ~/.zshrc ] +if [ -f ~/.zshrc ] || [ -h ~/.zshrc ] then echo "Found ~/.zshrc. Backing up to ~/.zshrc.pre-oh-my-zsh"; cp ~/.zshrc ~/.zshrc.pre-oh-my-zsh; @@ -22,3 +22,4 @@ echo "Time to change your default shell to zsh!" chsh -s /bin/zsh echo "Hooray! Oh My Zsh has been installed." +/bin/zsh \ No newline at end of file From 684eae38af9b00f2c743c7d198c387d5a817ee69 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 30 Aug 2009 18:49:53 -0700 Subject: [PATCH 022/518] Attempting to load zsh properly after auto-install --- tools/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/install.sh b/tools/install.sh index 7b1ead6..8873260 100644 --- a/tools/install.sh +++ b/tools/install.sh @@ -22,4 +22,4 @@ echo "Time to change your default shell to zsh!" chsh -s /bin/zsh echo "Hooray! Oh My Zsh has been installed." -/bin/zsh \ No newline at end of file +source ~/.zshrc && /bin/zsh From 13ca4fab1a944799d8a27e28daea6d19fe9dd813 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 30 Aug 2009 18:51:41 -0700 Subject: [PATCH 023/518] Changing order of loading zsh at end of install --- tools/install.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/install.sh b/tools/install.sh index 8873260..78a39cd 100644 --- a/tools/install.sh +++ b/tools/install.sh @@ -22,4 +22,6 @@ echo "Time to change your default shell to zsh!" chsh -s /bin/zsh echo "Hooray! Oh My Zsh has been installed." -source ~/.zshrc && /bin/zsh +/bin/zsh +source ~/.zshrc + From 908fead30300c33a9eadc975309442a5ccf4f859 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 30 Aug 2009 18:54:39 -0700 Subject: [PATCH 024/518] Updating README to match new path for installation. --- README.textile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.textile b/README.textile index 4a52a1d..fdfb6af 100644 --- a/README.textile +++ b/README.textile @@ -13,13 +13,13 @@ h3. The manual way 1. Clone the repository - @git clone git://github.com/robbyrussell/oh-my-zsh.git@ + @git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh@ 2. Symlink the zsh config with: *NOTE*: If you already have a ~/.zshrc file, you should back it up. @cp ~/.zshrc ~/.zshrc.orig@ in case you want to go back to your original settings. - @ln -s ~/oh-my-zsh/zshrc ~/.zshrc@ + @ln -s ~/.oh-my-zsh/zshrc ~/.zshrc@ 3. Set zsh as your default shell: From da3be21b4f9dc510e6d6c91a58f3e1abb566369b Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Mon, 31 Aug 2009 13:58:53 +0100 Subject: [PATCH 025/518] Add in my normal s{s,d} aliases --- aliases.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/aliases.zsh b/aliases.zsh index 5cf253d..4c079c1 100644 --- a/aliases.zsh +++ b/aliases.zsh @@ -2,7 +2,8 @@ alias pu='pushd' alias po='popd' alias sc='ruby script/console' -alias ss='ruby script/server' +alias sd='ruby script/server --debugger' +alias ss='thin --stats "/thin/stats" start' alias mr='mate CHANGELOG app config db lib public script spec test' alias .='pwd' From 7a7b0bc7f57ffabaa8e409975be4efe83e6eb924 Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Mon, 31 Aug 2009 13:59:16 +0100 Subject: [PATCH 026/518] Add textmate aliases --- aliases.zsh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/aliases.zsh b/aliases.zsh index 4c079c1..cabeca6 100644 --- a/aliases.zsh +++ b/aliases.zsh @@ -27,4 +27,9 @@ alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' bindkey '\ew' kill-region bindkey -s '\el' "ls\n" -bindkey -s '\e.' "..\n" \ No newline at end of file +bindkey -s '\e.' "..\n" + +alias et='mate . &' +alias ett='mate app config lib db public spec test Rakefile Capfile Todo &' +alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' +alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' From 0f2e63f8995bfaf35b2cfc149866c3be503d3820 Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Mon, 31 Aug 2009 13:59:34 +0100 Subject: [PATCH 027/518] Swap out g alias to git --- aliases.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/aliases.zsh b/aliases.zsh index cabeca6..9bbeb06 100644 --- a/aliases.zsh +++ b/aliases.zsh @@ -11,7 +11,8 @@ alias ...='cd ../..' alias _='sudo' -alias g='grep -in' +#alias g='grep -in' +alias g='git' alias history='fc -l 1' From 5811a6b11f86a2807ebd57697eaa67947276b61d Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Mon, 31 Aug 2009 14:01:39 +0100 Subject: [PATCH 028/518] Strip colours from git.zsh --- git.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git.zsh b/git.zsh index b9a8617..7f5714f 100644 --- a/git.zsh +++ b/git.zsh @@ -4,7 +4,7 @@ function git_prompt_info() { branch=${ref#refs/heads/} if [[ -d .git ]]; then - CURRENT_BRANCH="%{$fg[red]%}git:(%{$fg[green]${branch}%{$fg[red])" + CURRENT_BRANCH="(${branch})" else CURRENT_BRANCH='' fi From 45f05b9bbc84f0ac934bb137a9ff3a01f7710c5d Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Mon, 31 Aug 2009 14:02:19 +0100 Subject: [PATCH 029/518] Use my normal PATH instead of included --- zshrc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zshrc b/zshrc index 46f0b1b..d5c00d6 100644 --- a/zshrc +++ b/zshrc @@ -6,6 +6,6 @@ export ZSH=$HOME/.oh-my-zsh for i in $ZSH/*zsh; do source $i; done; # Customize to your needs... -export PATH=~/bin:/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/sbin:/opt/local/lib/postgresql83/bin - +#export PATH=~/bin:/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/sbin:/opt/local/lib/postgresql83/bin +export PATH=$PATH:$HOME/bin From a92158eab3dfce4c7010e600d88dcdcd2fbb8dcb Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Mon, 31 Aug 2009 14:03:33 +0100 Subject: [PATCH 030/518] Customise prompt value --- prompt.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/prompt.zsh b/prompt.zsh index 09481de..d191af7 100644 --- a/prompt.zsh +++ b/prompt.zsh @@ -29,4 +29,5 @@ setopt prompt_subst export LSCOLORS="Gxfxcxdxbxegedabagacad" -PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' +# PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' +PROMPT='%m:%1/$(git_prompt_info) %n\$ ' From 3ab0d639d0f6feaf6612badd932542d206fc5450 Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Mon, 31 Aug 2009 14:03:56 +0100 Subject: [PATCH 031/518] Add tab, take and tm functions --- functions.zsh | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/functions.zsh b/functions.zsh index dcabed9..0dcfbd3 100644 --- a/functions.zsh +++ b/functions.zsh @@ -22,4 +22,26 @@ function preexec { function remote_console() { /usr/bin/env ssh $1 "( cd $2 && ruby script/console production )" -} \ No newline at end of file +} + +function tab() { + osascript 2>/dev/null < Date: Mon, 31 Aug 2009 07:45:31 -0700 Subject: [PATCH 032/518] Adding theme support so that people can share their zsh prompts with others. Users can set which theme to load in zshrc now. --- prompt.zsh | 2 +- themes/example.zsh-theme | 5 +++++ themes/funky.zsh-theme | 14 ++++++++++++++ themes/robbyrussell.zsh-theme | 1 + zshrc | 4 ++++ 5 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 themes/example.zsh-theme create mode 100644 themes/funky.zsh-theme create mode 100644 themes/robbyrussell.zsh-theme diff --git a/prompt.zsh b/prompt.zsh index 09481de..d6c35a6 100644 --- a/prompt.zsh +++ b/prompt.zsh @@ -29,4 +29,4 @@ setopt prompt_subst export LSCOLORS="Gxfxcxdxbxegedabagacad" -PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' +source "$ZSH/themes/$ZSH_THEME.zsh-theme" \ No newline at end of file diff --git a/themes/example.zsh-theme b/themes/example.zsh-theme new file mode 100644 index 0000000..dbd9dc9 --- /dev/null +++ b/themes/example.zsh-theme @@ -0,0 +1,5 @@ +# Found on the ZshWiki +# http://zshwiki.org/home/config/prompt +# + +PROMPT="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% " \ No newline at end of file diff --git a/themes/funky.zsh-theme b/themes/funky.zsh-theme new file mode 100644 index 0000000..2451296 --- /dev/null +++ b/themes/funky.zsh-theme @@ -0,0 +1,14 @@ +# Taken from Tassilo's Blog +# http://tsdh.wordpress.com/2007/12/06/my-funky-zsh-prompt/ + +local blue_op="%{$fg[blue]%}[%{$reset_color%}" +local blue_cp="%{$fg[blue]%}]%{$reset_color%}" +local path_p="${blue_op}%~${blue_cp}" +local user_host="${blue_op}%n@%m${blue_cp}" +local ret_status="${blue_op}%?${blue_cp}" +local hist_no="${blue_op}%h${blue_cp}" +local smiley="%(?,%{$fg[green]%}:%)%{$reset_color%},%{$fg[red]%}:(%{$reset_color%})" +PROMPT="╭─${path_p}─${user_host}─${ret_status}─${hist_no} +╰─${blue_op}${smiley}${blue_cp} %# " +local cur_cmd="${blue_op}%_${blue_cp}" +PROMPT2="${cur_cmd}> " \ No newline at end of file diff --git a/themes/robbyrussell.zsh-theme b/themes/robbyrussell.zsh-theme new file mode 100644 index 0000000..d45796f --- /dev/null +++ b/themes/robbyrussell.zsh-theme @@ -0,0 +1 @@ +PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' diff --git a/zshrc b/zshrc index 46f0b1b..e2f5fba 100644 --- a/zshrc +++ b/zshrc @@ -1,6 +1,10 @@ # Path to your oh-my-zsh configuration. export ZSH=$HOME/.oh-my-zsh +# Set to the name theme to load. +# Look in ~/.oh-my-zsh/themes/ +export ZSH_THEME="robbyrussell" + # Load all of the config files in ~/oh-my-zsh that end in .zsh # TIP: Add files you don't want in git to .gitignore for i in $ZSH/*zsh; do source $i; done; From 5af0ba8f91d10aab109febecc730cb8c42f141e6 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 31 Aug 2009 08:12:45 -0700 Subject: [PATCH 033/518] Updating README with info about themes --- README.textile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.textile b/README.textile index fdfb6af..f09feec 100644 --- a/README.textile +++ b/README.textile @@ -38,6 +38,7 @@ TODO: Update this.. * Rake autocomplete: @rake (tab)@. Will generate a cache of all your rake tasks and then let you auto-complete and/or select the task to run. * ssh autocomplete: @ssh (tab)@ or @scp (tab)@ * Git branch, it'll tell you which branch you're in when you're in a git repository directory. +* Theme support: Change the @ZSH_THEME@ environment variable in @~/.zshrc@. * much much more.. h2. Thanks @@ -49,4 +50,7 @@ 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! + +I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory. From a19d1c0f53efbbc97eeaee4e496063abf7bf689d Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 31 Aug 2009 09:27:35 -0700 Subject: [PATCH 034/518] Adding Evan's skinny, topless prompt. --- themes/evan.zsh-theme | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 themes/evan.zsh-theme diff --git a/themes/evan.zsh-theme b/themes/evan.zsh-theme new file mode 100644 index 0000000..5ef1f40 --- /dev/null +++ b/themes/evan.zsh-theme @@ -0,0 +1,2 @@ +# Evan describes this sexy prompt as: "a skinny, topless prompt" +PROMPT='%m :: %2~ %B»%b ' \ No newline at end of file From 3dfa677ede716cb7dd7026f47dc764fcabe1c823 Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Mon, 31 Aug 2009 18:46:48 +0100 Subject: [PATCH 035/518] Add geoffgarside theme --- themes/geoffgarside.zsh-theme | 1 + zshrc | 1 + 2 files changed, 2 insertions(+) create mode 100644 themes/geoffgarside.zsh-theme diff --git a/themes/geoffgarside.zsh-theme b/themes/geoffgarside.zsh-theme new file mode 100644 index 0000000..861ef91 --- /dev/null +++ b/themes/geoffgarside.zsh-theme @@ -0,0 +1 @@ +PROMPT='%m:%1/$(git_prompt_info) %n\$ ' diff --git a/zshrc b/zshrc index 2e2a33d..c92becf 100644 --- a/zshrc +++ b/zshrc @@ -4,6 +4,7 @@ export ZSH=$HOME/.oh-my-zsh # Set to the name theme to load. # Look in ~/.oh-my-zsh/themes/ export ZSH_THEME="robbyrussell" +export ZSH_THEME="geoffgarside" # Load all of the config files in ~/oh-my-zsh that end in .zsh # TIP: Add files you don't want in git to .gitignore From df8ad95c6adfc91332e951f21d9a44c8612b0f04 Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Mon, 31 Aug 2009 18:49:48 +0100 Subject: [PATCH 036/518] Remove PATH definition as we define this in .profile --- zshrc | 1 - 1 file changed, 1 deletion(-) diff --git a/zshrc b/zshrc index c92becf..fb02388 100644 --- a/zshrc +++ b/zshrc @@ -12,5 +12,4 @@ for i in $ZSH/*zsh; do source $i; done; # Customize to your needs... #export PATH=~/bin:/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/sbin:/opt/local/lib/postgresql83/bin -export PATH=$PATH:$HOME/bin From 97cf1871ca1e6822200e0ae008cbbe4c24d88a4b Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 31 Aug 2009 11:17:05 -0700 Subject: [PATCH 037/518] Adding a file into log/ so that we have a log file to record history to --- log/.easter-egg | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 log/.easter-egg diff --git a/log/.easter-egg b/log/.easter-egg new file mode 100644 index 0000000..2533149 --- /dev/null +++ b/log/.easter-egg @@ -0,0 +1,4 @@ +This file is only here so that Git will keep a log directory as .gitignore is ignoring all the log files within it. + +feel free to add love notes for people here. + From 841cca16a6b355f707585b96f75194381f49590f Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Mon, 31 Aug 2009 21:12:58 +0100 Subject: [PATCH 038/518] Remove colour from ls command --- aliases.zsh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/aliases.zsh b/aliases.zsh index 9bbeb06..e27cd03 100644 --- a/aliases.zsh +++ b/aliases.zsh @@ -16,7 +16,7 @@ alias g='git' alias history='fc -l 1' -alias ls='ls -GF' +alias ls='ls -F' alias ll='ls -al' alias sgem='sudo gem' @@ -34,3 +34,6 @@ alias et='mate . &' alias ett='mate app config lib db public spec test Rakefile Capfile Todo &' alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' + +bindkey "^[[A" history-beginning-search-backward +bindkey "^[[B" history-beginning-search-forward From a9c18304621b045d90a2fc328da79f29a2de6b42 Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Mon, 31 Aug 2009 21:23:35 +0100 Subject: [PATCH 039/518] Change dirty git string to a yello X --- git.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git.zsh b/git.zsh index 7f5714f..8527926 100644 --- a/git.zsh +++ b/git.zsh @@ -13,5 +13,5 @@ function git_prompt_info() { } parse_git_dirty () { - [[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "%{$fg[white] ♻ " + [[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "%{$fg[yellow]%}✗%{$reset_color%}" } From 652caa6b2591e773179b8e38992d516db1f99930 Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Mon, 31 Aug 2009 21:23:59 +0100 Subject: [PATCH 040/518] Colour branch name and add dirty string --- git.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git.zsh b/git.zsh index 8527926..805969b 100644 --- a/git.zsh +++ b/git.zsh @@ -4,7 +4,7 @@ function git_prompt_info() { branch=${ref#refs/heads/} if [[ -d .git ]]; then - CURRENT_BRANCH="(${branch})" + CURRENT_BRANCH="(%{$fg[red]%}${branch}%{$reset_color%}) $(parse_git_dirty) " else CURRENT_BRANCH='' fi From 076f9b15fff84f58009f73f19292729015d1c888 Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Mon, 31 Aug 2009 21:25:12 +0100 Subject: [PATCH 041/518] Add my own theme --- themes/geoffgarside.zsh-theme | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/themes/geoffgarside.zsh-theme b/themes/geoffgarside.zsh-theme index 861ef91..022e44a 100644 --- a/themes/geoffgarside.zsh-theme +++ b/themes/geoffgarside.zsh-theme @@ -1 +1,2 @@ -PROMPT='%m:%1/$(git_prompt_info) %n\$ ' +# PROMPT="[%*] %n:%c $(git_prompt_info)%(!.#.$) " +PROMPT="[%*] %{$fg[cyan]%}%n%{$reset_color%}:%{$fg[green]%}%c%{$reset_color%} $(git_prompt_info)%(!.#.$) " From 5ace61de4e9d10b3257f9565f246abd28082592c Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Mon, 31 Aug 2009 21:49:24 +0100 Subject: [PATCH 042/518] Switch double quotes for singles, fixes prompt issues --- themes/geoffgarside.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/geoffgarside.zsh-theme b/themes/geoffgarside.zsh-theme index 022e44a..5c37ffc 100644 --- a/themes/geoffgarside.zsh-theme +++ b/themes/geoffgarside.zsh-theme @@ -1,2 +1,2 @@ # PROMPT="[%*] %n:%c $(git_prompt_info)%(!.#.$) " -PROMPT="[%*] %{$fg[cyan]%}%n%{$reset_color%}:%{$fg[green]%}%c%{$reset_color%} $(git_prompt_info)%(!.#.$) " +PROMPT='[%*] %{$fg[cyan]%}%n%{$reset_color%}:%{$fg[green]%}%c%{$reset_color%} $(git_prompt_info)%(!.#.$) ' From 845eabc8cc86ebfcab7a9ebca5eb87aa136e9ce3 Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Mon, 31 Aug 2009 21:51:11 +0100 Subject: [PATCH 043/518] Restructure spaces in git pieces --- git.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/git.zsh b/git.zsh index 805969b..a8e2e36 100644 --- a/git.zsh +++ b/git.zsh @@ -4,7 +4,7 @@ function git_prompt_info() { branch=${ref#refs/heads/} if [[ -d .git ]]; then - CURRENT_BRANCH="(%{$fg[red]%}${branch}%{$reset_color%}) $(parse_git_dirty) " + CURRENT_BRANCH="(%{$fg[red]%}${branch}%{$reset_color%})$(parse_git_dirty) " else CURRENT_BRANCH='' fi @@ -13,5 +13,5 @@ function git_prompt_info() { } parse_git_dirty () { - [[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "%{$fg[yellow]%}✗%{$reset_color%}" + [[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]] && echo " %{$fg[yellow]%}✗%{$reset_color%}" } From a26cb28de4d095d547d774a3b3258a76f17507c3 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 31 Aug 2009 13:54:50 -0700 Subject: [PATCH 044/518] Only calling git symbolic-ref HEAD when we are in a .git directory --- git.zsh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/git.zsh b/git.zsh index b9a8617..567c2fa 100644 --- a/git.zsh +++ b/git.zsh @@ -1,9 +1,8 @@ # get the name of the branch we are on function git_prompt_info() { - ref=$(git symbolic-ref HEAD 2> /dev/null) || return - branch=${ref#refs/heads/} - if [[ -d .git ]]; then + ref=$(git symbolic-ref HEAD 2> /dev/null) || return + branch=${ref#refs/heads/} CURRENT_BRANCH="%{$fg[red]%}git:(%{$fg[green]${branch}%{$fg[red])" else CURRENT_BRANCH='' From af8294d2068e3614a7635486de1d89e12e23a8e5 Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Mon, 31 Aug 2009 22:24:03 +0100 Subject: [PATCH 045/518] Move the spaces around again :P --- git.zsh | 2 +- themes/geoffgarside.zsh-theme | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/git.zsh b/git.zsh index a8e2e36..1b45876 100644 --- a/git.zsh +++ b/git.zsh @@ -4,7 +4,7 @@ function git_prompt_info() { branch=${ref#refs/heads/} if [[ -d .git ]]; then - CURRENT_BRANCH="(%{$fg[red]%}${branch}%{$reset_color%})$(parse_git_dirty) " + CURRENT_BRANCH="(%{$fg[red]%}${branch}%{$reset_color%})$(parse_git_dirty)" else CURRENT_BRANCH='' fi diff --git a/themes/geoffgarside.zsh-theme b/themes/geoffgarside.zsh-theme index 5c37ffc..38733d9 100644 --- a/themes/geoffgarside.zsh-theme +++ b/themes/geoffgarside.zsh-theme @@ -1,2 +1,2 @@ # PROMPT="[%*] %n:%c $(git_prompt_info)%(!.#.$) " -PROMPT='[%*] %{$fg[cyan]%}%n%{$reset_color%}:%{$fg[green]%}%c%{$reset_color%} $(git_prompt_info)%(!.#.$) ' +PROMPT='[%*] %{$fg[cyan]%}%n%{$reset_color%}:%{$fg[green]%}%c%{$reset_color%}$(git_prompt_info) %(!.#.$) ' From 6fd7da65a34e9a2e10ccef7e83d974bab63cb99e Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 31 Aug 2009 15:00:15 -0700 Subject: [PATCH 046/518] Adding zsh_stats function to show you which commands you run the most. --- functions.zsh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/functions.zsh b/functions.zsh index dcabed9..1f2a202 100644 --- a/functions.zsh +++ b/functions.zsh @@ -22,4 +22,8 @@ function preexec { function remote_console() { /usr/bin/env ssh $1 "( cd $2 && ruby script/console production )" +} + +function zsh_stats() { + history | awk '{print $2}' | sort | uniq -c | sort -rn | head } \ No newline at end of file From e1f5c0c703c60d473144f58e1ab49d51c38ab526 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 31 Aug 2009 15:00:38 -0700 Subject: [PATCH 047/518] Adding an uninstaller tool --- README.textile | 4 ++++ functions.zsh | 4 ++++ tools/uninstall.sh | 20 ++++++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 tools/uninstall.sh diff --git a/README.textile b/README.textile index f09feec..d7169c3 100644 --- a/README.textile +++ b/README.textile @@ -41,6 +41,10 @@ TODO: Update this.. * Theme support: Change the @ZSH_THEME@ environment variable in @~/.zshrc@. * much much more.. +h3. Uninstalling + +If you want to uninstall it, just run @uninstall_oh_my_zsh@ from the command line and it'll remove itself and revert you to bash (or your previous zsh config). + h2. Thanks * Rick Olsen (technoweenie) might remember some of the configuration, which I took from a pastie a few years ago. diff --git a/functions.zsh b/functions.zsh index 1f2a202..2ce91c9 100644 --- a/functions.zsh +++ b/functions.zsh @@ -26,4 +26,8 @@ function remote_console() { function zsh_stats() { history | awk '{print $2}' | sort | uniq -c | sort -rn | head +} + +function uninstall_oh_my_zsh() { + /bin/sh $ZSH/tools/uninstall.sh } \ No newline at end of file diff --git a/tools/uninstall.sh b/tools/uninstall.sh new file mode 100644 index 0000000..8ff5833 --- /dev/null +++ b/tools/uninstall.sh @@ -0,0 +1,20 @@ +echo "Removing ~/.oh-my-zsh" +if [[ -d ~/.oh-my-zsh ]] +then + rm -rf ~/.oh-my-zsh +fi + +echo "Looking for an existing zsh config..." +if [ -f ~/.zshrc.pre-oh-my-zsh ] || [ -h ~/.zshrc.pre-oh-my-zsh ] +then + echo "Found ~/.zshrc. Backing up to ~/.zshrc.pre-oh-my-zsh"; + rm ~/.zshrc; + cp ~/.zshrc.pre-oh-my-zsh ~/.zshrc; + source ~/.zshrc; +else + echo "Switching back to bash" + chsh -s /bin/bash + source /etc/profile +fi + +echo "Thanks for trying out Oh My Zsh. It's been uninstalled." \ No newline at end of file From 0ce2fd0940e97fc19e7b3a38c374674bd1edc383 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 31 Aug 2009 15:10:46 -0700 Subject: [PATCH 048/518] Removing left over theme reference to geoffs theme --- zshrc | 1 - 1 file changed, 1 deletion(-) diff --git a/zshrc b/zshrc index 39e2406..c66b960 100644 --- a/zshrc +++ b/zshrc @@ -4,7 +4,6 @@ export ZSH=$HOME/.oh-my-zsh # Set to the name theme to load. # Look in ~/.oh-my-zsh/themes/ export ZSH_THEME="robbyrussell" -# export ZSH_THEME="geoffgarside" # Load all of the config files in ~/oh-my-zsh that end in .zsh # TIP: Add files you don't want in git to .gitignore From 1ec8a8848e5fa8f733af92f2c09387719e57e0d5 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 31 Aug 2009 15:48:09 -0700 Subject: [PATCH 049/518] Adding an upgrade_oh_my_zsh function to... well, upgrade Oh My Zsh --- functions.zsh | 4 ++++ tools/upgrade.sh | 5 +++++ 2 files changed, 9 insertions(+) create mode 100644 tools/upgrade.sh diff --git a/functions.zsh b/functions.zsh index d0c24e9..e3891f6 100644 --- a/functions.zsh +++ b/functions.zsh @@ -32,6 +32,10 @@ function uninstall_oh_my_zsh() { /bin/sh $ZSH/tools/uninstall.sh } +function upgrade_oh_my_zsh() { + /bin/sh $ZSH/tools/upgrade.sh +} + function tab() { osascript 2>/dev/null < Date: Tue, 1 Sep 2009 11:01:26 +0200 Subject: [PATCH 050/518] Added extra theme with full pathnames and hostname --- themes/maran.zsh-theme | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 themes/maran.zsh-theme diff --git a/themes/maran.zsh-theme b/themes/maran.zsh-theme new file mode 100644 index 0000000..7523696 --- /dev/null +++ b/themes/maran.zsh-theme @@ -0,0 +1,3 @@ +# Theme with full path names and hostname +# Handy if you work on different servers all the time; +PROMPT='%{$fg[cyan]%}%n%{$reset_color%}@$fg[yellow]%}%M:%{$fg[green]%}%/%{$reset_color%} $(git_prompt_info) %(!.#.$) ' \ No newline at end of file From ebc6ce25aa2aa2c8957724b916711ceee3bb15ce Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Tue, 1 Sep 2009 05:41:49 -0700 Subject: [PATCH 051/518] Including a link to the Themes wiki page from the README --- README.textile | 1 + 1 file changed, 1 insertion(+) diff --git a/README.textile b/README.textile index d7169c3..305df4f 100644 --- a/README.textile +++ b/README.textile @@ -39,6 +39,7 @@ TODO: Update this.. * ssh autocomplete: @ssh (tab)@ or @scp (tab)@ * Git branch, it'll tell you which branch you're in when you're in a git repository directory. * Theme support: Change the @ZSH_THEME@ environment variable in @~/.zshrc@. +** Take a look at the "current themes":http://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with Oh My Zsh. * much much more.. h3. Uninstalling From 53abb4e2a70a1e2c0871b83daa4dac6178a61803 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Tue, 1 Sep 2009 07:41:18 -0700 Subject: [PATCH 052/518] Moving the loading of all .zsh files into a different file so that we can remove zshrc from the repository --- oh-my-zsh.sh | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 oh-my-zsh.sh diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh new file mode 100644 index 0000000..d6382c9 --- /dev/null +++ b/oh-my-zsh.sh @@ -0,0 +1,5 @@ +# Initializes Oh My Zsh + +# Load all of the config files in ~/oh-my-zsh that end in .zsh +# TIP: Add files you don't want in git to .gitignore +for i in $ZSH/*.zsh; do source $i; done; From 4516bda0190aca430c57b6f8c6f5380db63e3b7e Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Tue, 1 Sep 2009 07:43:46 -0700 Subject: [PATCH 053/518] Moving and renaming the zshrc file to a template file --- zshrc => templates/zshrc-template | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename zshrc => templates/zshrc-template (100%) diff --git a/zshrc b/templates/zshrc-template similarity index 100% rename from zshrc rename to templates/zshrc-template From af3e48445456cd08256f21add3b602cd513065e8 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Tue, 1 Sep 2009 07:45:49 -0700 Subject: [PATCH 054/518] Renaming template file one last time (for now) --- templates/{zshrc-template => zshrc.zsh-template} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename templates/{zshrc-template => zshrc.zsh-template} (100%) diff --git a/templates/zshrc-template b/templates/zshrc.zsh-template similarity index 100% rename from templates/zshrc-template rename to templates/zshrc.zsh-template From 261bf83d534cb129833bda773363e72c3693a2fa Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Tue, 1 Sep 2009 07:46:15 -0700 Subject: [PATCH 055/518] Updating the template file to use the oh-my-zsh.sh loader --- templates/zshrc.zsh-template | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template index c66b960..6aae140 100644 --- a/templates/zshrc.zsh-template +++ b/templates/zshrc.zsh-template @@ -5,10 +5,7 @@ export ZSH=$HOME/.oh-my-zsh # Look in ~/.oh-my-zsh/themes/ export ZSH_THEME="robbyrussell" -# Load all of the config files in ~/oh-my-zsh that end in .zsh -# TIP: Add files you don't want in git to .gitignore -for i in $ZSH/*zsh; do source $i; done; - # Customize to your needs... #export PATH=~/bin:/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/sbin:/opt/local/lib/postgresql83/bin +source $ZSH/oh-my-zsh.sh From fcc1cde56c1ed8cd0c4961e82dce4a721b4bd66c Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Tue, 1 Sep 2009 07:50:45 -0700 Subject: [PATCH 056/518] Updating installer to use the new template file. ~/.zshrc will now be outside of the repository --- tools/install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/install.sh b/tools/install.sh index 78a39cd..05b3a52 100644 --- a/tools/install.sh +++ b/tools/install.sh @@ -15,8 +15,8 @@ then rm ~/.zshrc; fi -echo "Symlinking .zshrc to ~/.oh-my-zsh/" -ln -s ~/.oh-my-zsh/zshrc ~/.zshrc +echo "Using the Oh My Zsh template file and adding it to ~/.zshrc" +cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc echo "Time to change your default shell to zsh!" chsh -s /bin/zsh From d1a9efc4e2f054a549787ebba8a1ccced2ec15eb Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Tue, 1 Sep 2009 07:52:43 -0700 Subject: [PATCH 057/518] Updating README to instruct people to copy the .zshrc template file versus symlinking it. --- README.textile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.textile b/README.textile index 305df4f..bf40869 100644 --- a/README.textile +++ b/README.textile @@ -15,11 +15,11 @@ h3. The manual way @git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh@ -2. Symlink the zsh config with: +2. Create a new zsh config by copying the zsh template we've provided. *NOTE*: If you already have a ~/.zshrc file, you should back it up. @cp ~/.zshrc ~/.zshrc.orig@ in case you want to go back to your original settings. - @ln -s ~/.oh-my-zsh/zshrc ~/.zshrc@ + @cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc@ 3. Set zsh as your default shell: From 1978c04daac2bc207c6a12ca05d94aeaefba029c Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Tue, 1 Sep 2009 20:34:58 -0700 Subject: [PATCH 058/518] Trying out some zsh-fu. Using the for x (*.zsh) source approach --- 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 d6382c9..b931f55 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -2,4 +2,4 @@ # Load all of the config files in ~/oh-my-zsh that end in .zsh # TIP: Add files you don't want in git to .gitignore -for i in $ZSH/*.zsh; do source $i; done; +for config_file ($ZSH/*.zsh) source $config_file From 71c59eaf8554f1677f88423065596f39eb41973f Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Tue, 1 Sep 2009 20:46:48 -0700 Subject: [PATCH 059/518] Moving bindings into their own file. Updating aliases after moving out bindings --- aliases.zsh | 9 ++------- key-bindings.zsh | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 7 deletions(-) create mode 100644 key-bindings.zsh diff --git a/aliases.zsh b/aliases.zsh index e27cd03..eef321d 100644 --- a/aliases.zsh +++ b/aliases.zsh @@ -25,15 +25,10 @@ alias rfind='find . -name *.rb | xargs grep -n' alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' -bindkey '\ew' kill-region - -bindkey -s '\el' "ls\n" -bindkey -s '\e.' "..\n" - alias et='mate . &' alias ett='mate app config lib db public spec test Rakefile Capfile Todo &' alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' -bindkey "^[[A" history-beginning-search-backward -bindkey "^[[B" history-beginning-search-forward + + diff --git a/key-bindings.zsh b/key-bindings.zsh new file mode 100644 index 0000000..20caad1 --- /dev/null +++ b/key-bindings.zsh @@ -0,0 +1,14 @@ +# TODO: Explain what some of this does.. +autoload -U compinit +compinit +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 +bindkey "^[[H" beginning-of-line +bindkey "^[[1~" beginning-of-line +bindkey "^[[F" end-of-line +bindkey "^[[4~" end-of-line +bindkey ' ' magic-space # also do history expansion on space \ No newline at end of file From 1875755f0a7aee1649b4778959cd9eeced725e01 Mon Sep 17 00:00:00 2001 From: mwilliams Date: Thu, 3 Sep 2009 14:45:23 -0400 Subject: [PATCH 060/518] Adding more useful aliases for Git. --- aliases.zsh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/aliases.zsh b/aliases.zsh index eef321d..253c2ac 100644 --- a/aliases.zsh +++ b/aliases.zsh @@ -12,7 +12,16 @@ alias ...='cd ../..' alias _='sudo' #alias g='grep -in' + alias g='git' +alias gst='git status' +alias gl='git pull' +alias gp='git push' +alias gd='git diff | mate' +alias gc='git commit -v' +alias gca='git commit -v -a' +alias gb='git branch' +alias gba='git branch -a' alias history='fc -l 1' From 4c69833eb1e8050a5b081d31b4c2873a18ee30f6 Mon Sep 17 00:00:00 2001 From: Jamie van Dyke Date: Sun, 6 Sep 2009 13:19:33 +0100 Subject: [PATCH 061/518] added case-insensitive auto completion --- completion.zsh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/completion.zsh b/completion.zsh index e0edc76..dff71cf 100644 --- a/completion.zsh +++ b/completion.zsh @@ -11,6 +11,9 @@ compinit zmodload -i zsh/complist +## case-insensitive (all),partial-word and then substring completion +zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' + zstyle ':completion:*' list-colors '' zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts ) From b67961d812c7f403aea223f40410bfc34f706b05 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 7 Sep 2009 09:11:34 -0700 Subject: [PATCH 062/518] Updating install process to copy your current environments PATH and adding it to the bottom of ~/.zshrc. --- templates/zshrc.zsh-template | 5 ++--- tools/install.sh | 3 +++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template index 6aae140..b8da514 100644 --- a/templates/zshrc.zsh-template +++ b/templates/zshrc.zsh-template @@ -5,7 +5,6 @@ export ZSH=$HOME/.oh-my-zsh # Look in ~/.oh-my-zsh/themes/ export ZSH_THEME="robbyrussell" -# Customize to your needs... -#export PATH=~/bin:/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/sbin:/opt/local/lib/postgresql83/bin - source $ZSH/oh-my-zsh.sh + +# Customize to your needs... diff --git a/tools/install.sh b/tools/install.sh index 05b3a52..5c9f559 100644 --- a/tools/install.sh +++ b/tools/install.sh @@ -18,6 +18,9 @@ fi echo "Using the Oh My Zsh template file and adding it to ~/.zshrc" cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc +echo "Copying your current PATH and adding it to the end of ~/.zshrc for you." +echo "export PATH=$PATH" >> ~/.zshrc + echo "Time to change your default shell to zsh!" chsh -s /bin/zsh From 86925121069b2b33be6f3b76034ebcae98b14592 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 7 Sep 2009 09:18:40 -0700 Subject: [PATCH 063/518] Updating the name of the rake and capistrano task cache file to append a ~ to the end of the filename so it's easier to ignore in rails git projects. [#1] --- rake_completion.zsh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/rake_completion.zsh b/rake_completion.zsh index a94b488..239fe15 100644 --- a/rake_completion.zsh +++ b/rake_completion.zsh @@ -1,7 +1,7 @@ _rake_does_task_list_need_generating () { - if [ ! -f .rake_tasks ]; then return 0; + if [ ! -f .rake_tasks~ ]; then return 0; else - accurate=$(stat -f%m .rake_tasks) + accurate=$(stat -f%m .rake_tasks~) changed=$(stat -f%m Rakefile) return $(expr $accurate '>=' $changed) fi @@ -10,19 +10,19 @@ _rake_does_task_list_need_generating () { _rake () { if [ -f Rakefile ]; then if _rake_does_task_list_need_generating; then - echo "\nGenerating .rake_tasks..." > /dev/stderr - rake --silent --tasks | cut -d " " -f 2 > .rake_tasks + echo "\nGenerating .rake_tasks~..." > /dev/stderr + rake --silent --tasks | cut -d " " -f 2 > .rake_tasks~ fi - compadd `cat .rake_tasks` + compadd `cat .rake_tasks~` fi } compdef _rake rake function _cap_does_task_list_need_generating () { - if [ ! -f .cap_tasks ]; then return 0; + if [ ! -f .cap_tasks~ ]; then return 0; else - accurate=$(stat -f%m .cap_tasks) + accurate=$(stat -f%m .cap_tasks~) changed=$(stat -f%m config/deploy.rb) return $(expr $accurate '>=' $changed) fi @@ -31,11 +31,11 @@ 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 + echo "\nGenerating .cap_tasks~..." > /dev/stderr cap show_tasks -q | cut -d " " -f 1 | sed -e '/^ *$/D' -e '1,2D' -> .cap_tasks +> .cap_tasks~ fi - compadd `cat .cap_tasks` + compadd `cat .cap_tasks~` fi } From 85a4e3028990b6583253308ada3d456c291487d7 Mon Sep 17 00:00:00 2001 From: Christopher Sexton Date: Mon, 14 Sep 2009 12:42:53 -0400 Subject: [PATCH 064/518] Added risto theme and made git.zsh themable * git.zsh is now themable: * git_prompt_info() now will look in the following variables for formatting strings: * ZSH_THEME_GIT_PROMPT_PREFIX - Prefix for the prompt (before the branch name) * ZSH_THEME_GIT_PROMPT_SUFFIX - The very end of the prompt * ZSH_THEME_GIT_PROMPT_DIRTY - Displayed when the branch is dirty * ZSH_THEME_GIT_PROMPT_CLEAN - Displayed when the branch is clean * Updated geoffgarside, robbyrussell, and maran to work with new git theme * Added the Risto theme, which is very similar to a number of bash prompts, and allows me to use zsh in with out my co-workers knowing I have the advantage. Think of it as a ninja theme. --- git.zsh | 16 +++++++++++++--- themes/geoffgarside.zsh-theme | 3 +++ themes/maran.zsh-theme | 5 ++++- themes/risto.zsh-theme | 6 ++++++ themes/robbyrussell.zsh-theme | 5 +++++ 5 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 themes/risto.zsh-theme diff --git a/git.zsh b/git.zsh index b8fd1f0..591b778 100644 --- a/git.zsh +++ b/git.zsh @@ -1,16 +1,26 @@ +# +ZSH_THEME_GIT_PROMPT_PREFIX="git:(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")" +ZSH_THEME_GIT_PROMPT_DIRTY="*" +ZSH_THEME_GIT_PROMPT_CLEAN="" + # get the name of the branch we are on function git_prompt_info() { if [[ -d .git ]]; then ref=$(git symbolic-ref HEAD 2> /dev/null) || return branch=${ref#refs/heads/} - CURRENT_BRANCH="git:(%{$fg[red]%}${branch}%{$fg[blue]%})%{$reset_color%}$(parse_git_dirty)" + CURRENT_BRANCH="$ZSH_THEME_GIT_PROMPT_PREFIX${branch}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX" else CURRENT_BRANCH='' fi echo $CURRENT_BRANCH } - parse_git_dirty () { - [[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]] && echo " %{$fg[yellow]%}✗%{$reset_color%}" + if [[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]]; then + echo "$ZSH_THEME_GIT_PROMPT_DIRTY" + else + echo "$ZSH_THEME_GIT_PROMPT_CLEAN" + fi } + diff --git a/themes/geoffgarside.zsh-theme b/themes/geoffgarside.zsh-theme index 38733d9..675ec72 100644 --- a/themes/geoffgarside.zsh-theme +++ b/themes/geoffgarside.zsh-theme @@ -1,2 +1,5 @@ # PROMPT="[%*] %n:%c $(git_prompt_info)%(!.#.$) " PROMPT='[%*] %{$fg[cyan]%}%n%{$reset_color%}:%{$fg[green]%}%c%{$reset_color%}$(git_prompt_info) %(!.#.$) ' + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[yellow]%}git:(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}" diff --git a/themes/maran.zsh-theme b/themes/maran.zsh-theme index 7523696..0f6e3b6 100644 --- a/themes/maran.zsh-theme +++ b/themes/maran.zsh-theme @@ -1,3 +1,6 @@ # Theme with full path names and hostname # Handy if you work on different servers all the time; -PROMPT='%{$fg[cyan]%}%n%{$reset_color%}@$fg[yellow]%}%M:%{$fg[green]%}%/%{$reset_color%} $(git_prompt_info) %(!.#.$) ' \ No newline at end of file +PROMPT='%{$fg[cyan]%}%n%{$reset_color%}@$fg[yellow]%}%M:%{$fg[green]%}%/%{$reset_color%} $(git_prompt_info) %(!.#.$) ' + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[cyan]%}git:(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}" diff --git a/themes/risto.zsh-theme b/themes/risto.zsh-theme new file mode 100644 index 0000000..cb773a6 --- /dev/null +++ b/themes/risto.zsh-theme @@ -0,0 +1,6 @@ +# -*- sh -*- vim:set ft=sh ai et sw=4 sts=4: +# It might be bash like, but I can't have my co-workers knowing I use zsh +PROMPT='%{$fg[green]%}%n@%m:%{$fg_bold[blue]%}%2~ $(git_prompt_info)%{$reset_color%}%(!.#.$) ' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[red]%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="›%{$reset_color%}" diff --git a/themes/robbyrussell.zsh-theme b/themes/robbyrussell.zsh-theme index d45796f..7b524e8 100644 --- a/themes/robbyrussell.zsh-theme +++ b/themes/robbyrussell.zsh-theme @@ -1 +1,6 @@ PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" From ff8e99beef3c61b66b3d3537634fcc6e07644ef7 Mon Sep 17 00:00:00 2001 From: Christopher Sexton Date: Mon, 14 Sep 2009 13:06:47 -0400 Subject: [PATCH 065/518] Adding a little documentation for the git themes --- git.zsh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/git.zsh b/git.zsh index 591b778..faf543f 100644 --- a/git.zsh +++ b/git.zsh @@ -1,4 +1,9 @@ -# +# Varables for themeing the git info prompt: +# ZSH_THEME_GIT_PROMPT_PREFIX - Prefix at the very beginning of the prompt, before the branch name +# ZSH_THEME_GIT_PROMPT_SUFFIX - At the very end of the prompt +# ZSH_THEME_GIT_PROMPT_DIRTY - Text to display if the branch is dirty +# ZSH_THEME_GIT_PROMPT_CLEAN - Text to display if the branch is clean + ZSH_THEME_GIT_PROMPT_PREFIX="git:(" ZSH_THEME_GIT_PROMPT_SUFFIX=")" ZSH_THEME_GIT_PROMPT_DIRTY="*" From 8176645e8231955a7e1a385da9251efd2ddda5c7 Mon Sep 17 00:00:00 2001 From: James Cox Date: Tue, 22 Sep 2009 16:39:53 +0100 Subject: [PATCH 066/518] some helpers to make directory traversal go easier.... --- aliases.zsh | 6 +++++- directories.zsh | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 directories.zsh diff --git a/aliases.zsh b/aliases.zsh index 253c2ac..cd17781 100644 --- a/aliases.zsh +++ b/aliases.zsh @@ -10,6 +10,7 @@ alias .='pwd' alias ...='cd ../..' alias _='sudo' +alias ss='sudo su -' #alias g='grep -in' @@ -26,7 +27,10 @@ alias gba='git branch -a' alias history='fc -l 1' alias ls='ls -F' -alias ll='ls -al' +alias ll='ls -alr' +alias l='ls' +alias ll='ls -l' +alias sl=ls # often screw this up alias sgem='sudo gem' diff --git a/directories.zsh b/directories.zsh new file mode 100644 index 0000000..32b8014 --- /dev/null +++ b/directories.zsh @@ -0,0 +1,38 @@ +# Changing/making/removing directory + + +alias ..='cd ..' +alias cd..='cd ..' +alias cd...='cd ../..' +alias cd....='cd ../../..' +alias cd.....='cd ../../../..' +alias cd/='cd /' + +alias 1='cd -' +alias 2='cd +2' +alias 3='cd +3' +alias 4='cd +4' +alias 5='cd +5' +alias 6='cd +6' +alias 7='cd +7' +alias 8='cd +8' +alias 9='cd +9' + +cd () { + if [[ "x$*" == "x..." ]]; then + cd ../.. + elif [[ "x$*" == "x...." ]]; then + cd ../../.. + elif [[ "x$*" == "x....." ]]; then + cd ../../.. + elif [[ "x$*" == "x......" ]]; then + cd ../../../.. + else + builtin cd "$@" + fi +} + +alias md='mkdir -p' +alias rd=rmdir + +alias d='dirs -v' \ No newline at end of file From 1b784bbf4d2ce470ade3d0c2963c349a5a7af9cf Mon Sep 17 00:00:00 2001 From: James Cox Date: Tue, 22 Sep 2009 16:41:22 +0100 Subject: [PATCH 067/518] make correction work; this is a nicer way of handling typos in commands --- correction.zsh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 correction.zsh diff --git a/correction.zsh b/correction.zsh new file mode 100644 index 0000000..c9fecb0 --- /dev/null +++ b/correction.zsh @@ -0,0 +1,6 @@ +setopt correct_all + +alias man='nocorrect man' +alias mv='nocorrect mv' +alias mysql='nocorrect mysql' +alias mv='nocorrect mv' From a9f21b381cd855bc2fe79cb7b8f472d9f41f6bfa Mon Sep 17 00:00:00 2001 From: Christopher Sexton Date: Tue, 22 Sep 2009 14:38:24 -0400 Subject: [PATCH 068/518] Improved git prompt handling * Improved speed, the first time cd'ing into a git repo the prompt returns much faster (for me at least). * Prompt is now decorated in nested folders within a git repo. No longer check for the '.git' folder. --- git.zsh | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/git.zsh b/git.zsh index faf543f..bcf3ed7 100644 --- a/git.zsh +++ b/git.zsh @@ -11,16 +11,10 @@ ZSH_THEME_GIT_PROMPT_CLEAN="" # get the name of the branch we are on function git_prompt_info() { - if [[ -d .git ]]; then - ref=$(git symbolic-ref HEAD 2> /dev/null) || return - branch=${ref#refs/heads/} - CURRENT_BRANCH="$ZSH_THEME_GIT_PROMPT_PREFIX${branch}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX" - else - CURRENT_BRANCH='' - fi - - echo $CURRENT_BRANCH + ref=$(git-symbolic-ref HEAD 2> /dev/null) || return + echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX" } + parse_git_dirty () { if [[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]]; then echo "$ZSH_THEME_GIT_PROMPT_DIRTY" From 9f0df188f4dd820d2f72f8095619709e62808ff5 Mon Sep 17 00:00:00 2001 From: Christopher Sexton Date: Tue, 22 Sep 2009 14:48:55 -0400 Subject: [PATCH 069/518] Git 1.6 support `git-symbolic-ref` needs to be `git symbolic-ref` --- git.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git.zsh b/git.zsh index bcf3ed7..9409c92 100644 --- a/git.zsh +++ b/git.zsh @@ -11,7 +11,7 @@ ZSH_THEME_GIT_PROMPT_CLEAN="" # get the name of the branch we are on function git_prompt_info() { - ref=$(git-symbolic-ref HEAD 2> /dev/null) || return + ref=$(git symbolic-ref HEAD 2> /dev/null) || return echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX" } From 2b61a2aa3a15de60503dd1e78fbee7fb8e6580a3 Mon Sep 17 00:00:00 2001 From: James Cox Date: Tue, 22 Sep 2009 23:01:55 +0100 Subject: [PATCH 070/518] add in xterms / title hacks --- xterms.zsh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 xterms.zsh diff --git a/xterms.zsh b/xterms.zsh new file mode 100644 index 0000000..17c6a10 --- /dev/null +++ b/xterms.zsh @@ -0,0 +1,16 @@ +# Specific to xterms, such as OS X terminal + +if [[ "${TERM}" == xterm* ]]; then + unset TMOUT + + precmd () { + print -Pn "\033]0;%n@%m %~\007" + #print -Pn "\033]0;%n@%m%# %~ %l %w :: %T\a" ## or use this + } + + preexec () { + print -Pn "\033]0;%n@%m <$1> %~\007" + #print -Pn "\033]0;%n@%m%# <$1> %~ %l %w :: %T\a" ## or use this + } + +fi \ No newline at end of file From 7d511379c1eace3363433352a9e38831785d2e5e Mon Sep 17 00:00:00 2001 From: James Cox Date: Tue, 22 Sep 2009 23:02:18 +0100 Subject: [PATCH 071/518] minimalist --- themes/imajes.zsh-theme | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 themes/imajes.zsh-theme diff --git a/themes/imajes.zsh-theme b/themes/imajes.zsh-theme new file mode 100644 index 0000000..88c35b6 --- /dev/null +++ b/themes/imajes.zsh-theme @@ -0,0 +1,5 @@ +# Found on the ZshWiki +# http://zshwiki.org/home/config/prompt +# + +PROMPT="%{$fg[red]%}%%%{$reset_color%} " \ No newline at end of file From 89d86d869c298642e809dfa7530b7ef2539cd07f Mon Sep 17 00:00:00 2001 From: James Cox Date: Tue, 22 Sep 2009 23:27:28 +0100 Subject: [PATCH 072/518] some todo notes, take @chris2's titlebar improvements and poke at completions --- README.textile | 4 ++++ completion.zsh | 11 +++++++---- key-bindings.zsh | 22 +++++++++++++++++++++- xterms.zsh | 37 +++++++++++++++++++++---------------- 4 files changed, 53 insertions(+), 21 deletions(-) diff --git a/README.textile b/README.textile index bf40869..851a5ab 100644 --- a/README.textile +++ b/README.textile @@ -59,3 +59,7 @@ h3. Send us your theme! I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory. +h3. Todo from imajes: + +* need to make the title bar support git folder +* \ No newline at end of file diff --git a/completion.zsh b/completion.zsh index dff71cf..c993620 100644 --- a/completion.zsh +++ b/completion.zsh @@ -1,6 +1,8 @@ +## fixme - the load process here seems a bit bizarre + setopt noautomenu -setopt COMPLETE_IN_WORD -setopt ALWAYS_TO_END +setopt complete_in_word +setopt always_to_end unsetopt flowcontrol @@ -17,9 +19,10 @@ zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l: zstyle ':completion:*' list-colors '' zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts ) -unsetopt MENU_COMPLETE -setopt AUTO_MENU +#unsetopt MENU_COMPLETE +#setopt AUTO_MENU +# should this be in keybindings? bindkey -M menuselect '^o' accept-and-infer-next-history zstyle ':completion:*:*:*:*:*' menu yes select diff --git a/key-bindings.zsh b/key-bindings.zsh index 20caad1..43082ae 100644 --- a/key-bindings.zsh +++ b/key-bindings.zsh @@ -11,4 +11,24 @@ bindkey "^[[H" beginning-of-line bindkey "^[[1~" beginning-of-line bindkey "^[[F" end-of-line bindkey "^[[4~" end-of-line -bindkey ' ' magic-space # also do history expansion on space \ No newline at end of file +bindkey ' ' magic-space # also do history expansion on space + + +# consider emacs keybindings: + +#bindkey -e ## emacs key bindings +# +#bindkey '^[[A' up-line-or-search +#bindkey '^[[B' down-line-or-search +#bindkey '^[^[[C' emacs-forward-word +#bindkey '^[^[[D' emacs-backward-word +# +#bindkey -s '^X^Z' '%-^M' +#bindkey '^[e' expand-cmd-path +#bindkey '^[^I' reverse-menu-complete +#bindkey '^X^N' accept-and-infer-next-history +#bindkey '^W' kill-region +#bindkey '^I' complete-word +## Fix weird sequence that rxvt produces +#bindkey -s '^[[Z' '\t' +# \ No newline at end of file diff --git a/xterms.zsh b/xterms.zsh index 17c6a10..fef9787 100644 --- a/xterms.zsh +++ b/xterms.zsh @@ -1,16 +1,21 @@ -# Specific to xterms, such as OS X terminal - -if [[ "${TERM}" == xterm* ]]; then - unset TMOUT - - precmd () { - print -Pn "\033]0;%n@%m %~\007" - #print -Pn "\033]0;%n@%m%# %~ %l %w :: %T\a" ## or use this - } - - preexec () { - print -Pn "\033]0;%n@%m <$1> %~\007" - #print -Pn "\033]0;%n@%m%# <$1> %~ %l %w :: %T\a" ## or use this - } - -fi \ No newline at end of file +case "$TERM" in + xterm*|rxvt*) + preexec () { + print -Pn "\e]0;%n@%m: $1\a" # xterm + } + precmd () { + print -Pn "\e]0;%n@%m: %~\a" # xterm + } + ;; + screen*) + preexec () { + local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} + echo -ne "\ek$CMD\e\\" + print -Pn "\e]0;%n@%m: $1\a" # xterm + } + precmd () { + echo -ne "\ekzsh\e\\" + print -Pn "\e]0;%n@%m: %~\a" # xterm + } + ;; +esac \ No newline at end of file From 8fe67686dba78a273b058f7f7e3d26c286d269f2 Mon Sep 17 00:00:00 2001 From: James Cox Date: Tue, 22 Sep 2009 23:36:25 +0100 Subject: [PATCH 073/518] would rather store history in $HOME and double size --- history.zsh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/history.zsh b/history.zsh index a093aa2..b2c8c03 100644 --- a/history.zsh +++ b/history.zsh @@ -7,9 +7,8 @@ setopt HIST_IGNORE_DUPS ## Command history configuration # -HISTFILE=$ZSH/log/.zsh_history -HISTSIZE=2500 -SAVEHIST=2500 +HISTFILE=$HOME/.zsh_history +HISTSIZE=5000 +SAVEHIST=5000 setopt hist_ignore_dups # ignore duplication command history list setopt share_history # share command history data - From fff31c33bcb5d98fbceb84ef0341c366c2b1da46 Mon Sep 17 00:00:00 2001 From: Gary Blessington Date: Tue, 22 Sep 2009 16:09:20 -0700 Subject: [PATCH 074/518] Added a new theme --- themes/garyblessington.zsh-theme | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 themes/garyblessington.zsh-theme diff --git a/themes/garyblessington.zsh-theme b/themes/garyblessington.zsh-theme new file mode 100644 index 0000000..9431be6 --- /dev/null +++ b/themes/garyblessington.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{%{$fg[cyan]%}%c%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}% %{$reset_color%}: ' + +ZSH_THEME_GIT_PROMPT_PREFIX="(%{$fg[blue]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[red]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" From 556ee4198f26731c85bfdd40ee1a2edfee755cb5 Mon Sep 17 00:00:00 2001 From: James Cox Date: Wed, 23 Sep 2009 00:44:57 +0100 Subject: [PATCH 075/518] tidy up history --- history.zsh | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/history.zsh b/history.zsh index b2c8c03..356b649 100644 --- a/history.zsh +++ b/history.zsh @@ -1,10 +1,3 @@ -# History stuff. -setopt HIST_VERIFY -setopt INC_APPEND_HISTORY -setopt SHARE_HISTORY -setopt EXTENDED_HISTORY -setopt HIST_IGNORE_DUPS - ## Command history configuration # HISTFILE=$HOME/.zsh_history @@ -12,3 +5,8 @@ HISTSIZE=5000 SAVEHIST=5000 setopt hist_ignore_dups # ignore duplication command history list setopt share_history # share command history data + +setopt hist_verify +setopt inc_append_history +setopt extended_history +setopt hist_expire_dups_first From 1f05826afb13f3caafce091e438294e7939c57cf Mon Sep 17 00:00:00 2001 From: James Cox Date: Wed, 23 Sep 2009 00:45:15 +0100 Subject: [PATCH 076/518] misc useful --- misc.zsh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 misc.zsh diff --git a/misc.zsh b/misc.zsh new file mode 100644 index 0000000..c368cff --- /dev/null +++ b/misc.zsh @@ -0,0 +1,6 @@ +## smart urls +autoload -U url-quote-magic +zle -N self-insert url-quote-magic + +## file rename magick +bindkey "^[m" copy-prev-shell-word \ No newline at end of file From 93af38f154174f8af9e2aa71a1a64bdc640c3655 Mon Sep 17 00:00:00 2001 From: James Cox Date: Wed, 23 Sep 2009 00:49:00 +0100 Subject: [PATCH 077/518] further refactorings --- .gitignore | 2 +- completion.zsh | 9 ++++++++- directories.zsh | 2 +- key-bindings.zsh | 2 ++ prompt.zsh | 17 +++++------------ 5 files changed, 17 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index 56d0a21..e807409 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ +locals.zsh log/.zsh_history - projects.zsh diff --git a/completion.zsh b/completion.zsh index c993620..795903d 100644 --- a/completion.zsh +++ b/completion.zsh @@ -19,7 +19,7 @@ zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l: zstyle ':completion:*' list-colors '' zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts ) -#unsetopt MENU_COMPLETE +unsetopt MENU_COMPLETE #setopt AUTO_MENU # should this be in keybindings? @@ -31,3 +31,10 @@ zstyle ':completion:*:*:*:*:*' menu yes select zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01' zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w" zstyle ':completion:*:*:(ssh|scp):*:*' hosts `sed 's/^\([^ ,]*\).*$/\1/' ~/.ssh/known_hosts` + + +#complete on history +# zstyle ':completion:*:history-words' stop yes +# zstyle ':completion:*:history-words' remove-all-dups yes +# zstyle ':completion:*:history-words' list false +# zstyle ':completion:*:history-words' menu yes \ No newline at end of file diff --git a/directories.zsh b/directories.zsh index 32b8014..31d5336 100644 --- a/directories.zsh +++ b/directories.zsh @@ -1,5 +1,5 @@ # Changing/making/removing directory - +setopt auto_name_dirs alias ..='cd ..' alias cd..='cd ..' diff --git a/key-bindings.zsh b/key-bindings.zsh index 43082ae..2fae6d0 100644 --- a/key-bindings.zsh +++ b/key-bindings.zsh @@ -1,6 +1,8 @@ # TODO: Explain what some of this does.. autoload -U compinit compinit + +bindkey -e bindkey '\ew' kill-region bindkey -s '\el' "ls\n" bindkey -s '\e.' "..\n" diff --git a/prompt.zsh b/prompt.zsh index 31c33fe..3968968 100644 --- a/prompt.zsh +++ b/prompt.zsh @@ -1,19 +1,12 @@ export PAGER=less export LC_CTYPE=en_US.UTF-8 -bindkey -e +# speed stuff. -# Directory stuff. -setopt AUTO_NAME_DIRS - -# Speed stuff. - -#setopt NO_BEEP -setopt AUTO_CD -setopt MULTIOS -setopt CDABLEVARS - -bindkey -e +#setopt no_beep +setopt auto_cd +setopt multios +setopt cdablevarS if [[ x$WINDOW != x ]] then From b6d778201bae29d4b713f3651f500df10312f5d1 Mon Sep 17 00:00:00 2001 From: James Cox Date: Wed, 23 Sep 2009 01:18:15 +0100 Subject: [PATCH 078/518] more fixes, more or less have this as i want --- directories.zsh | 2 ++ functions.zsh | 1 + key-bindings.zsh | 5 +++++ misc.zsh | 5 ++++- 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/directories.zsh b/directories.zsh index 31d5336..56d7a23 100644 --- a/directories.zsh +++ b/directories.zsh @@ -1,5 +1,7 @@ # Changing/making/removing directory setopt auto_name_dirs +setopt auto_pushd +setopt pushd_ignore_dups alias ..='cd ..' alias cd..='cd ..' diff --git a/functions.zsh b/functions.zsh index e3891f6..2fb096d 100644 --- a/functions.zsh +++ b/functions.zsh @@ -1,3 +1,4 @@ +## fixme, i duplicated this in xterms - oops function title { if [[ $TERM == "screen" ]]; then # Use these two for GNU Screen: diff --git a/key-bindings.zsh b/key-bindings.zsh index 2fae6d0..87e47ba 100644 --- a/key-bindings.zsh +++ b/key-bindings.zsh @@ -9,6 +9,11 @@ bindkey -s '\e.' "..\n" bindkey '^r' history-incremental-search-backward bindkey "^[[5~" up-line-or-history bindkey "^[[6~" down-line-or-history + +# make search up and down work, so partially type and hit up/down to find relevant stuff +bindkey '^[[A' up-line-or-search +bindkey '^[[B' down-line-or-search + bindkey "^[[H" beginning-of-line bindkey "^[[1~" beginning-of-line bindkey "^[[F" end-of-line diff --git a/misc.zsh b/misc.zsh index c368cff..fab4be9 100644 --- a/misc.zsh +++ b/misc.zsh @@ -3,4 +3,7 @@ autoload -U url-quote-magic zle -N self-insert url-quote-magic ## file rename magick -bindkey "^[m" copy-prev-shell-word \ No newline at end of file +bindkey "^[m" copy-prev-shell-word + +## jobs +setopt long_list_jobs \ No newline at end of file From 1304baf9f9a18818246d1609be9da27f8ff79406 Mon Sep 17 00:00:00 2001 From: James Cox Date: Wed, 23 Sep 2009 01:20:08 +0100 Subject: [PATCH 079/518] add in refcard note --- README.textile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.textile b/README.textile index 851a5ab..1735e15 100644 --- a/README.textile +++ b/README.textile @@ -42,6 +42,9 @@ TODO: Update this.. ** Take a look at the "current themes":http://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with Oh My Zsh. * much much more.. +h2. Useful +the "refcard":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty tasty for tips. + h3. Uninstalling If you want to uninstall it, just run @uninstall_oh_my_zsh@ from the command line and it'll remove itself and revert you to bash (or your previous zsh config). From 2759586aae5bea9ec38bb16403381c73589776ed Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Tue, 22 Sep 2009 20:36:28 -0700 Subject: [PATCH 080/518] Using compctl instead of compdef to resolve Issue #1 --- rake_completion.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rake_completion.zsh b/rake_completion.zsh index 239fe15..c425a62 100644 --- a/rake_completion.zsh +++ b/rake_completion.zsh @@ -17,7 +17,7 @@ _rake () { fi } -compdef _rake rake +compctl -K _rake rake function _cap_does_task_list_need_generating () { if [ ! -f .cap_tasks~ ]; then return 0; @@ -39,4 +39,4 @@ function _cap () { fi } -compdef _cap cap +compctl -K _cap cap From 8debd097fbea09032c27b2c8d69d8430d7ea0551 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Wed, 23 Sep 2009 07:43:36 -0700 Subject: [PATCH 081/518] Moving all zsh config options into a lib/ subdirectory to make way for some upcoming changes to directory structure and configuration options --- aliases.zsh => lib/aliases.zsh | 0 colors.zsh => lib/colors.zsh | 0 completion.zsh => lib/completion.zsh | 0 functions.zsh => lib/functions.zsh | 0 git.zsh => lib/git.zsh | 0 grep.zsh => lib/grep.zsh | 0 history.zsh => lib/history.zsh | 0 key-bindings.zsh => lib/key-bindings.zsh | 0 prompt.zsh => lib/prompt.zsh | 0 rake_completion.zsh => lib/rake_completion.zsh | 0 oh-my-zsh.sh | 2 +- 11 files changed, 1 insertion(+), 1 deletion(-) rename aliases.zsh => lib/aliases.zsh (100%) rename colors.zsh => lib/colors.zsh (100%) rename completion.zsh => lib/completion.zsh (100%) rename functions.zsh => lib/functions.zsh (100%) rename git.zsh => lib/git.zsh (100%) rename grep.zsh => lib/grep.zsh (100%) rename history.zsh => lib/history.zsh (100%) rename key-bindings.zsh => lib/key-bindings.zsh (100%) rename prompt.zsh => lib/prompt.zsh (100%) rename rake_completion.zsh => lib/rake_completion.zsh (100%) diff --git a/aliases.zsh b/lib/aliases.zsh similarity index 100% rename from aliases.zsh rename to lib/aliases.zsh diff --git a/colors.zsh b/lib/colors.zsh similarity index 100% rename from colors.zsh rename to lib/colors.zsh diff --git a/completion.zsh b/lib/completion.zsh similarity index 100% rename from completion.zsh rename to lib/completion.zsh diff --git a/functions.zsh b/lib/functions.zsh similarity index 100% rename from functions.zsh rename to lib/functions.zsh diff --git a/git.zsh b/lib/git.zsh similarity index 100% rename from git.zsh rename to lib/git.zsh diff --git a/grep.zsh b/lib/grep.zsh similarity index 100% rename from grep.zsh rename to lib/grep.zsh diff --git a/history.zsh b/lib/history.zsh similarity index 100% rename from history.zsh rename to lib/history.zsh diff --git a/key-bindings.zsh b/lib/key-bindings.zsh similarity index 100% rename from key-bindings.zsh rename to lib/key-bindings.zsh diff --git a/prompt.zsh b/lib/prompt.zsh similarity index 100% rename from prompt.zsh rename to lib/prompt.zsh diff --git a/rake_completion.zsh b/lib/rake_completion.zsh similarity index 100% rename from rake_completion.zsh rename to lib/rake_completion.zsh diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index b931f55..40c73cb 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -2,4 +2,4 @@ # Load all of the config files in ~/oh-my-zsh that end in .zsh # TIP: Add files you don't want in git to .gitignore -for config_file ($ZSH/*.zsh) source $config_file +for config_file ($ZSH/lib/*.zsh) source $config_file From 107322c2e86db377cc8260958a4b6e26ea849a67 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Wed, 23 Sep 2009 08:02:58 -0700 Subject: [PATCH 082/518] Moving some example files into custom/ --- projects.zsh-example => custom/example.zsh | 0 oh-my-zsh.sh | 3 +++ 2 files changed, 3 insertions(+) rename projects.zsh-example => custom/example.zsh (100%) diff --git a/projects.zsh-example b/custom/example.zsh similarity index 100% rename from projects.zsh-example rename to custom/example.zsh diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 40c73cb..6e73519 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -3,3 +3,6 @@ # Load all of the config files in ~/oh-my-zsh that end in .zsh # TIP: Add files you don't want in git to .gitignore for config_file ($ZSH/lib/*.zsh) source $config_file + +# Load all of your custom configurations from custom/ +for config_file ($ZSH/custom/*.zsh) source $config_file From ef9ce1e221e048b83edbe4def12d4b3a5c1c6dcb Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Wed, 23 Sep 2009 08:03:38 -0700 Subject: [PATCH 083/518] Updating .gitignore to ignore everything but the example.zsh file in custom/ --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 56d0a21..e79e3ee 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ log/.zsh_history -projects.zsh +custom/*.zsh +# !custom/example.zsh + From 19a08f15d6a09b8c7a1f4f306abe6e61bdf7d95d Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Wed, 23 Sep 2009 08:05:05 -0700 Subject: [PATCH 084/518] not ignoring example.zsh --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e79e3ee..551ba0b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ log/.zsh_history custom/*.zsh -# !custom/example.zsh +!custom/example.zsh From 1dc73537320ff86b7597fc097ad82c58aeba0566 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Wed, 23 Sep 2009 08:06:32 -0700 Subject: [PATCH 085/518] Updating README to mention custom/ directory --- README.textile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.textile b/README.textile index bf40869..787a905 100644 --- a/README.textile +++ b/README.textile @@ -42,6 +42,10 @@ TODO: Update this.. ** Take a look at the "current themes":http://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with Oh My Zsh. * much much more.. +h3. Customization + +If you want to override any of the default behavior, just add a new file (ending in @.zsh@) into the @custom/@ directory. + h3. Uninstalling If you want to uninstall it, just run @uninstall_oh_my_zsh@ from the command line and it'll remove itself and revert you to bash (or your previous zsh config). From ff545e6934b70945e778495f613d41a43681b662 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Wed, 23 Sep 2009 08:07:02 -0700 Subject: [PATCH 086/518] Bumping up history to 10k commands --- lib/history.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/history.zsh b/lib/history.zsh index a093aa2..f7b63b7 100644 --- a/lib/history.zsh +++ b/lib/history.zsh @@ -8,8 +8,8 @@ setopt HIST_IGNORE_DUPS ## Command history configuration # HISTFILE=$ZSH/log/.zsh_history -HISTSIZE=2500 -SAVEHIST=2500 +HISTSIZE=10000 +SAVEHIST=10000 setopt hist_ignore_dups # ignore duplication command history list setopt share_history # share command history data From f363c025daa1dbf684f80ab7e29d34dbd5fb9d89 Mon Sep 17 00:00:00 2001 From: James Cox Date: Wed, 23 Sep 2009 16:14:43 +0100 Subject: [PATCH 087/518] put everything in lib --- correction.zsh => lib/correction.zsh | 0 directories.zsh => lib/directories.zsh | 0 misc.zsh => lib/misc.zsh | 0 xterms.zsh => lib/termsupport.zsh | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename correction.zsh => lib/correction.zsh (100%) rename directories.zsh => lib/directories.zsh (100%) rename misc.zsh => lib/misc.zsh (100%) rename xterms.zsh => lib/termsupport.zsh (100%) diff --git a/correction.zsh b/lib/correction.zsh similarity index 100% rename from correction.zsh rename to lib/correction.zsh diff --git a/directories.zsh b/lib/directories.zsh similarity index 100% rename from directories.zsh rename to lib/directories.zsh diff --git a/misc.zsh b/lib/misc.zsh similarity index 100% rename from misc.zsh rename to lib/misc.zsh diff --git a/xterms.zsh b/lib/termsupport.zsh similarity index 100% rename from xterms.zsh rename to lib/termsupport.zsh From 700a3f0badf89fc9bb5a8f54b5fd2e14aed2823d Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Wed, 23 Sep 2009 17:11:45 -0700 Subject: [PATCH 088/518] Adding a script to check for upgrades --- tools/check_for_upgrade.sh | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tools/check_for_upgrade.sh diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh new file mode 100644 index 0000000..feb999a --- /dev/null +++ b/tools/check_for_upgrade.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +current_epoch=$(($(date +%s) / 60 / 60 / 24)) + +if [ -f ~/.zsh-update ] +then + source ~/.zsh-update + epoch_diff=$(($current_epoch - $LAST_EPOCH)) + if [ $epoch_diff -gt 6 ] + 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 + /bin/sh $ZSH/tools/upgrade.sh + fi + + # Set the last epoch to the current so that we don't ask for another week + echo "LAST_EPOCH=${current_epoch}" > ~/.zsh-update + fi +else + # TODO: refactor this so remove duplicates + # Create the ~/.zsh-update file with the current epoch info + echo "LAST_EPOCH=${current_epoch}" > ~/.zsh-update +fi + + From 00a190bc017283ef8ab8c725c5f9fe93f030e31e Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Wed, 23 Sep 2009 17:12:19 -0700 Subject: [PATCH 089/518] Oh My Zsh gets a weekly auto-updater... the future is now! --- lib/misc.zsh | 10 +++++++++- templates/zshrc.zsh-template | 3 +++ tools/upgrade.sh | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/misc.zsh b/lib/misc.zsh index fab4be9..8d67272 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -6,4 +6,12 @@ zle -N self-insert url-quote-magic bindkey "^[m" copy-prev-shell-word ## jobs -setopt long_list_jobs \ No newline at end of file +setopt long_list_jobs + +# Check for updates on initial load... +if [ "$DISABLE_AUTO_UPDATE" = "true" ] +then + return +else + /bin/sh $ZSH/tools/check_for_upgrade.sh +fi diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template index b8da514..787dc3d 100644 --- a/templates/zshrc.zsh-template +++ b/templates/zshrc.zsh-template @@ -5,6 +5,9 @@ export ZSH=$HOME/.oh-my-zsh # Look in ~/.oh-my-zsh/themes/ export ZSH_THEME="robbyrussell" +# Comment this out to disable weekly auto-update checks +# export DISABLE_AUTO_UPDATE="false" + source $ZSH/oh-my-zsh.sh # Customize to your needs... diff --git a/tools/upgrade.sh b/tools/upgrade.sh index fa07daa..f749404 100644 --- a/tools/upgrade.sh +++ b/tools/upgrade.sh @@ -1,5 +1,5 @@ current_path=`pwd` echo "Upgrading Oh My Zsh" ( cd $ZSH && git pull origin master ) -echo "Done." +echo "Hooray! Oh My Zsh has been updated and/or is at the current version. \nAny new updates will be reflected when you start your next terminal session." cd $current_path \ No newline at end of file From eddab5034cb19caa99a1a0e381de4dcf63ef0fe0 Mon Sep 17 00:00:00 2001 From: Jon Evans Date: Thu, 1 Oct 2009 08:55:07 +0100 Subject: [PATCH 090/518] run update check *after* running custom configuration scripts. This means we are running it after $PATH has potentially been set up, which means it's more likely that commands like "git" will be found --- lib/misc.zsh | 8 -------- oh-my-zsh.sh | 8 ++++++++ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/misc.zsh b/lib/misc.zsh index 8d67272..a01627d 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -7,11 +7,3 @@ bindkey "^[m" copy-prev-shell-word ## jobs setopt long_list_jobs - -# Check for updates on initial load... -if [ "$DISABLE_AUTO_UPDATE" = "true" ] -then - return -else - /bin/sh $ZSH/tools/check_for_upgrade.sh -fi diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 6e73519..4b59596 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -6,3 +6,11 @@ for config_file ($ZSH/lib/*.zsh) source $config_file # Load all of your custom configurations from custom/ for config_file ($ZSH/custom/*.zsh) source $config_file + +# Check for updates on initial load... +if [ "$DISABLE_AUTO_UPDATE" = "true" ] +then + return +else + /bin/sh $ZSH/tools/check_for_upgrade.sh +fi From 172bb418304eb4c513f8ae43dd72ff201a046b38 Mon Sep 17 00:00:00 2001 From: Markus Prinz Date: Sat, 3 Oct 2009 19:34:49 +0200 Subject: [PATCH 091/518] Add my (cypher's) zsh prompt Based on Evan's prompt, it uses colors, shows the exit status of the last command if it was non-zero, and displays "#" when running with elevated privileges --- themes/cypher.zsh-theme | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 themes/cypher.zsh-theme diff --git a/themes/cypher.zsh-theme b/themes/cypher.zsh-theme new file mode 100644 index 0000000..36633da --- /dev/null +++ b/themes/cypher.zsh-theme @@ -0,0 +1,4 @@ +# Based on evan's prompt +# Shows the exit status of the last command if non-zero +# Uses "#" instead of "»" when running with elevated privileges +PROMPT="%m %B%F{red}::%b %B%F{green}%3~%(0?. . %F{red}%? )%F{red}%(0!.#.»)%b%F{white} " From 60e99779d5658841026acb84483a7deeb6851246 Mon Sep 17 00:00:00 2001 From: Markus Prinz Date: Sat, 3 Oct 2009 19:48:29 +0200 Subject: [PATCH 092/518] Make "-" an alias for "cd -" (cd back to previous directory) --- lib/aliases.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index cd17781..6f6c614 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -8,6 +8,7 @@ alias ss='thin --stats "/thin/stats" start' alias mr='mate CHANGELOG app config db lib public script spec test' alias .='pwd' alias ...='cd ../..' +alias -- -='cd -' alias _='sudo' alias ss='sudo su -' From 8a8343b0de31f3adcd366fc0b9c113ee009287f0 Mon Sep 17 00:00:00 2001 From: xiongchiamiov Date: Mon, 5 Oct 2009 19:23:12 -0700 Subject: [PATCH 093/518] add xiong-chiamiov theme --- themes/xiong-chiamiov.zsh-theme | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 themes/xiong-chiamiov.zsh-theme diff --git a/themes/xiong-chiamiov.zsh-theme b/themes/xiong-chiamiov.zsh-theme new file mode 100644 index 0000000..7c4c2e4 --- /dev/null +++ b/themes/xiong-chiamiov.zsh-theme @@ -0,0 +1,6 @@ +# user, host, full path, and time/date +# on two lines for easier vgrepping +# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888 +PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%a %b %d, %I:%M"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%} +%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B]>%{\e[0m%}%b ' +PS2=$' \e[0;34m%}%B>%{\e[0m%}%b ' From 9890bbb24d23e82bbc8f8fea9ffe423fc3eda12a Mon Sep 17 00:00:00 2001 From: Markus Prinz Date: Tue, 6 Oct 2009 23:19:43 +0200 Subject: [PATCH 094/518] Fix cypher's theme for older zsh versions --- themes/cypher.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/cypher.zsh-theme b/themes/cypher.zsh-theme index 36633da..45df53d 100644 --- a/themes/cypher.zsh-theme +++ b/themes/cypher.zsh-theme @@ -1,4 +1,4 @@ # Based on evan's prompt # Shows the exit status of the last command if non-zero # Uses "#" instead of "»" when running with elevated privileges -PROMPT="%m %B%F{red}::%b %B%F{green}%3~%(0?. . %F{red}%? )%F{red}%(0!.#.»)%b%F{white} " +PROMPT="%m %{${fg_bold[red]}%}:: %{${fg[green]}%}%3~%(0?. . ${fg[red]}%? )%{${fg[blue]}%}»%{${reset_color}%} " From cea6040c305d1e645f497e59133c2c5434a430ef Mon Sep 17 00:00:00 2001 From: Matthew Donoughe Date: Wed, 7 Oct 2009 20:01:52 +0000 Subject: [PATCH 095/518] allow case sensitivity to be toggled --- lib/completion.zsh | 7 ++++++- templates/zshrc.zsh-template | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index 795903d..11f6724 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -14,7 +14,12 @@ compinit zmodload -i zsh/complist ## case-insensitive (all),partial-word and then substring completion -zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' +if [ "$CASE_SENSITIVE" ]; then + zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' + unset CASE_SENSITIVE +else + zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' +fi zstyle ':completion:*' list-colors '' zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts ) diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template index 787dc3d..7c43303 100644 --- a/templates/zshrc.zsh-template +++ b/templates/zshrc.zsh-template @@ -5,6 +5,9 @@ export ZSH=$HOME/.oh-my-zsh # Look in ~/.oh-my-zsh/themes/ export ZSH_THEME="robbyrussell" +# Set to this to use case-sensitive completion +# export CASE_SENSITIVE="true" + # Comment this out to disable weekly auto-update checks # export DISABLE_AUTO_UPDATE="false" From c1444a96129b665bcbf67e9baad9bf7257c7c650 Mon Sep 17 00:00:00 2001 From: Matthew Donoughe Date: Wed, 7 Oct 2009 20:08:54 +0000 Subject: [PATCH 096/518] should probably use the value of CASE_INSENSITIVE --- lib/completion.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index 11f6724..68ca3b4 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -14,7 +14,7 @@ compinit zmodload -i zsh/complist ## case-insensitive (all),partial-word and then substring completion -if [ "$CASE_SENSITIVE" ]; then +if [ "x$CASE_SENSITIVE" = "xtrue" ]; then zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' unset CASE_SENSITIVE else @@ -42,4 +42,4 @@ zstyle ':completion:*:*:(ssh|scp):*:*' hosts `sed 's/^\([^ ,]*\).*$/\1/' ~/.ssh/ # zstyle ':completion:*:history-words' stop yes # zstyle ':completion:*:history-words' remove-all-dups yes # zstyle ':completion:*:history-words' list false -# zstyle ':completion:*:history-words' menu yes \ No newline at end of file +# zstyle ':completion:*:history-words' menu yes From 069e9b8752ddaa85b0e21b8033f0c2075ac42f11 Mon Sep 17 00:00:00 2001 From: Wesley Moore Date: Thu, 8 Oct 2009 09:50:32 +1100 Subject: [PATCH 097/518] Add my own theme --- themes/wezm.zsh-theme | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 themes/wezm.zsh-theme diff --git a/themes/wezm.zsh-theme b/themes/wezm.zsh-theme new file mode 100644 index 0000000..1881343 --- /dev/null +++ b/themes/wezm.zsh-theme @@ -0,0 +1,7 @@ +PROMPT='$(git_prompt_info)%(?,,%{${fg_bold[white]}%}[%?]%{$reset_color%} )%{$fg[yellow]%}%#%{$reset_color%} ' +RPROMPT='%{$fg[green]%}%~%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[blue]%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%})%{$fg[red]%}⚡%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" From fafa15676a8f398c95b909f719b07349df2c7d5b Mon Sep 17 00:00:00 2001 From: Gerhard Lazu Date: Sun, 11 Oct 2009 09:50:08 +0100 Subject: [PATCH 098/518] Replaced source with . --- tools/check_for_upgrade.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh index feb999a..5c212b6 100644 --- a/tools/check_for_upgrade.sh +++ b/tools/check_for_upgrade.sh @@ -4,7 +4,7 @@ current_epoch=$(($(date +%s) / 60 / 60 / 24)) if [ -f ~/.zsh-update ] then - source ~/.zsh-update + . ~/.zsh-update epoch_diff=$(($current_epoch - $LAST_EPOCH)) if [ $epoch_diff -gt 6 ] then From 7705ffaf0c38438b0e007f75553876cf5ae99803 Mon Sep 17 00:00:00 2001 From: Gerhard Lazu Date: Sun, 11 Oct 2009 09:56:22 +0100 Subject: [PATCH 099/518] Added git diff for vim (gdv) --- lib/aliases.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index 6f6c614..c4388fe 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -20,6 +20,7 @@ alias gst='git status' alias gl='git pull' alias gp='git push' alias gd='git diff | mate' +alias gdv='git diff -w "$@" | vim -R -' alias gc='git commit -v' alias gca='git commit -v -a' alias gb='git branch' From fdac2b3f04f7b2c42bab7c7f6b53d8c8d32b62a5 Mon Sep 17 00:00:00 2001 From: Gerhard Lazu Date: Sun, 11 Oct 2009 14:49:24 +0100 Subject: [PATCH 100/518] Added ack-grep searching --- lib/aliases.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index c4388fe..5f3582b 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -37,6 +37,7 @@ alias sl=ls # often screw this up alias sgem='sudo gem' alias rfind='find . -name *.rb | xargs grep -n' +alias afind='ack-grep -il' alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' From 788c9af05684f4b9e39e7f15de2c06c4c8291cbd Mon Sep 17 00:00:00 2001 From: Gerhard Lazu Date: Sun, 11 Oct 2009 15:09:10 +0100 Subject: [PATCH 101/518] Added more aliases for Rails & git --- lib/aliases.zsh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index 5f3582b..273bcc6 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -2,8 +2,14 @@ alias pu='pushd' alias po='popd' alias sc='ruby script/console' +alias sdb='ruby script/dbconsole' alias sd='ruby script/server --debugger' alias ss='thin --stats "/thin/stats" start' +alias sg='ruby script/generate' +alias sd='ruby script/destroy' +alias sp='ruby script/plugin' +alias ssp='ruby script/spec' +alias rdbm='rake db:migrate' alias mr='mate CHANGELOG app config db lib public script spec test' alias .='pwd' @@ -18,6 +24,7 @@ alias ss='sudo su -' alias g='git' alias gst='git status' alias gl='git pull' +alias gup='git fetch && git rebase' alias gp='git push' alias gd='git diff | mate' alias gdv='git diff -w "$@" | vim -R -' @@ -25,6 +32,8 @@ alias gc='git commit -v' alias gca='git commit -v -a' alias gb='git branch' alias gba='git branch -a' +alias gdb='git branch -d' +alias gcount='git shortlog -sn' alias history='fc -l 1' From 6ef2e1f51c42a1e8b96f5ffc8a5b8f1e715d1738 Mon Sep 17 00:00:00 2001 From: To1ne Date: Mon, 12 Oct 2009 21:17:36 +0200 Subject: [PATCH 102/518] Added some comment --- lib/aliases.zsh | 28 ++++++++++++++++++++++------ lib/completion.zsh | 5 ++--- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index cd17781..da61685 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -1,19 +1,23 @@ +#!/bin/zsh + +# Push and pop directories on directory stack alias pu='pushd' alias po='popd' -alias sc='ruby script/console' -alias sd='ruby script/server --debugger' +# Ruby related alias ss='thin --stats "/thin/stats" start' -alias mr='mate CHANGELOG app config db lib public script spec test' +# Basic directory operations alias .='pwd' alias ...='cd ../..' +# Super user alias _='sudo' alias ss='sudo su -' #alias g='grep -in' +# Git related alias g='git' alias gst='git status' alias gl='git pull' @@ -24,24 +28,36 @@ alias gca='git commit -v -a' alias gb='git branch' alias gba='git branch -a' +# Show history alias history='fc -l 1' -alias ls='ls -F' +# List direcory contents +#alias ls='ls -F' # This messes up colors on my linux system +alias l='ls -la' alias ll='ls -alr' -alias l='ls' -alias ll='ls -l' alias sl=ls # often screw this up alias sgem='sudo gem' +# Find ruby file alias rfind='find . -name *.rb | xargs grep -n' +# Git and svn mix alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' +# TextMate alias et='mate . &' alias ett='mate app config lib db public spec test Rakefile Capfile Todo &' alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' +## Ruby related +# Ruby scripts +alias sc='ruby script/console' +alias sd='ruby script/server --debugger' + +# Editor Ruby file in TextMate +alias mr='mate CHANGELOG app config db lib public script spec test' + diff --git a/lib/completion.zsh b/lib/completion.zsh index 795903d..7a564d6 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -14,7 +14,7 @@ compinit zmodload -i zsh/complist ## case-insensitive (all),partial-word and then substring completion -zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' +#zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' zstyle ':completion:*' list-colors '' zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts ) @@ -32,8 +32,7 @@ zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z- zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w" zstyle ':completion:*:*:(ssh|scp):*:*' hosts `sed 's/^\([^ ,]*\).*$/\1/' ~/.ssh/known_hosts` - -#complete on history +# Complete on history # zstyle ':completion:*:history-words' stop yes # zstyle ':completion:*:history-words' remove-all-dups yes # zstyle ':completion:*:history-words' list false From b6c8ef41b1b8ed129f473377d4b8d549fa93b5b9 Mon Sep 17 00:00:00 2001 From: James Salter Date: Tue, 13 Oct 2009 12:34:53 +1100 Subject: [PATCH 103/518] added gcp alias (git cherry-pick) --- lib/aliases.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index 273bcc6..f7d6221 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -34,6 +34,7 @@ alias gb='git branch' alias gba='git branch -a' alias gdb='git branch -d' alias gcount='git shortlog -sn' +alias gcp='git cherry-pick' alias history='fc -l 1' From c03aab51645fa7448f4e92b09ab00e2de989010e Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 12 Oct 2009 19:13:52 -0700 Subject: [PATCH 104/518] Renaming script/server --debug alias to ssd to avoid conflict. Closes #1 --- lib/aliases.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index f7d6221..304bafd 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -3,7 +3,7 @@ alias po='popd' alias sc='ruby script/console' alias sdb='ruby script/dbconsole' -alias sd='ruby script/server --debugger' +alias ssd='ruby script/server --debugger' alias ss='thin --stats "/thin/stats" start' alias sg='ruby script/generate' alias sd='ruby script/destroy' From 11d0b3c2ac271f8d87629c73c9832f135558a6a2 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Fri, 16 Oct 2009 22:12:31 +0200 Subject: [PATCH 105/518] extended path variable, temporary --- oh-my-zsh.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 6e73519..dd6ffec 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -6,3 +6,6 @@ for config_file ($ZSH/lib/*.zsh) source $config_file # Load all of your custom configurations from custom/ for config_file ($ZSH/custom/*.zsh) source $config_file + + +export PATH=~/bin:/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/sbin:/opt/local/lib/postgresql83/bin From 886d97f41e72b8662232a2c6b196fb60508e4f67 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Fri, 16 Oct 2009 23:03:50 +0200 Subject: [PATCH 106/518] Removed useless else --- tools/install.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) mode change 100644 => 100755 tools/install.sh diff --git a/tools/install.sh b/tools/install.sh old mode 100644 new mode 100755 index 5c9f559..5a7c009 --- a/tools/install.sh +++ b/tools/install.sh @@ -2,11 +2,11 @@ if [ -d ~/.oh-my-zsh ] then echo "You already have Oh My Zsh installed. You'll need to remove ~/.oh-my-zsh if you want to install" exit -else - echo "Cloning Oh My Zsh..." - /usr/bin/env git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh fi +echo "Cloning Oh My Zsh..." +/usr/bin/env git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh + echo "Looking for an existing zsh config..." if [ -f ~/.zshrc ] || [ -h ~/.zshrc ] then @@ -27,4 +27,3 @@ chsh -s /bin/zsh echo "Hooray! Oh My Zsh has been installed." /bin/zsh source ~/.zshrc - From 83907294d640d910968cf9152d11c6a5ab3205f5 Mon Sep 17 00:00:00 2001 From: Sean McCleary Date: Fri, 23 Oct 2009 11:59:24 -0700 Subject: [PATCH 107/518] Fixed issue #19 'Rake not auto completing'. The stat command syntax that was being used was not correct. Or at least on my machine. See man page for the stat command --- lib/rake_completion.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/rake_completion.zsh b/lib/rake_completion.zsh index c425a62..9ee8213 100644 --- a/lib/rake_completion.zsh +++ b/lib/rake_completion.zsh @@ -1,8 +1,8 @@ _rake_does_task_list_need_generating () { if [ ! -f .rake_tasks~ ]; then return 0; else - accurate=$(stat -f%m .rake_tasks~) - changed=$(stat -f%m Rakefile) + accurate=$(stat -c "%n" .rake_tasks~) + changed=$(stat -c "%n" Rakefile) return $(expr $accurate '>=' $changed) fi } From b865f2ab38156c33bdb1d6ffc6df56b3f2d53588 Mon Sep 17 00:00:00 2001 From: Erik Kastner Date: Mon, 26 Oct 2009 00:47:23 -0400 Subject: [PATCH 108/518] adding homebrew completions - and a function dir --- functions/_brew | 61 +++++++++++++++++++++++++++++++++++++++++++++++++ oh-my-zsh.sh | 3 +++ 2 files changed, 64 insertions(+) create mode 100644 functions/_brew diff --git a/functions/_brew b/functions/_brew new file mode 100644 index 0000000..91397bf --- /dev/null +++ b/functions/_brew @@ -0,0 +1,61 @@ +#compdef brew + +# copied from _fink + +_brew_all_formulae() { + formulae=(`brew search`) +} + +_brew_installed_formulae() { + installed_formulae=(`brew list`) +} + +local -a _1st_arguments +_1st_arguments=( + 'install:install a formula' + 'remove:remove a formula' + 'search:search for a formula (/regex/ or string)' + 'list:list files in a formula or not-installed formulae' + 'link:link a formula' + 'unlink:unlink a formula' + 'home:visit the homepage of a formula or the brew project' + 'info:information about a formula' + 'prune:remove dead links' + 'update:freshen up links' + 'log:git commit log for a formula' + 'create:create a new formula' + 'edit:edit a formula' +) + +local expl +local -a formula installed_formulae + +_arguments \ + '(-v --verbose)'{-v,--verbose}'[verbose]' \ + '(--version)--version[version information]' \ + '(--prefix)--prefix[where brew lives on this system]' \ + '(--cache)--cache[brew cache]' \ + '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "brew subcommand" _1st_arguments + return +fi + +case "$words[1]" in + list) + _arguments \ + '(--unbrewed)--unbrewed[files in brew --prefix not controlled by brew]' \ + '1: :->forms' && return 0 + + if [[ "$state" == forms ]]; then + _brew_installed_formulae + _requested installed_formulae expl 'installed formulae' compadd -a installed_formulae + fi ;; + install|home|log|info) + _brew_all_formulae + _wanted formulae expl 'all formulae' compadd -a formulae ;; + remove|edit|xo) + _brew_installed_formulae + _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae ;; +esac diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 4b59596..eadf02d 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -1,5 +1,8 @@ # Initializes Oh My Zsh +# add a function path +fpath=($ZSH/functions $fpath) + # Load all of the config files in ~/oh-my-zsh that end in .zsh # TIP: Add files you don't want in git to .gitignore for config_file ($ZSH/lib/*.zsh) source $config_file From 52f5eb20058796f3f4673b07c0f2c0463ed817b8 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 26 Oct 2009 09:09:00 -0700 Subject: [PATCH 109/518] Merging conflict. 788c9af05684f4b9e39e7f15de2c06c4c8291cbd --- lib/aliases.zsh | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index 304bafd..69f2eee 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -55,6 +55,3 @@ alias et='mate . &' alias ett='mate app config lib db public spec test Rakefile Capfile Todo &' alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' - - - From 552e4b864a09ff25e8ef1cad169dae193201f214 Mon Sep 17 00:00:00 2001 From: Gerhard Lazu Date: Mon, 12 Oct 2009 07:56:55 +0100 Subject: [PATCH 110/518] ll doesn't show hidden files, lsa does --- lib/aliases.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index 69f2eee..d340c08 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -39,6 +39,7 @@ alias gcp='git cherry-pick' alias history='fc -l 1' alias ls='ls -F' +alias lsa='ls -lah' alias ll='ls -alr' alias l='ls' alias ll='ls -l' From 1779bedd5362c13e3096873c01c167f329e8fca8 Mon Sep 17 00:00:00 2001 From: Gerhard Lazu Date: Wed, 14 Oct 2009 14:12:17 +0100 Subject: [PATCH 111/518] lsa now uses coloring --- lib/aliases.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index d340c08..855dfeb 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -39,7 +39,7 @@ alias gcp='git cherry-pick' alias history='fc -l 1' alias ls='ls -F' -alias lsa='ls -lah' +alias lsa='ls -lahG' alias ll='ls -alr' alias l='ls' alias ll='ls -l' From fd6861b8cd3ff12162d89babf27945a50d739ca8 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 26 Oct 2009 09:24:37 -0700 Subject: [PATCH 112/518] Fixing some conflict residue that I missed in a commit/merge: --- lib/aliases.zsh | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index c4428d4..9286773 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -10,6 +10,8 @@ alias sd='ruby script/destroy' alias sp='ruby script/plugin' alias ssp='ruby script/spec' alias rdbm='rake db:migrate' +alias sc='ruby script/console' +alias sd='ruby script/server --debugger' # Basic directory operations alias .='pwd' @@ -62,15 +64,6 @@ alias et='mate . &' alias ett='mate app config lib db public spec test Rakefile Capfile Todo &' alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' -<<<<<<< HEAD:lib/aliases.zsh -======= - -## Ruby related -# Ruby scripts -alias sc='ruby script/console' -alias sd='ruby script/server --debugger' # Editor Ruby file in TextMate -alias mr='mate CHANGELOG app config db lib public script spec test' - ->>>>>>> 886d97f41e72b8662232a2c6b196fb60508e4f67:lib/aliases.zsh +alias mr='mate CHANGELOG app config db lib public script spec test' \ No newline at end of file From 607ba0736b40c089546201f6324bf694c99ace2b Mon Sep 17 00:00:00 2001 From: meh Date: Mon, 26 Oct 2009 18:35:51 +0100 Subject: [PATCH 113/518] Added darkblod theme. --- themes/darkblood.zsh-theme | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 themes/darkblood.zsh-theme diff --git a/themes/darkblood.zsh-theme b/themes/darkblood.zsh-theme new file mode 100644 index 0000000..8a00c34 --- /dev/null +++ b/themes/darkblood.zsh-theme @@ -0,0 +1,9 @@ +# meh. Dark Blood Rewind, a new beginning. + +PROMPT=$'${fg[red]}┌[${fg_bold[white]}%n${reset_color}${fg[red]}@${fg_bold[white]}%m${reset_color}${fg[red]}] [${fg_bold[white]}/dev/%y${reset_color}${fg[red]}] $(git_prompt_info)%(?,,${fg[red]}[${fg_bold[white]}%?${reset_color}${fg[red]}]) +${fg[red]}└[${fg_bold[white]}%~${reset_color}${fg[red]}]>${reset_color} ' +PS2=$' ${fg[red]}|>${reset_color} ' + +ZSH_THEME_GIT_PROMPT_PREFIX="${fg[red]}[${fg_bold[white]}" +ZSH_THEME_GIT_PROMPT_SUFFIX="${reset_color}${fg[red]}] " +ZSH_THEME_GIT_PROMPT_DIRTY=" ${fg[red]}⚡${reset_color}" From c103c15e5c9a51c655d503256bfd005530e5baf6 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Thu, 29 Oct 2009 23:18:19 +0100 Subject: [PATCH 114/518] Added my theme --- themes/tonotdo.zsh-theme | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 themes/tonotdo.zsh-theme diff --git a/themes/tonotdo.zsh-theme b/themes/tonotdo.zsh-theme new file mode 100644 index 0000000..6e864f5 --- /dev/null +++ b/themes/tonotdo.zsh-theme @@ -0,0 +1,7 @@ +# Inspired by many other themes +PROMPT='[%*] %{$fg[cyan]%}%n%{$fg[magenta]%}➜%{$fg[green]%}%3~$(git_prompt_info)%{$reset_color%} » ' + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg_bold[blue]%}git(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}✗%{$fg[blue]%})" From f11366374c233fd37b7df3b98240cac96ee1cf9f Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Fri, 30 Oct 2009 18:15:45 +0100 Subject: [PATCH 115/518] Small fix, probably the smallest possible --- themes/tonotdo.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/tonotdo.zsh-theme b/themes/tonotdo.zsh-theme index 6e864f5..1562b72 100644 --- a/themes/tonotdo.zsh-theme +++ b/themes/tonotdo.zsh-theme @@ -1,5 +1,5 @@ # Inspired by many other themes -PROMPT='[%*] %{$fg[cyan]%}%n%{$fg[magenta]%}➜%{$fg[green]%}%3~$(git_prompt_info)%{$reset_color%} » ' +PROMPT='[%*] %{$fg[cyan]%}%n%{$fg[magenta]%}➜%{$fg[green]%}%3~$(git_prompt_info)%{$reset_color%}» ' ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg_bold[blue]%}git(%{$fg[red]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="" From 8beb5a50f1e442733a624de73dedff99170b6b71 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Fri, 30 Oct 2009 20:41:38 +0100 Subject: [PATCH 116/518] Skip the git word in this theme --- themes/tonotdo.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/tonotdo.zsh-theme b/themes/tonotdo.zsh-theme index 1562b72..dca6516 100644 --- a/themes/tonotdo.zsh-theme +++ b/themes/tonotdo.zsh-theme @@ -1,7 +1,7 @@ # Inspired by many other themes PROMPT='[%*] %{$fg[cyan]%}%n%{$fg[magenta]%}➜%{$fg[green]%}%3~$(git_prompt_info)%{$reset_color%}» ' -ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg_bold[blue]%}git(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg[red]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="" ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}✗%{$fg[blue]%})" From 83309294df29bba2deaac7a3412eacef5ee89691 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 1 Nov 2009 14:23:03 -0800 Subject: [PATCH 117/518] Adding devlog alias for tailing development.log for Rails --- lib/aliases.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index 9286773..6667a67 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -12,6 +12,7 @@ alias ssp='ruby script/spec' alias rdbm='rake db:migrate' alias sc='ruby script/console' alias sd='ruby script/server --debugger' +alias devlog='tail -f log/development.log' # Basic directory operations alias .='pwd' From e2dba2c3e94115829e9172294410cae4aedc7e96 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Wed, 4 Nov 2009 20:37:18 +0100 Subject: [PATCH 118/518] Joined the appearance so the theme can apply LSCOLORS too --- lib/aliases.zsh | 2 +- lib/appearance.zsh | 34 ++++++++++++++++++++++++++++++++++ lib/colors.zsh | 4 ---- lib/git.zsh | 11 ----------- lib/misc.zsh | 4 ++++ lib/prompt.zsh | 25 ------------------------- 6 files changed, 39 insertions(+), 41 deletions(-) create mode 100644 lib/appearance.zsh delete mode 100644 lib/colors.zsh delete mode 100644 lib/prompt.zsh diff --git a/lib/aliases.zsh b/lib/aliases.zsh index 6667a67..c3a6cf0 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -45,7 +45,7 @@ alias gcp='git cherry-pick' alias history='fc -l 1' # List direcory contents -alias ls='ls -F' +alias ls='ls -F -G' alias lsa='ls -lahG' alias l='ls -la' alias ll='ls -alr' diff --git a/lib/appearance.zsh b/lib/appearance.zsh new file mode 100644 index 0000000..b1f5a8a --- /dev/null +++ b/lib/appearance.zsh @@ -0,0 +1,34 @@ +# Colors +autoload colors; colors; +export LSCOLORS="Gxfxcxdxbxegedabagacad" + +#setopt no_beep +setopt auto_cd +setopt multios +setopt cdablevarS + +if [[ x$WINDOW != x ]] +then + SCREEN_NO="%B$WINDOW%b " +else + SCREEN_NO="" +fi + +# Apply theming defaults +PS1="%n@%m:%~%# " + +# git theming default: Variables for theming the git info prompt +# ZSH_THEME_GIT_PROMPT_PREFIX - Prefix at the very beginning of the prompt, before the branch name +ZSH_THEME_GIT_PROMPT_PREFIX="git:(" +# ZSH_THEME_GIT_PROMPT_SUFFIX - At the very end of the prompt +ZSH_THEME_GIT_PROMPT_SUFFIX=")" +# ZSH_THEME_GIT_PROMPT_DIRTY - Text to display if the branch is dirty +ZSH_THEME_GIT_PROMPT_DIRTY="*" +# ZSH_THEME_GIT_PROMPT_CLEAN - Text to display if the branch is clean +ZSH_THEME_GIT_PROMPT_CLEAN="" + +# Setup the prompt with pretty colors +setopt prompt_subst + +# Load the theme +source "$ZSH/themes/$ZSH_THEME.zsh-theme" \ No newline at end of file diff --git a/lib/colors.zsh b/lib/colors.zsh deleted file mode 100644 index b2b08f9..0000000 --- a/lib/colors.zsh +++ /dev/null @@ -1,4 +0,0 @@ -autoload colors; colors; - -unset LSCOLORS -export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=46;34:cd=43;34:su=41;30:sg=46;30:tw=42;30:ow=43;30' diff --git a/lib/git.zsh b/lib/git.zsh index 9409c92..84a3af0 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -1,14 +1,3 @@ -# Varables for themeing the git info prompt: -# ZSH_THEME_GIT_PROMPT_PREFIX - Prefix at the very beginning of the prompt, before the branch name -# ZSH_THEME_GIT_PROMPT_SUFFIX - At the very end of the prompt -# ZSH_THEME_GIT_PROMPT_DIRTY - Text to display if the branch is dirty -# ZSH_THEME_GIT_PROMPT_CLEAN - Text to display if the branch is clean - -ZSH_THEME_GIT_PROMPT_PREFIX="git:(" -ZSH_THEME_GIT_PROMPT_SUFFIX=")" -ZSH_THEME_GIT_PROMPT_DIRTY="*" -ZSH_THEME_GIT_PROMPT_CLEAN="" - # get the name of the branch we are on function git_prompt_info() { ref=$(git symbolic-ref HEAD 2> /dev/null) || return diff --git a/lib/misc.zsh b/lib/misc.zsh index a01627d..4c17436 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -7,3 +7,7 @@ bindkey "^[m" copy-prev-shell-word ## jobs setopt long_list_jobs + +## pager +export PAGER=less +export LC_CTYPE=en_US.UTF-8 diff --git a/lib/prompt.zsh b/lib/prompt.zsh deleted file mode 100644 index 3968968..0000000 --- a/lib/prompt.zsh +++ /dev/null @@ -1,25 +0,0 @@ -export PAGER=less -export LC_CTYPE=en_US.UTF-8 - -# speed stuff. - -#setopt no_beep -setopt auto_cd -setopt multios -setopt cdablevarS - -if [[ x$WINDOW != x ]] -then - SCREEN_NO="%B$WINDOW%b " -else - SCREEN_NO="" -fi - -PS1="%n@%m:%~%# " - -# Setup the prompt with pretty colors -setopt prompt_subst - -export LSCOLORS="Gxfxcxdxbxegedabagacad" - -source "$ZSH/themes/$ZSH_THEME.zsh-theme" From 1c65ab9dea8caf834d662d3d20e3b8a83ea609b0 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Thu, 5 Nov 2009 20:30:53 +0100 Subject: [PATCH 119/518] added LSCOLORS --- themes/tonotdo.zsh-theme | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/themes/tonotdo.zsh-theme b/themes/tonotdo.zsh-theme index dca6516..f1e9a28 100644 --- a/themes/tonotdo.zsh-theme +++ b/themes/tonotdo.zsh-theme @@ -1,7 +1,12 @@ # Inspired by many other themes -PROMPT='[%*] %{$fg[cyan]%}%n%{$fg[magenta]%}➜%{$fg[green]%}%3~$(git_prompt_info)%{$reset_color%}» ' +PROMPT='[%*] %{$fg[cyan]%}%n%{$fg[magenta]%}➜%{$fg[green]%}%3~%{$(git_prompt_info)%}%{$reset_color%}» ' +# git theming ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg[red]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="" ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}✗%{$fg[blue]%})" + +# LS colors, made with http://geoff.greer.fm/lscolors/ +export LSCOLORS="Gxfxcxdxbxegedabagacad" +export LS_COLORS="di=1;;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 08fcf7dc393d6254fdcd7eef26d3f4ddd1c53a6c Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Thu, 5 Nov 2009 20:44:28 +0100 Subject: [PATCH 120/518] Enabled colors in ls and made it possible to theme them --- lib/aliases.zsh | 3 +-- lib/appearance.zsh | 21 ++++++++++++--------- templates/zshrc.zsh-template | 5 ++++- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index c3a6cf0..88d68e1 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -45,8 +45,7 @@ alias gcp='git cherry-pick' alias history='fc -l 1' # List direcory contents -alias ls='ls -F -G' -alias lsa='ls -lahG' +alias lsa='ls -lah' alias l='ls -la' alias ll='ls -alr' alias sl=ls # often screw this up diff --git a/lib/appearance.zsh b/lib/appearance.zsh index b1f5a8a..c9bd25d 100644 --- a/lib/appearance.zsh +++ b/lib/appearance.zsh @@ -1,6 +1,13 @@ -# Colors +# ls colors autoload colors; colors; export LSCOLORS="Gxfxcxdxbxegedabagacad" +#export LS_COLORS + +# Enable ls colors +if [ "$DISABLE_LS_COLORS" != "true" ] then + # Find the option for using colors in ls, depending on the version: Linux or BSD + ls --color -d . &>/dev/null 2>&1 && alias ls='ls --color=tty' || alias ls='ls -G' +fi #setopt no_beep setopt auto_cd @@ -18,14 +25,10 @@ fi PS1="%n@%m:%~%# " # git theming default: Variables for theming the git info prompt -# ZSH_THEME_GIT_PROMPT_PREFIX - Prefix at the very beginning of the prompt, before the branch name -ZSH_THEME_GIT_PROMPT_PREFIX="git:(" -# ZSH_THEME_GIT_PROMPT_SUFFIX - At the very end of the prompt -ZSH_THEME_GIT_PROMPT_SUFFIX=")" -# ZSH_THEME_GIT_PROMPT_DIRTY - Text to display if the branch is dirty -ZSH_THEME_GIT_PROMPT_DIRTY="*" -# ZSH_THEME_GIT_PROMPT_CLEAN - Text to display if the branch is clean -ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_PREFIX="git:(" # Prefix at the very beginning of the prompt, before the branch name +ZSH_THEME_GIT_PROMPT_SUFFIX=")" # At the very end of the prompt +ZSH_THEME_GIT_PROMPT_DIRTY="*" # Text to display if the branch is dirty +ZSH_THEME_GIT_PROMPT_CLEAN="" # Text to display if the branch is clean # Setup the prompt with pretty colors setopt prompt_subst diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template index 7c43303..d905be0 100644 --- a/templates/zshrc.zsh-template +++ b/templates/zshrc.zsh-template @@ -9,7 +9,10 @@ export ZSH_THEME="robbyrussell" # export CASE_SENSITIVE="true" # Comment this out to disable weekly auto-update checks -# export DISABLE_AUTO_UPDATE="false" +# export DISABLE_AUTO_UPDATE="true" + +# Uncomment following line if you want to disable colors in ls +# export DISABLE_LS_COLORS="true" source $ZSH/oh-my-zsh.sh From bbef2db92b39c41705e0a3f05da525b5b1eb8901 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Thu, 5 Nov 2009 20:48:08 +0100 Subject: [PATCH 121/518] parse error fix --- lib/appearance.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/appearance.zsh b/lib/appearance.zsh index c9bd25d..ffee52b 100644 --- a/lib/appearance.zsh +++ b/lib/appearance.zsh @@ -4,7 +4,8 @@ export LSCOLORS="Gxfxcxdxbxegedabagacad" #export LS_COLORS # Enable ls colors -if [ "$DISABLE_LS_COLORS" != "true" ] then +if [ "$DISABLE_LS_COLORS" != "true" ] +then # Find the option for using colors in ls, depending on the version: Linux or BSD ls --color -d . &>/dev/null 2>&1 && alias ls='ls --color=tty' || alias ls='ls -G' fi From 14a1ce80bbf7362ab2856cdd050714f02649fe3f Mon Sep 17 00:00:00 2001 From: James Adam Date: Tue, 20 Oct 2009 06:24:21 +0800 Subject: [PATCH 122/518] Added my prompt theme, with a tweak to the core oh-my-zsh to support it. My git_prompt_info function not only reports the branch and dirty status, but also whether or not the branch is ahead or behind of the remote, or both. It also switches the prompt colour from green to red if the previous command exited with a non-zero value (i.e. failed). --- lib/termsupport.zsh | 2 ++ themes/lazyatom.zsh-theme | 40 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 themes/lazyatom.zsh-theme diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh index fef9787..ec828c2 100644 --- a/lib/termsupport.zsh +++ b/lib/termsupport.zsh @@ -4,6 +4,7 @@ case "$TERM" in print -Pn "\e]0;%n@%m: $1\a" # xterm } precmd () { + oh_my_zsh_theme_precmd print -Pn "\e]0;%n@%m: %~\a" # xterm } ;; @@ -14,6 +15,7 @@ case "$TERM" in print -Pn "\e]0;%n@%m: $1\a" # xterm } precmd () { + oh_my_zsh_theme_precmd echo -ne "\ekzsh\e\\" print -Pn "\e]0;%n@%m: %~\a" # xterm } diff --git a/themes/lazyatom.zsh-theme b/themes/lazyatom.zsh-theme new file mode 100644 index 0000000..6263bc2 --- /dev/null +++ b/themes/lazyatom.zsh-theme @@ -0,0 +1,40 @@ +git_prompt_info() { + branch=$(git symbolic-ref HEAD 2> /dev/null) || return + git_status="$(git status 2> /dev/null)" + state="" + case $git_status in + *Changed\ but\ not\ updated*) + state="%{$fg[red]%}⚡" + ;;; + *Untracked\ files*) + state="%{$fg[red]%}⚡" + ;;; + esac + + remote="" + case $git_status in + *Your\ branch\ is\ ahead*) + remote="%{$fg[yellow]%}↑" + ;;; + + *Your\ branch\ is\ behind*) + remote="%{$fg[yellow]%}↓" + ;;; + + "Your branch and") + remote="%{$fg[yellow]%}" + ;;; + esac + echo " %{$fg[yellow]%}(${branch#refs/heads/})${remote}${state}" +} + +function oh_my_zsh_theme_precmd() { + local previous_return_value=$?; + prompt="%{$fg[light_gray]%}%c%{$fg[yellow]%}$(git_prompt_info)%{$fg[white]%}" + if test $previous_return_value -eq 0 + then + export PROMPT="%{$fg[green]%}➜ %{$fg[white]%}${prompt}%{$fg[green]%} $%{$fg[white]%} " + else + export PROMPT="%{$fg[red]%}➜ %{$fg[white]%}${prompt}%{$fg[red]%} $%{$fg[white]%} " + fi +} \ No newline at end of file From a21525ba0ccbdf35a0524f6cf7f2025fef578c78 Mon Sep 17 00:00:00 2001 From: James Adam Date: Tue, 20 Oct 2009 06:26:06 +0800 Subject: [PATCH 123/518] Whoops, forgot to include this dummy precmd implementation. --- lib/prompt.zsh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/prompt.zsh b/lib/prompt.zsh index 3968968..19bacac 100644 --- a/lib/prompt.zsh +++ b/lib/prompt.zsh @@ -22,4 +22,8 @@ setopt prompt_subst export LSCOLORS="Gxfxcxdxbxegedabagacad" +function oh_my_zsh_theme_precmd() { + # Blank function; override this in your themes +} + source "$ZSH/themes/$ZSH_THEME.zsh-theme" From e24709a2b80c8f829c8ceb66130a4b3a6cb86261 Mon Sep 17 00:00:00 2001 From: meh Date: Sun, 1 Nov 2009 06:16:24 +0800 Subject: [PATCH 124/518] Fixed darkblood theme as in issue #23. --- themes/darkblood.zsh-theme | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/themes/darkblood.zsh-theme b/themes/darkblood.zsh-theme index 8a00c34..33508fb 100644 --- a/themes/darkblood.zsh-theme +++ b/themes/darkblood.zsh-theme @@ -1,9 +1,9 @@ # meh. Dark Blood Rewind, a new beginning. -PROMPT=$'${fg[red]}┌[${fg_bold[white]}%n${reset_color}${fg[red]}@${fg_bold[white]}%m${reset_color}${fg[red]}] [${fg_bold[white]}/dev/%y${reset_color}${fg[red]}] $(git_prompt_info)%(?,,${fg[red]}[${fg_bold[white]}%?${reset_color}${fg[red]}]) -${fg[red]}└[${fg_bold[white]}%~${reset_color}${fg[red]}]>${reset_color} ' -PS2=$' ${fg[red]}|>${reset_color} ' +PROMPT=$'%{$fg[red]%}┌[%{$fg_bold[white]%}%n%{$reset_color%}%{$fg[red]%}@%{$fg_bold[white]%}%m%{$reset_color%}%{$fg[red]%}] [%{$fg_bold[white]%}/dev/%y%{$reset_color%}%{$fg[red]%}] %{$(git_prompt_info)%}%(?,,%{$fg[red]%}[%{$fg_bold[white]%}%?%{$reset_color%}%{$fg[red]%}]) +%{$fg[red]%}└[%{$fg_bold[white]%}%~%{$reset_color%}%{$fg[red]%}]>%{$reset_color%} ' +PS2=$' %{$fg[red]%}|>%{$reset_color%} ' -ZSH_THEME_GIT_PROMPT_PREFIX="${fg[red]}[${fg_bold[white]}" -ZSH_THEME_GIT_PROMPT_SUFFIX="${reset_color}${fg[red]}] " -ZSH_THEME_GIT_PROMPT_DIRTY=" ${fg[red]}⚡${reset_color}" +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[red]%}[%{$fg_bold[white]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}%{$fg[red]%}] " +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}⚡%{$reset_color%}" From 8f33231823dbf6c68ccc65fbb028fce6ff1efd74 Mon Sep 17 00:00:00 2001 From: meh Date: Fri, 6 Nov 2009 20:55:08 +0800 Subject: [PATCH 125/518] Fixed issue #25. --- lib/git.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/git.zsh b/lib/git.zsh index 9409c92..7b7b370 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -16,7 +16,7 @@ function git_prompt_info() { } parse_git_dirty () { - if [[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]]; then + if [[ $((git status &> /dev/null) | tail -n1) != "nothing to commit (working directory clean)" ]]; then echo "$ZSH_THEME_GIT_PROMPT_DIRTY" else echo "$ZSH_THEME_GIT_PROMPT_CLEAN" From 97c66649485e227aba86b6006a6058a981da5092 Mon Sep 17 00:00:00 2001 From: James Rowe Date: Fri, 16 Oct 2009 12:07:02 +0800 Subject: [PATCH 126/518] Added initial jnrowe theme. --- themes/jnrowe.zsh-theme | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 themes/jnrowe.zsh-theme diff --git a/themes/jnrowe.zsh-theme b/themes/jnrowe.zsh-theme new file mode 100644 index 0000000..7c8a708 --- /dev/null +++ b/themes/jnrowe.zsh-theme @@ -0,0 +1,31 @@ +autoload -U add-zsh-hook +autoload -Uz vcs_info + +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 ' +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 + +prompt_jnrowe_precmd () { + vcs_info + + if [ "${vcs_info_msg_0_}" = "" ]; then + dir_status="%F{2}→%f" + elif [[ $(git diff --cached --name-status 2>/dev/null ) != "" ]]; then + dir_status="%F{1}▶%f" + elif [[ $(git diff --name-status 2>/dev/null ) != "" ]]; then + dir_status="%F{3}▶%f" + else + dir_status="%F{2}▶%f" + 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%} ' + +# vim: set ft=zsh ts=4 sw=4 et: From 286559d18016f0aeaaed96dbea39c71b52c374eb Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 8 Nov 2009 15:24:20 -0800 Subject: [PATCH 127/518] Revert "Fixed issue #19 'Rake not auto completing'. The stat command syntax that was being used was not correct. Or at least on my machine. See man page for the stat command" This reverts commit 83907294d640d910968cf9152d11c6a5ab3205f5. --- lib/rake_completion.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/rake_completion.zsh b/lib/rake_completion.zsh index 9ee8213..c425a62 100644 --- a/lib/rake_completion.zsh +++ b/lib/rake_completion.zsh @@ -1,8 +1,8 @@ _rake_does_task_list_need_generating () { if [ ! -f .rake_tasks~ ]; then return 0; else - accurate=$(stat -c "%n" .rake_tasks~) - changed=$(stat -c "%n" Rakefile) + accurate=$(stat -f%m .rake_tasks~) + changed=$(stat -f%m Rakefile) return $(expr $accurate '>=' $changed) fi } From eb05b61483a9e03866404c903468360cb8df370b Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 8 Nov 2009 15:27:17 -0800 Subject: [PATCH 128/518] Removing gdb alias as it conflicts with an actual command for gdb. Closes #17 --- lib/aliases.zsh | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index 6667a67..ff43e64 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -37,7 +37,6 @@ alias gc='git commit -v' alias gca='git commit -v -a' alias gb='git branch' alias gba='git branch -a' -alias gdb='git branch -d' alias gcount='git shortlog -sn' alias gcp='git cherry-pick' From fc3a3c72b17c0e12ea85094cd8b2575ccf1f2d44 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 8 Nov 2009 15:34:02 -0800 Subject: [PATCH 129/518] Only using the contents of .ssh/known_hosts when the file exists for ssh/scp auto-completion. Closes issue #20 --- lib/completion.zsh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index deeb528..c231ee2 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -22,7 +22,7 @@ else fi zstyle ':completion:*' list-colors '' -zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts ) + unsetopt MENU_COMPLETE #setopt AUTO_MENU @@ -35,7 +35,12 @@ zstyle ':completion:*:*:*:*:*' menu yes select zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01' zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w" -zstyle ':completion:*:*:(ssh|scp):*:*' hosts `sed 's/^\([^ ,]*\).*$/\1/' ~/.ssh/known_hosts` + +# Load known hosts file for auto-completion with ssh and scp commands +if [ -f ~/.ssh/known_hosts ]; then + zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts ) + zstyle ':completion:*:*:(ssh|scp):*:*' hosts `sed 's/^\([^ ,]*\).*$/\1/' ~/.ssh/known_hosts` +fi # Complete on history # zstyle ':completion:*:history-words' stop yes From 5c13930832b3e3bfcfd7b8ea99283ef477903bfd Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 9 Nov 2009 07:33:38 -0800 Subject: [PATCH 130/518] Revert "Whoops, forgot to include this dummy precmd implementation." This reverts commit a21525ba0ccbdf35a0524f6cf7f2025fef578c78. --- lib/prompt.zsh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/prompt.zsh b/lib/prompt.zsh index 19bacac..3968968 100644 --- a/lib/prompt.zsh +++ b/lib/prompt.zsh @@ -22,8 +22,4 @@ setopt prompt_subst export LSCOLORS="Gxfxcxdxbxegedabagacad" -function oh_my_zsh_theme_precmd() { - # Blank function; override this in your themes -} - source "$ZSH/themes/$ZSH_THEME.zsh-theme" From c620408962dd93fe920414eedd8e8e38b241eb08 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 9 Nov 2009 07:33:51 -0800 Subject: [PATCH 131/518] Revert "Added my prompt theme, with a tweak to the core oh-my-zsh to support it. My git_prompt_info function not only reports the branch and dirty status, but also whether or not the branch is ahead or behind of the remote, or both. It also switches the prompt colour from green to red if the previous command exited with a non-zero value (i.e. failed)." This reverts commit 14a1ce80bbf7362ab2856cdd050714f02649fe3f. --- lib/termsupport.zsh | 2 -- themes/lazyatom.zsh-theme | 40 --------------------------------------- 2 files changed, 42 deletions(-) delete mode 100644 themes/lazyatom.zsh-theme diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh index ec828c2..fef9787 100644 --- a/lib/termsupport.zsh +++ b/lib/termsupport.zsh @@ -4,7 +4,6 @@ case "$TERM" in print -Pn "\e]0;%n@%m: $1\a" # xterm } precmd () { - oh_my_zsh_theme_precmd print -Pn "\e]0;%n@%m: %~\a" # xterm } ;; @@ -15,7 +14,6 @@ case "$TERM" in print -Pn "\e]0;%n@%m: $1\a" # xterm } precmd () { - oh_my_zsh_theme_precmd echo -ne "\ekzsh\e\\" print -Pn "\e]0;%n@%m: %~\a" # xterm } diff --git a/themes/lazyatom.zsh-theme b/themes/lazyatom.zsh-theme deleted file mode 100644 index 6263bc2..0000000 --- a/themes/lazyatom.zsh-theme +++ /dev/null @@ -1,40 +0,0 @@ -git_prompt_info() { - branch=$(git symbolic-ref HEAD 2> /dev/null) || return - git_status="$(git status 2> /dev/null)" - state="" - case $git_status in - *Changed\ but\ not\ updated*) - state="%{$fg[red]%}⚡" - ;;; - *Untracked\ files*) - state="%{$fg[red]%}⚡" - ;;; - esac - - remote="" - case $git_status in - *Your\ branch\ is\ ahead*) - remote="%{$fg[yellow]%}↑" - ;;; - - *Your\ branch\ is\ behind*) - remote="%{$fg[yellow]%}↓" - ;;; - - "Your branch and") - remote="%{$fg[yellow]%}" - ;;; - esac - echo " %{$fg[yellow]%}(${branch#refs/heads/})${remote}${state}" -} - -function oh_my_zsh_theme_precmd() { - local previous_return_value=$?; - prompt="%{$fg[light_gray]%}%c%{$fg[yellow]%}$(git_prompt_info)%{$fg[white]%}" - if test $previous_return_value -eq 0 - then - export PROMPT="%{$fg[green]%}➜ %{$fg[white]%}${prompt}%{$fg[green]%} $%{$fg[white]%} " - else - export PROMPT="%{$fg[red]%}➜ %{$fg[white]%}${prompt}%{$fg[red]%} $%{$fg[white]%} " - fi -} \ No newline at end of file From 147f1dc70212662fc60a5c21f87dda6b22993c74 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Mon, 9 Nov 2009 21:38:40 +0100 Subject: [PATCH 132/518] Modifying changes for issue 25, to fix issue 27 --- lib/git.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/git.zsh b/lib/git.zsh index 6ef950f..58d826d 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -5,7 +5,7 @@ function git_prompt_info() { } parse_git_dirty () { - if [[ $((git status &> /dev/null) | tail -n1) != "nothing to commit (working directory clean)" ]]; then + if [[ $((git status 2> /dev/null) | tail -n1) != "nothing to commit (working directory clean)" ]]; then echo "$ZSH_THEME_GIT_PROMPT_DIRTY" else echo "$ZSH_THEME_GIT_PROMPT_CLEAN" From 5246e103c54b7e503cb0c7a715a9d88dc5a4f0e1 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Mon, 9 Nov 2009 22:05:00 +0100 Subject: [PATCH 133/518] Fixed all themes so tab-completion doesn't move the cursor to a weird position --- themes/garyblessington.zsh-theme | 2 +- themes/maran.zsh-theme | 2 +- themes/tonotdo.zsh-theme | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/themes/garyblessington.zsh-theme b/themes/garyblessington.zsh-theme index 9431be6..b4f84a7 100644 --- a/themes/garyblessington.zsh-theme +++ b/themes/garyblessington.zsh-theme @@ -1,4 +1,4 @@ -PROMPT='%{%{$fg[cyan]%}%c%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}% %{$reset_color%}: ' +PROMPT='%{$fg[cyan]%}%c%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}% %{$reset_color%}: ' ZSH_THEME_GIT_PROMPT_PREFIX="(%{$fg[blue]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" diff --git a/themes/maran.zsh-theme b/themes/maran.zsh-theme index 0f6e3b6..6fba046 100644 --- a/themes/maran.zsh-theme +++ b/themes/maran.zsh-theme @@ -1,6 +1,6 @@ # Theme with full path names and hostname # Handy if you work on different servers all the time; -PROMPT='%{$fg[cyan]%}%n%{$reset_color%}@$fg[yellow]%}%M:%{$fg[green]%}%/%{$reset_color%} $(git_prompt_info) %(!.#.$) ' +PROMPT='%{$fg[cyan]%}%n%{$reset_color%}@%{$fg[yellow]%}%M:%{$fg[green]%}%/%{$reset_color%} $(git_prompt_info) %(!.#.$) ' ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[cyan]%}git:(" ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}" diff --git a/themes/tonotdo.zsh-theme b/themes/tonotdo.zsh-theme index f1e9a28..07f149b 100644 --- a/themes/tonotdo.zsh-theme +++ b/themes/tonotdo.zsh-theme @@ -1,5 +1,5 @@ # Inspired by many other themes -PROMPT='[%*] %{$fg[cyan]%}%n%{$fg[magenta]%}➜%{$fg[green]%}%3~%{$(git_prompt_info)%}%{$reset_color%}» ' +PROMPT='[%*] %{$fg[cyan]%}%n%{$fg[magenta]%}➜%{$fg[green]%}%3~$(git_prompt_info)%{$reset_color%}» ' # git theming ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg[red]%}" From e41d7305e55d144c324ba1adf1cf852e576457fc Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Mon, 9 Nov 2009 22:28:17 +0100 Subject: [PATCH 134/518] Improved the LS_COLORS in my tonotdo theme --- themes/tonotdo.zsh-theme | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/themes/tonotdo.zsh-theme b/themes/tonotdo.zsh-theme index 07f149b..2462971 100644 --- a/themes/tonotdo.zsh-theme +++ b/themes/tonotdo.zsh-theme @@ -9,4 +9,13 @@ ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}✗%{$fg[blue]%})" # LS colors, made with http://geoff.greer.fm/lscolors/ export LSCOLORS="Gxfxcxdxbxegedabagacad" -export LS_COLORS="di=1;;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:" +export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:\ + cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:\ + *.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:\ + *.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:\ + *.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:\ + *.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:\ + *.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:\ + *.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:\ + *.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:\ + *.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:' \ No newline at end of file From 80c20c32ddabac0ea590aba394a7b74128521508 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Wed, 11 Nov 2009 17:26:23 +0100 Subject: [PATCH 135/518] LS_COLORS fix for tonotdo theme --- themes/tonotdo.zsh-theme | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/themes/tonotdo.zsh-theme b/themes/tonotdo.zsh-theme index 2462971..de32069 100644 --- a/themes/tonotdo.zsh-theme +++ b/themes/tonotdo.zsh-theme @@ -9,13 +9,4 @@ ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}✗%{$fg[blue]%})" # LS colors, made with http://geoff.greer.fm/lscolors/ export LSCOLORS="Gxfxcxdxbxegedabagacad" -export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:\ - cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:\ - *.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:\ - *.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:\ - *.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:\ - *.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:\ - *.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:\ - *.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:\ - *.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:\ - *.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:' \ No newline at end of file +export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:' \ No newline at end of file From b4712ad693ca38e44e8b1f98308bab152f9c570c Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Wed, 11 Nov 2009 18:14:25 +0100 Subject: [PATCH 136/518] Spiced up the tonotdo theme --- themes/tonotdo.zsh-theme | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/themes/tonotdo.zsh-theme b/themes/tonotdo.zsh-theme index de32069..f46d165 100644 --- a/themes/tonotdo.zsh-theme +++ b/themes/tonotdo.zsh-theme @@ -1,11 +1,11 @@ -# Inspired by many other themes -PROMPT='[%*] %{$fg[cyan]%}%n%{$fg[magenta]%}➜%{$fg[green]%}%3~$(git_prompt_info)%{$reset_color%}» ' +PROMPT='%{$fg_no_bold[cyan]%}%n%{$fg_no_bold[yellow]%}•%{$fg_no_bold[green]%}%3~$(git_prompt_info)%{$reset_color%}» ' +RPROMPT='[%*]' # git theming -ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[magenta]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="" -ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" -ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}✗%{$fg[blue]%})" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[blue]%})" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}⚡%{$fg_bold[blue]%})" # LS colors, made with http://geoff.greer.fm/lscolors/ export LSCOLORS="Gxfxcxdxbxegedabagacad" From 9fde1531f379449faa4f103d8493e8d2665e3055 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Wed, 11 Nov 2009 18:15:33 +0100 Subject: [PATCH 137/518] Spiced up the tonotdo theme, some more --- themes/tonotdo.zsh-theme | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/tonotdo.zsh-theme b/themes/tonotdo.zsh-theme index f46d165..478f01d 100644 --- a/themes/tonotdo.zsh-theme +++ b/themes/tonotdo.zsh-theme @@ -1,8 +1,8 @@ -PROMPT='%{$fg_no_bold[cyan]%}%n%{$fg_no_bold[yellow]%}•%{$fg_no_bold[green]%}%3~$(git_prompt_info)%{$reset_color%}» ' +PROMPT='%{$fg_no_bold[cyan]%}%n%{$fg_no_bold[yellow]%}•%{$fg_no_bold[magenta]%}%3~$(git_prompt_info)%{$reset_color%}» ' RPROMPT='[%*]' # git theming -ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[magenta]%}" +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[green]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="" ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[blue]%})" ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}⚡%{$fg_bold[blue]%})" From 81acebee57d3afdf5afea377b68ba671bba58f6e Mon Sep 17 00:00:00 2001 From: technoweenie Date: Thu, 12 Nov 2009 11:14:09 -0700 Subject: [PATCH 138/518] gave credit to Nick for the rake autocompletion code. --- README.textile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.textile b/README.textile index 9972cf2..950f886 100644 --- a/README.textile +++ b/README.textile @@ -56,8 +56,9 @@ If you want to uninstall it, just run @uninstall_oh_my_zsh@ from the command lin h2. Thanks -* Rick Olsen (technoweenie) might remember some of the configuration, which I took from a pastie a few years ago. -* Whoever created the rake autocomplete stuff, which was posted all over the internet a few years ago. +* Rick Olson (technoweenie) might remember some of the configuration, which I took from a pastie a few years ago. +* Marcel (noradio) provided Rick the original zsh configuration. +* Nicholas (ulysses) for the "rake autocompletion code":http://weblog.rubyonrails.org/2006/3/9/fast-rake-task-completion-for-zsh. h2. Help out! @@ -69,5 +70,4 @@ I'm hoping to collect a bunch of themes for our command prompts. You can see exi h3. Todo from imajes: -* need to make the title bar support git folder -* \ No newline at end of file +* need to make the title bar support git folder \ No newline at end of file From b549dd49991b87e16aa3c7225d47e435969d46fe Mon Sep 17 00:00:00 2001 From: Jordan Bracco Date: Fri, 13 Nov 2009 05:10:21 +0100 Subject: [PATCH 139/518] Gallifrey theme --- themes/gallifrey.zsh-theme | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 themes/gallifrey.zsh-theme diff --git a/themes/gallifrey.zsh-theme b/themes/gallifrey.zsh-theme new file mode 100644 index 0000000..fce7cb9 --- /dev/null +++ b/themes/gallifrey.zsh-theme @@ -0,0 +1,8 @@ +# ZSH Theme - Preview: http://img.skitch.com/20091113-qqtd3j8xinysujg5ugrsbr7x1y.jpg +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +PROMPT='%{$fg[green]%}%m%{$reset_color%} %2~ $(git_prompt_info)%{$reset_color%}%B»%b ' +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" From 7aca512f32aaa9eff78d9c2bd73e3db4b124661f Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Fri, 13 Nov 2009 22:02:42 +0100 Subject: [PATCH 140/518] Theme tonotdo upgrade --- themes/tonotdo.zsh-theme | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/tonotdo.zsh-theme b/themes/tonotdo.zsh-theme index 478f01d..f46d165 100644 --- a/themes/tonotdo.zsh-theme +++ b/themes/tonotdo.zsh-theme @@ -1,8 +1,8 @@ -PROMPT='%{$fg_no_bold[cyan]%}%n%{$fg_no_bold[yellow]%}•%{$fg_no_bold[magenta]%}%3~$(git_prompt_info)%{$reset_color%}» ' +PROMPT='%{$fg_no_bold[cyan]%}%n%{$fg_no_bold[yellow]%}•%{$fg_no_bold[green]%}%3~$(git_prompt_info)%{$reset_color%}» ' RPROMPT='[%*]' # git theming -ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[green]%}" +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[magenta]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="" ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[blue]%})" ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}⚡%{$fg_bold[blue]%})" From 5bd19908919f9de691797a5a4589ac49bf6ed356 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Fri, 13 Nov 2009 23:39:07 +0100 Subject: [PATCH 141/518] tonotdo theme like I like it --- themes/tonotdo.zsh-theme | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/tonotdo.zsh-theme b/themes/tonotdo.zsh-theme index f46d165..70f224e 100644 --- a/themes/tonotdo.zsh-theme +++ b/themes/tonotdo.zsh-theme @@ -1,8 +1,8 @@ -PROMPT='%{$fg_no_bold[cyan]%}%n%{$fg_no_bold[yellow]%}•%{$fg_no_bold[green]%}%3~$(git_prompt_info)%{$reset_color%}» ' +PROMPT='%{$fg_no_bold[cyan]%}%n%{$fg_no_bold[magenta]%}•%{$fg_no_bold[green]%}%3~$(git_prompt_info)%{$reset_color%}» ' RPROMPT='[%*]' # git theming -ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[magenta]%}" +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[yellow]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="" ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[blue]%})" ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}⚡%{$fg_bold[blue]%})" From 6524bee2ce5996bdb03e9efff174b16028beca68 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Fri, 13 Nov 2009 23:44:28 +0100 Subject: [PATCH 142/518] tonotdo theme still not like I wanted --- themes/tonotdo.zsh-theme | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/tonotdo.zsh-theme b/themes/tonotdo.zsh-theme index 70f224e..2a171a7 100644 --- a/themes/tonotdo.zsh-theme +++ b/themes/tonotdo.zsh-theme @@ -2,10 +2,10 @@ PROMPT='%{$fg_no_bold[cyan]%}%n%{$fg_no_bold[magenta]%}•%{$fg_no_bold[green]%} RPROMPT='[%*]' # git theming -ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[yellow]%}" +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[red]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="" ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[blue]%})" -ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}⚡%{$fg_bold[blue]%})" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[yellow]%}⚡%{$fg_bold[blue]%})" # LS colors, made with http://geoff.greer.fm/lscolors/ export LSCOLORS="Gxfxcxdxbxegedabagacad" From 3f49658cb53c589808e7fac47f4a6837c503292d Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Fri, 13 Nov 2009 23:55:37 +0100 Subject: [PATCH 143/518] tonotdo theme: Back to the original --- themes/tonotdo.zsh-theme | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/tonotdo.zsh-theme b/themes/tonotdo.zsh-theme index 2a171a7..a640703 100644 --- a/themes/tonotdo.zsh-theme +++ b/themes/tonotdo.zsh-theme @@ -1,11 +1,11 @@ -PROMPT='%{$fg_no_bold[cyan]%}%n%{$fg_no_bold[magenta]%}•%{$fg_no_bold[green]%}%3~$(git_prompt_info)%{$reset_color%}» ' +PROMPT='%{$fg_no_bold[cyan]%}%n%{$fg_no_bold[magenta]%}➜%{$fg_no_bold[green]%}%3~$(git_prompt_info)%{$reset_color%}» ' RPROMPT='[%*]' # git theming ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[red]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="" ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[blue]%})" -ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[yellow]%}⚡%{$fg_bold[blue]%})" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[yellow]%}✗%{$fg_bold[blue]%})" # LS colors, made with http://geoff.greer.fm/lscolors/ export LSCOLORS="Gxfxcxdxbxegedabagacad" From 473dd3b2121ae0e54803098a7fde4b4c1e673145 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Wed, 25 Nov 2009 12:45:16 -0800 Subject: [PATCH 144/518] Adding current_branch function, which can be used like: git pull origin master --- lib/git.zsh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/git.zsh b/lib/git.zsh index 58d826d..52c7969 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -12,3 +12,11 @@ parse_git_dirty () { fi } +# +# Will return the current branch name +# Usage example: git pull origin $(current_branch) +# +function current_branch() { + ref=$(git symbolic-ref HEAD 2> /dev/null) || return + echo ${ref#refs/heads/} +} From dca4651cee556ccdbfe678e695bf9523cc1fc11d Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Mon, 30 Nov 2009 23:28:40 +0100 Subject: [PATCH 145/518] Completion from history --- lib/completion.zsh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index c231ee2..9fe351b 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -43,7 +43,7 @@ if [ -f ~/.ssh/known_hosts ]; then fi # Complete on history -# zstyle ':completion:*:history-words' stop yes -# zstyle ':completion:*:history-words' remove-all-dups yes -# zstyle ':completion:*:history-words' list false -# zstyle ':completion:*:history-words' menu yes +zstyle ':completion:*:history-words' stop yes +zstyle ':completion:*:history-words' remove-all-dups yes +zstyle ':completion:*:history-words' list false +zstyle ':completion:*:history-words' menu yes From 065ae00673f69c792a5778e19590ed50c99e8a04 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Tue, 1 Dec 2009 23:06:15 +0100 Subject: [PATCH 146/518] Revert --- lib/completion.zsh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index 9fe351b..46b6d8f 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -43,7 +43,7 @@ if [ -f ~/.ssh/known_hosts ]; then fi # Complete on history -zstyle ':completion:*:history-words' stop yes -zstyle ':completion:*:history-words' remove-all-dups yes -zstyle ':completion:*:history-words' list false -zstyle ':completion:*:history-words' menu yes +#zstyle ':completion:*:history-words' stop yes +#zstyle ':completion:*:history-words' remove-all-dups yes +#zstyle ':completion:*:history-words' list false +#zstyle ':completion:*:history-words' menu yes From dfb3fb5a0a7566d6576d6fb964ff1a29eacbfef4 Mon Sep 17 00:00:00 2001 From: To1ne Date: Thu, 10 Dec 2009 19:04:06 +0100 Subject: [PATCH 147/518] No correction on mkdir + removed duplicate nocorrect mv --- lib/correction.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/correction.zsh b/lib/correction.zsh index c9fecb0..9d50369 100644 --- a/lib/correction.zsh +++ b/lib/correction.zsh @@ -3,4 +3,4 @@ setopt correct_all alias man='nocorrect man' alias mv='nocorrect mv' alias mysql='nocorrect mysql' -alias mv='nocorrect mv' +alias mkdir='nocorrect mkdir' \ No newline at end of file From bee94dbd6276d53aae56938920466faf15d2495b Mon Sep 17 00:00:00 2001 From: macovsky Date: Sat, 12 Dec 2009 12:06:46 +0300 Subject: [PATCH 148/518] new theme --- themes/macovsky.zsh-theme | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 themes/macovsky.zsh-theme diff --git a/themes/macovsky.zsh-theme b/themes/macovsky.zsh-theme new file mode 100644 index 0000000..db7f914 --- /dev/null +++ b/themes/macovsky.zsh-theme @@ -0,0 +1,8 @@ +# ZSH Theme - Preview: http://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +PROMPT='%{$fg[green]%}%~%{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b ' +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" \ No newline at end of file From e429ff9e2bed41f88e3df3315b159fa79a7152fc Mon Sep 17 00:00:00 2001 From: To1ne Date: Sat, 12 Dec 2009 10:12:14 +0100 Subject: [PATCH 149/518] no correction on gist --- lib/correction.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/correction.zsh b/lib/correction.zsh index 9d50369..62d46da 100644 --- a/lib/correction.zsh +++ b/lib/correction.zsh @@ -3,4 +3,5 @@ setopt correct_all alias man='nocorrect man' alias mv='nocorrect mv' alias mysql='nocorrect mysql' -alias mkdir='nocorrect mkdir' \ No newline at end of file +alias mkdir='nocorrect mkdir' +alias gist='nocorrect gist' \ No newline at end of file From 41f13ccb0a5d04496605f69b7ae284d9d639b625 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sat, 12 Dec 2009 13:45:30 -0800 Subject: [PATCH 150/518] Updating check_for_upgrade script to fix issue when the LAST_EPOCH file/value got corrupted. Closes #32 --- tools/check_for_upgrade.sh | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh index 5c212b6..c59ebae 100644 --- a/tools/check_for_upgrade.sh +++ b/tools/check_for_upgrade.sh @@ -1,11 +1,22 @@ #!/bin/sh -current_epoch=$(($(date +%s) / 60 / 60 / 24)) +function _current_epoch() { + echo $(($(date +%s) / 60 / 60 / 24)) +} + +function _update_zsh_update() { + echo "LAST_EPOCH=$(_current_epoch)" > ~/.zsh-update +} if [ -f ~/.zsh-update ] then . ~/.zsh-update - epoch_diff=$(($current_epoch - $LAST_EPOCH)) + + if [[ -z "$LAST_EPOCH" ]]; then + _update_zsh_update && return 0; + fi + + epoch_diff=$((${_current_epoch} - $LAST_EPOCH)) if [ $epoch_diff -gt 6 ] then echo "[Oh My Zsh] Would you like to check for updates?" @@ -15,14 +26,9 @@ then then /bin/sh $ZSH/tools/upgrade.sh fi - - # Set the last epoch to the current so that we don't ask for another week - echo "LAST_EPOCH=${current_epoch}" > ~/.zsh-update fi -else - # TODO: refactor this so remove duplicates - # Create the ~/.zsh-update file with the current epoch info - echo "LAST_EPOCH=${current_epoch}" > ~/.zsh-update fi +# update the zsh file +_update_zsh_update From 59116a25f1b071a691a7df2abf2f41d0ed2a2798 Mon Sep 17 00:00:00 2001 From: johnmaxwelliv Date: Sat, 12 Dec 2009 21:23:36 -0700 Subject: [PATCH 151/518] Instead of using the user's standard shell, this script should be run using zsh, since that was the shell it was written for. On my machine changes to my default shell only take effect when I log out and then long in again. Plus, it's nice for people to be able to try oh-my-zsh out even if zsh isn't their default shell right? :-) --- 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 eadf02d..d31e059 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -15,5 +15,5 @@ if [ "$DISABLE_AUTO_UPDATE" = "true" ] then return else - /bin/sh $ZSH/tools/check_for_upgrade.sh + /bin/zsh $ZSH/tools/check_for_upgrade.sh fi From 20755df49e28b97e0ad4ba8eef16aef476e9f61a Mon Sep 17 00:00:00 2001 From: johnmaxwelliv Date: Sun, 13 Dec 2009 12:38:37 -0700 Subject: [PATCH 152/518] Based on a suggestion from robbyrussel, using env for greater compatibility. --- 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 d31e059..fa2738e 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -15,5 +15,5 @@ if [ "$DISABLE_AUTO_UPDATE" = "true" ] then return else - /bin/zsh $ZSH/tools/check_for_upgrade.sh + /usr/bin/env zsh $ZSH/tools/check_for_upgrade.sh fi From 98d56a3097237f4220d0f8833555ed37382281ee Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 13 Dec 2009 11:48:03 -0800 Subject: [PATCH 153/518] Adding a nocorrect for the heroku command as it was getting triggered by heroku logs. --- lib/correction.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/correction.zsh b/lib/correction.zsh index 62d46da..a96f7ff 100644 --- a/lib/correction.zsh +++ b/lib/correction.zsh @@ -4,4 +4,5 @@ alias man='nocorrect man' alias mv='nocorrect mv' alias mysql='nocorrect mysql' alias mkdir='nocorrect mkdir' -alias gist='nocorrect gist' \ No newline at end of file +alias gist='nocorrect gist' +alias heroku='nocorrect heroku' From 2ecc228b2325bf5fadb5c12a5ffff73167e53152 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Wed, 16 Dec 2009 11:23:41 -0800 Subject: [PATCH 154/518] Adding a function that will open up a ticket in Lighthouse based on the number and there being a URL in a hidden file. --- lib/functions.zsh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lib/functions.zsh b/lib/functions.zsh index 2fb096d..f95a598 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -58,3 +58,20 @@ function tm() { cd $1 mate $1 } + +# To use: add a .lighthouse file into your directory with the URL to the +# individual project. For example: +# https://rails.lighthouseapp.com/projects/8994 +# Example usage: http://screencast.com/t/ZDgwNDUwNT +open_lighthouse_ticket () { + if [ ! -f .lighthouse-url ]; then + echo "There is no .lighthouse file in the current directory..." + return 0; + else + lighthouse_url=$(cat .lighthouse-url); + echo "Opening ticket #$1"; + `open $lighthouse_url/tickets/$1`; + fi +} + +alias lho='open_lighthouse_ticket' From 90627d3d1c2e9c1528b1032b47732e21270609b9 Mon Sep 17 00:00:00 2001 From: Dale Campbell Date: Sat, 26 Dec 2009 00:41:37 -0600 Subject: [PATCH 155/518] adding quotes to tab() --- lib/functions.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/functions.zsh b/lib/functions.zsh index f95a598..74b93f0 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -44,7 +44,7 @@ function tab() { end tell application "Terminal" activate - do script with command "cd $PWD; $*" in window 1 + do script with command "cd \"$PWD\"; $*" in window 1 end tell EOF } From f9509f365b633ea5f07de2de2a34abe52304d42c Mon Sep 17 00:00:00 2001 From: Martin Klepsch Date: Sat, 19 Dec 2009 14:35:57 +0100 Subject: [PATCH 156/518] Putting Git related aliases into git.zsh to have them in context. --- lib/aliases.zsh | 17 +---------------- lib/git.zsh | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index d3ee2dd..f97daf4 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -25,21 +25,6 @@ alias ss='sudo su -' #alias g='grep -in' -# Git related -alias g='git' -alias gst='git status' -alias gl='git pull' -alias gup='git fetch && git rebase' -alias gp='git push' -alias gd='git diff | mate' -alias gdv='git diff -w "$@" | vim -R -' -alias gc='git commit -v' -alias gca='git commit -v -a' -alias gb='git branch' -alias gba='git branch -a' -alias gcount='git shortlog -sn' -alias gcp='git cherry-pick' - # Show history alias history='fc -l 1' @@ -65,4 +50,4 @@ alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Ra alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' # Editor Ruby file in TextMate -alias mr='mate CHANGELOG app config db lib public script spec test' \ No newline at end of file +alias mr='mate CHANGELOG app config db lib public script spec test' diff --git a/lib/git.zsh b/lib/git.zsh index 52c7969..629a08b 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -20,3 +20,18 @@ function current_branch() { ref=$(git symbolic-ref HEAD 2> /dev/null) || return echo ${ref#refs/heads/} } + +# Aliases +alias g='git' +alias gst='git status' +alias gl='git pull' +alias gup='git fetch && git rebase' +alias gp='git push' +alias gd='git diff | mate' +alias gdv='git diff -w "$@" | vim -R -' +alias gc='git commit -v' +alias gca='git commit -v -a' +alias gb='git branch' +alias gba='git branch -a' +alias gcount='git shortlog -sn' +alias gcp='git cherry-pick' From 7e6eaff7d39cb73d9af31e2b58f04aa984e1bda8 Mon Sep 17 00:00:00 2001 From: Ryan Wilcox Date: Sun, 13 Dec 2009 17:39:40 -0500 Subject: [PATCH 157/518] fork xiong-chiamiov theme for git support --- themes/xiong-chiamiov-plus.zsh-theme | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 themes/xiong-chiamiov-plus.zsh-theme diff --git a/themes/xiong-chiamiov-plus.zsh-theme b/themes/xiong-chiamiov-plus.zsh-theme new file mode 100644 index 0000000..095dae2 --- /dev/null +++ b/themes/xiong-chiamiov-plus.zsh-theme @@ -0,0 +1,6 @@ +# user, host, full path, and time/date +# on two lines for easier vgrepping +# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888 +PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%a %b %d, %I:%M"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%} +%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B] <$(git_prompt_info)>%{\e[0m%}%b ' +PS2=$' \e[0;34m%}%B>%{\e[0m%}%b ' From 5149679f86d54658f8a292f6e220d4edef32769d Mon Sep 17 00:00:00 2001 From: Evandro Myller Date: Sat, 2 Jan 2010 02:12:46 -0300 Subject: [PATCH 158/518] added "clean" theme --- themes/clean.zsh-theme | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 themes/clean.zsh-theme diff --git a/themes/clean.zsh-theme b/themes/clean.zsh-theme new file mode 100644 index 0000000..0ab0ac0 --- /dev/null +++ b/themes/clean.zsh-theme @@ -0,0 +1,12 @@ +PROMPT='%n:%{$fg[blue]%}%B%c%b%{$reset_color%} $(git_prompt_info)%(!.#.$) ' +RPROMPT='[%*]' + +# git theming +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[yellow]%}%B" +ZSH_THEME_GIT_PROMPT_SUFFIX="%b%{$fg_bold[blue]%})%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}✗" + +# LS colors, made with http://geoff.greer.fm/lscolors/ +export LSCOLORS="Gxfxcxdxbxegedabagacad" +export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:' From 9658449450685d5adae867a0b79eddc47262f65e Mon Sep 17 00:00:00 2001 From: Evandro Myller Date: Sat, 2 Jan 2010 02:51:49 -0300 Subject: [PATCH 159/518] improvements to the 'clean' theme --- themes/clean.zsh-theme | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/themes/clean.zsh-theme b/themes/clean.zsh-theme index 0ab0ac0..d81eeaa 100644 --- a/themes/clean.zsh-theme +++ b/themes/clean.zsh-theme @@ -1,4 +1,6 @@ -PROMPT='%n:%{$fg[blue]%}%B%c%b%{$reset_color%} $(git_prompt_info)%(!.#.$) ' +if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="white"; fi + +PROMPT='%{$fg[$NCOLOR]%}%n%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(git_prompt_info)%(!.#.$) ' RPROMPT='[%*]' # git theming From be66fe9d7aab5cd1603a6e86d67b792ac9f5e6f5 Mon Sep 17 00:00:00 2001 From: Evandro Myller Date: Sat, 2 Jan 2010 17:59:11 -0300 Subject: [PATCH 160/518] clean theme: username is now bold --- themes/clean.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/clean.zsh-theme b/themes/clean.zsh-theme index d81eeaa..95f532a 100644 --- a/themes/clean.zsh-theme +++ b/themes/clean.zsh-theme @@ -1,6 +1,6 @@ if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="white"; fi -PROMPT='%{$fg[$NCOLOR]%}%n%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(git_prompt_info)%(!.#.$) ' +PROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(git_prompt_info)%(!.#.$) ' RPROMPT='[%*]' # git theming From 354ab87c85fb117d62cd314e957cd8708c3b7fe4 Mon Sep 17 00:00:00 2001 From: Nikita Vasilyev Date: Sun, 14 Mar 2010 23:08:27 +0300 Subject: [PATCH 161/518] Arrow theme: http://elv1s.ru/i/zsh-arrow-theme.png --- themes/arrow.zsh-theme | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 themes/arrow.zsh-theme diff --git a/themes/arrow.zsh-theme b/themes/arrow.zsh-theme new file mode 100644 index 0000000..cfe558c --- /dev/null +++ b/themes/arrow.zsh-theme @@ -0,0 +1,9 @@ +if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="yellow"; fi + +PROMPT='%{$fg[$NCOLOR]%}%c ➤ %{$reset_color%}' +RPROMPT='%{$fg[$NCOLOR]%}%p $(git_prompt_info)%{$reset_color%}' + +# See http://geoff.greer.fm/lscolors/ +export LSCOLORS="exfxcxdxbxbxbxbxbxbxbx" +export LS_COLORS="di=34;40:ln=35;40:so=32;40:pi=33;40:ex=31;40:bd=31;40:cd=31;40:su=31;40:sg=31;40:tw=31;40:ow=31;40:" + From 477835250273ce3f963e03ad4a75ca010f4d9972 Mon Sep 17 00:00:00 2001 From: Nikita Vasilyev Date: Tue, 16 Mar 2010 23:44:01 +0300 Subject: [PATCH 162/518] git:(master) --> git:master Parenthesis removed --- themes/arrow.zsh-theme | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/themes/arrow.zsh-theme b/themes/arrow.zsh-theme index cfe558c..a23efd1 100644 --- a/themes/arrow.zsh-theme +++ b/themes/arrow.zsh-theme @@ -3,6 +3,11 @@ if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="yellow"; fi PROMPT='%{$fg[$NCOLOR]%}%c ➤ %{$reset_color%}' RPROMPT='%{$fg[$NCOLOR]%}%p $(git_prompt_info)%{$reset_color%}' +ZSH_THEME_GIT_PROMPT_PREFIX="git:" +ZSH_THEME_GIT_PROMPT_SUFFIX="" +ZSH_THEME_GIT_PROMPT_DIRTY="*" +ZSH_THEME_GIT_PROMPT_CLEAN="" + # See http://geoff.greer.fm/lscolors/ export LSCOLORS="exfxcxdxbxbxbxbxbxbxbx" export LS_COLORS="di=34;40:ln=35;40:so=32;40:pi=33;40:ex=31;40:bd=31;40:cd=31;40:su=31;40:sg=31;40:tw=31;40:ow=31;40:" From f9abe041e2b70217b0d2f5519a51a57854b49857 Mon Sep 17 00:00:00 2001 From: Dallas Reedy Date: Wed, 17 Mar 2010 11:25:17 -0700 Subject: [PATCH 163/518] added my personal theme: the dallas them --- themes/dallas.zsh-theme | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 themes/dallas.zsh-theme diff --git a/themes/dallas.zsh-theme b/themes/dallas.zsh-theme new file mode 100644 index 0000000..10e019b --- /dev/null +++ b/themes/dallas.zsh-theme @@ -0,0 +1,14 @@ +# Personalized! +# [red][normal][purple][yellow][normal] +# dallas@lappy ~/Sites % +# PROMPT="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% " +# PROMPT="{white}\{{yellow}{time}{white}\}{green}{host}{white}:{cyan}{pwd} {red,bold}{user}{white}%{normal} " + +DALLAS_CURRENT_TIME_="%{$fg[white]%}{%{$fg[yellow]%}%T%{$fg[white]%}}%{$reset_color%}" +DALLAS_CURRENT_RUBY_="%{$fg[white]%}[%{$fg[magenta]%}\$(~/.rvm/bin/rvm-prompt i v)%{$fg[white]%}]%{$reset_color%}" +DALLAS_CURRENT_MACH_="%{$fg[green]%}%m%{$fg[white]%}:%{$reset_color%}" +DALLAS_CURRENT_LOCA_="%{$fg[cyan]%}%~%{$reset_color%}" +DALLAS_CURRENT_USER_="%{$fg[red]%}%n%{$reset_color%}" +DALLAS_PROMPT_CHAR_="%{$fg[white]%}%%%{$reset_color%}" + +PROMPT="$DALLAS_CURRENT_TIME_$DALLAS_CURRENT_RUBY_$DALLAS_CURRENT_MACH_$DALLAS_CURRENT_LOCA_ $DALLAS_CURRENT_USER_$DALLAS_PROMPT_CHAR_ " From 3e1d5fa3164db236653756bde816c94af7d23b01 Mon Sep 17 00:00:00 2001 From: Tomas Kramar Date: Mon, 22 Mar 2010 21:44:15 +0100 Subject: [PATCH 164/518] Make Shift+Tab move backwards in the menu --- lib/key-bindings.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh index 87e47ba..8d22eb2 100644 --- a/lib/key-bindings.zsh +++ b/lib/key-bindings.zsh @@ -20,6 +20,7 @@ bindkey "^[[F" end-of-line bindkey "^[[4~" end-of-line bindkey ' ' magic-space # also do history expansion on space +bindkey '^[[Z' reverse-menu-complete # consider emacs keybindings: @@ -38,4 +39,4 @@ bindkey ' ' magic-space # also do history expansion on space #bindkey '^I' complete-word ## Fix weird sequence that rxvt produces #bindkey -s '^[[Z' '\t' -# \ No newline at end of file +# From 6356d70710876edfe335022bdef79595c2e65d62 Mon Sep 17 00:00:00 2001 From: John Reese Date: Thu, 8 Apr 2010 14:11:42 -0400 Subject: [PATCH 165/518] Added theme "jreese" to oh-my-zsh --- themes/jreese.zsh-theme | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 themes/jreese.zsh-theme diff --git a/themes/jreese.zsh-theme b/themes/jreese.zsh-theme new file mode 100644 index 0000000..0f91776 --- /dev/null +++ b/themes/jreese.zsh-theme @@ -0,0 +1,14 @@ +if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="green"; fi +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +PROMPT='%{$fg[$NCOLOR]%}%n%{$fg[green]%}@%m%{$reset_color%} %2~ \ +$(git_prompt_info)\ +%{$fg[red]%}%(!.#.»)%{$reset_color%} ' +PROMPT2='%{$fg[red]%}\ %{$reset_color%}' +RPS1='${return_code}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}±%{$fg[yellow]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_DIRTY="⚡" + From 51935f768d69470d92d2f00f14c98a0380605075 Mon Sep 17 00:00:00 2001 From: John Reese Date: Thu, 8 Apr 2010 15:02:56 -0400 Subject: [PATCH 166/518] Added screenshot link for jreese theme --- themes/jreese.zsh-theme | 2 ++ 1 file changed, 2 insertions(+) diff --git a/themes/jreese.zsh-theme b/themes/jreese.zsh-theme index 0f91776..111dc0d 100644 --- a/themes/jreese.zsh-theme +++ b/themes/jreese.zsh-theme @@ -1,3 +1,5 @@ +# ZSH Theme - Preview: http://dl.dropbox.com/u/1552408/Screenshots/2010-04-08-oh-my-zsh.png + if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="green"; fi local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" From a4dd691af5cdb3ce818fa14d32d58cbcecf45b4d Mon Sep 17 00:00:00 2001 From: John Reese Date: Thu, 8 Apr 2010 15:07:43 -0400 Subject: [PATCH 167/518] Remove limit of two segments to PWD --- themes/jreese.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/jreese.zsh-theme b/themes/jreese.zsh-theme index 111dc0d..534664f 100644 --- a/themes/jreese.zsh-theme +++ b/themes/jreese.zsh-theme @@ -3,7 +3,7 @@ if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="green"; fi local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" -PROMPT='%{$fg[$NCOLOR]%}%n%{$fg[green]%}@%m%{$reset_color%} %2~ \ +PROMPT='%{$fg[$NCOLOR]%}%n%{$fg[green]%}@%m%{$reset_color%} %~ \ $(git_prompt_info)\ %{$fg[red]%}%(!.#.»)%{$reset_color%} ' PROMPT2='%{$fg[red]%}\ %{$reset_color%}' From 99d72cad5573f7481c28a75228b940f2212c9e1b Mon Sep 17 00:00:00 2001 From: John Reese Date: Thu, 8 Apr 2010 22:35:35 -0400 Subject: [PATCH 168/518] Ignore errors from compaudit when using `sudo -s` --- lib/completion.zsh | 2 +- lib/key-bindings.zsh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index 46b6d8f..b58612d 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -9,7 +9,7 @@ unsetopt flowcontrol WORDCHARS='' autoload -U compinit -compinit +compinit -i zmodload -i zsh/complist diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh index 87e47ba..2e282d6 100644 --- a/lib/key-bindings.zsh +++ b/lib/key-bindings.zsh @@ -1,6 +1,6 @@ # TODO: Explain what some of this does.. autoload -U compinit -compinit +compinit -i bindkey -e bindkey '\ew' kill-region @@ -38,4 +38,4 @@ bindkey ' ' magic-space # also do history expansion on space #bindkey '^I' complete-word ## Fix weird sequence that rxvt produces #bindkey -s '^[[Z' '\t' -# \ No newline at end of file +# From 3c87d483628267e48fc0f462f46488dcd4f87810 Mon Sep 17 00:00:00 2001 From: Andy Fowler Date: Tue, 4 May 2010 16:18:57 -0400 Subject: [PATCH 169/518] makes git status prompt 4x faster (via git status -s, benchmarked) --- lib/git.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/git.zsh b/lib/git.zsh index 629a08b..1d1d24d 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -5,7 +5,7 @@ function git_prompt_info() { } parse_git_dirty () { - if [[ $((git status 2> /dev/null) | tail -n1) != "nothing to commit (working directory clean)" ]]; then + if [[ -n $(git status -s 2> /dev/null) ]]; then echo "$ZSH_THEME_GIT_PROMPT_DIRTY" else echo "$ZSH_THEME_GIT_PROMPT_CLEAN" From 02bd8ab53e82c1b9be5f13e72e087b7a5d95373c Mon Sep 17 00:00:00 2001 From: canthiswait Date: Mon, 26 Apr 2010 16:02:19 -0700 Subject: [PATCH 170/518] Added scpectrum script for easy 256 color theaming --- lib/spectrum.zsh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 lib/spectrum.zsh diff --git a/lib/spectrum.zsh b/lib/spectrum.zsh new file mode 100644 index 0000000..4864654 --- /dev/null +++ b/lib/spectrum.zsh @@ -0,0 +1,20 @@ +#! /bin/zsh +# A script to make using 256 colors in zsh less painful. +# P.C. Shyamshankar +# Copied from http://github.com/sykora/etc/blob/master/zsh/functions/spectrum/ + +typeset -Ag FX FG BG + +FX=( + reset "" + bold "" no-bold "" + italic "" no-italic "" + underline "" no-underline "" + blink "" no-blink "" + reverse "" no-reverse "" +) + +for color in {000..255}; do + FG[$color]="[38;5;${color}m" + BG[$color]="[48;5;${color}m" +done From e8ef16570f9828553f9b0e926563a1496bf3740c Mon Sep 17 00:00:00 2001 From: canthiswait Date: Mon, 26 Apr 2010 22:01:41 -0700 Subject: [PATCH 171/518] escape sequences so rprompt doesn't mess up --- lib/spectrum.zsh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/spectrum.zsh b/lib/spectrum.zsh index 4864654..4006a7f 100644 --- a/lib/spectrum.zsh +++ b/lib/spectrum.zsh @@ -6,15 +6,15 @@ typeset -Ag FX FG BG FX=( - reset "" - bold "" no-bold "" - italic "" no-italic "" - underline "" no-underline "" - blink "" no-blink "" - reverse "" no-reverse "" + reset "%{%}" + bold "%{%}" no-bold "%{%}" + italic "%{%}" no-italic "%{%}" + underline "%{%}" no-underline "%{%}" + blink "%{%}" no-blink "%{%}" + reverse "%{%}" no-reverse "%{%}" ) for color in {000..255}; do - FG[$color]="[38;5;${color}m" - BG[$color]="[48;5;${color}m" + FG[$color]="%{[38;5;${color}m%}" + BG[$color]="%{[48;5;${color}m%}" done From 91add78bdcecee469d6843e0b16f5ac353fd25c1 Mon Sep 17 00:00:00 2001 From: canthiswait Date: Mon, 26 Apr 2010 22:27:32 -0700 Subject: [PATCH 172/518] 256 color theme with bright blue and orange --- themes/sporty_256.zsh-theme | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 themes/sporty_256.zsh-theme diff --git a/themes/sporty_256.zsh-theme b/themes/sporty_256.zsh-theme new file mode 100644 index 0000000..66c8698 --- /dev/null +++ b/themes/sporty_256.zsh-theme @@ -0,0 +1,13 @@ +# zsh theme requires 256 color enabled terminal +# i.e TERM=xterm-256color +# Preview - http://www.flickr.com/photos/adelcampo/4556482563/sizes/o/ +# based on robbyrussell's shell but louder! + +PROMPT='%{$fg_bold[blue]%}$(git_prompt_info) %F{208}%c%f +%{$fg_bold[white]%}%# %{$reset_color%}' +RPROMPT='%B%F{208}%n%f%{$fg_bold[white]%}@%F{039}%m%f%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%F{154}±|%f%F{124}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}%B✘%b%F{154}|%f%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}✔%{$fg[blue]%}|" From 4155adeefe2c6a941917ece7bbe19bd68950553e Mon Sep 17 00:00:00 2001 From: canthiswait Date: Tue, 27 Apr 2010 00:55:15 -0700 Subject: [PATCH 173/518] Fixed color in last character of clean git info --- themes/sporty_256.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/sporty_256.zsh-theme b/themes/sporty_256.zsh-theme index 66c8698..db0fc42 100644 --- a/themes/sporty_256.zsh-theme +++ b/themes/sporty_256.zsh-theme @@ -10,4 +10,4 @@ RPROMPT='%B%F{208}%n%f%{$fg_bold[white]%}@%F{039}%m%f%{$reset_color%}' ZSH_THEME_GIT_PROMPT_PREFIX="%F{154}±|%f%F{124}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}%B✘%b%F{154}|%f%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}✔%{$fg[blue]%}|" +ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}✔%F{154}|" From 447da5816eb2be9c7a79906a484cb78334fd1d7d Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Thu, 6 May 2010 21:04:09 -0700 Subject: [PATCH 174/518] Removing rake autocompletion as this is apparently baked into recent versions of zsh --- lib/rake_completion.zsh | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/lib/rake_completion.zsh b/lib/rake_completion.zsh index c425a62..8336182 100644 --- a/lib/rake_completion.zsh +++ b/lib/rake_completion.zsh @@ -1,24 +1,3 @@ -_rake_does_task_list_need_generating () { - if [ ! -f .rake_tasks~ ]; then return 0; - else - accurate=$(stat -f%m .rake_tasks~) - changed=$(stat -f%m Rakefile) - return $(expr $accurate '>=' $changed) - fi -} - -_rake () { - if [ -f Rakefile ]; then - if _rake_does_task_list_need_generating; then - echo "\nGenerating .rake_tasks~..." > /dev/stderr - rake --silent --tasks | cut -d " " -f 2 > .rake_tasks~ - fi - compadd `cat .rake_tasks~` - fi -} - -compctl -K _rake rake - function _cap_does_task_list_need_generating () { if [ ! -f .cap_tasks~ ]; then return 0; else From 926d9e8893789e1b70cb4df2144c868f4aa91515 Mon Sep 17 00:00:00 2001 From: kremso Date: Tue, 9 Mar 2010 14:09:08 +0100 Subject: [PATCH 175/518] Don't autoselect first completion entry (Fixes #14) The key here is not using MENU_COMPLETE which autoselects the first entry, but using AUTO_MENU which displays the menu but autoselects on successive tab hit. Also, do not use zstyle menu yes because that somehow overrides the setopts. --- lib/completion.zsh | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index 46b6d8f..619dc02 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -1,11 +1,11 @@ ## fixme - the load process here seems a bit bizarre -setopt noautomenu +unsetopt menu_complete # do not autoselect the first completion entry +unsetopt flowcontrol +setopt auto_menu # show completion menu on succesive tab press setopt complete_in_word setopt always_to_end -unsetopt flowcontrol - WORDCHARS='' autoload -U compinit @@ -23,14 +23,10 @@ fi zstyle ':completion:*' list-colors '' - -unsetopt MENU_COMPLETE -#setopt AUTO_MENU - # should this be in keybindings? bindkey -M menuselect '^o' accept-and-infer-next-history -zstyle ':completion:*:*:*:*:*' menu yes select +zstyle ':completion:*:*:*:*:*' menu select # zstyle ':completion:*:*:*:*:processes' force-list always zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01' From 7d036913c4476916fe8b0325ea9cd54266787021 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Thu, 6 May 2010 21:13:59 -0700 Subject: [PATCH 176/518] Unsetting config_file after loading config --- oh-my-zsh.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index fa2738e..a41f3d8 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -17,3 +17,5 @@ then else /usr/bin/env zsh $ZSH/tools/check_for_upgrade.sh fi + +unset config_file \ No newline at end of file From 44cad95ed220a3a3a0c76de15186f395fc6e7ab0 Mon Sep 17 00:00:00 2001 From: Dallas Reedy Date: Fri, 7 May 2010 11:17:12 -0700 Subject: [PATCH 177/518] updated my theme with the date and git branch (+ dirty or not) --- themes/dallas.zsh-theme | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/themes/dallas.zsh-theme b/themes/dallas.zsh-theme index 10e019b..eef32e9 100644 --- a/themes/dallas.zsh-theme +++ b/themes/dallas.zsh-theme @@ -1,14 +1,26 @@ # Personalized! -# [red][normal][purple][yellow][normal] -# dallas@lappy ~/Sites % -# PROMPT="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% " -# PROMPT="{white}\{{yellow}{time}{white}\}{green}{host}{white}:{cyan}{pwd} {red,bold}{user}{white}%{normal} " -DALLAS_CURRENT_TIME_="%{$fg[white]%}{%{$fg[yellow]%}%T%{$fg[white]%}}%{$reset_color%}" +# Grab the current date (%D) and time (%T) wrapped in {}: {%D %T} +DALLAS_CURRENT_TIME_="%{$fg[white]%}{%{$fg[yellow]%}%D %T%{$fg[white]%}}%{$reset_color%}" +# Grab the current version of ruby in use (via RVM): [ruby-1.8.7] DALLAS_CURRENT_RUBY_="%{$fg[white]%}[%{$fg[magenta]%}\$(~/.rvm/bin/rvm-prompt i v)%{$fg[white]%}]%{$reset_color%}" +# Grab the current machine name: muscato DALLAS_CURRENT_MACH_="%{$fg[green]%}%m%{$fg[white]%}:%{$reset_color%}" -DALLAS_CURRENT_LOCA_="%{$fg[cyan]%}%~%{$reset_color%}" +# Grab the current filepath, use shortcuts: ~/Desktop +# Append the current git branch, if in a git repository: ~aw@master +DALLAS_CURRENT_LOCA_="%{$fg[cyan]%}%~\$(git_prompt_info)%{$reset_color%}" +# Grab the current username: dallas DALLAS_CURRENT_USER_="%{$fg[red]%}%n%{$reset_color%}" -DALLAS_PROMPT_CHAR_="%{$fg[white]%}%%%{$reset_color%}" +# Use a % for normal users and a # for privelaged (root) users. +DALLAS_PROMPT_CHAR_="%{$fg[white]%}%(!.#.%%)%{$reset_color%}" +# For the git prompt, use a white @ and blue text for the branch name +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[white]%}@%{$fg[blue]%}" +# Close it all off by resetting the color and styles. +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +# Do nothing if the branch is clean (no changes). +ZSH_THEME_GIT_PROMPT_CLEAN="" +# Add 3 cyan ✗s if this branch is diiirrrty! Dirty branch! +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[cyan]%}✗✗✗" +# Put it all together! PROMPT="$DALLAS_CURRENT_TIME_$DALLAS_CURRENT_RUBY_$DALLAS_CURRENT_MACH_$DALLAS_CURRENT_LOCA_ $DALLAS_CURRENT_USER_$DALLAS_PROMPT_CHAR_ " From cd9a85500e9ddcb99c3340288b8f02fbed1fa3bb Mon Sep 17 00:00:00 2001 From: Jon Duell Date: Tue, 27 Apr 2010 05:47:02 +0800 Subject: [PATCH 178/518] Adds new duellj theme --- themes/duellj.zsh-theme | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 themes/duellj.zsh-theme diff --git a/themes/duellj.zsh-theme b/themes/duellj.zsh-theme new file mode 100644 index 0000000..7350b43 --- /dev/null +++ b/themes/duellj.zsh-theme @@ -0,0 +1,8 @@ + +# user, host, full path, and time/date +# on two lines for easier vgrepping +# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888 +PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;34m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}%!%{\e[0;34m%}%B]%b%{\e[0m%} +%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B]%{\e[0m%}%b ' +RPROMPT='[%*]' +PS2=$' \e[0;34m%}%B>%{\e[0m%}%b ' From 1d03ea53427c0658fc6924aa890c21f6e46c0a80 Mon Sep 17 00:00:00 2001 From: Mario Gutierrez Date: Wed, 21 Apr 2010 19:24:53 +0800 Subject: [PATCH 179/518] my theme --- themes/mgutz.zsh-theme | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 themes/mgutz.zsh-theme diff --git a/themes/mgutz.zsh-theme b/themes/mgutz.zsh-theme new file mode 100644 index 0000000..dcf3270 --- /dev/null +++ b/themes/mgutz.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{$fg_bold[magenta]%}%1~$(git_prompt_info) %{$fg_bold[magenta]%}%# %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[yellow]%}[" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="*]" +ZSH_THEME_GIT_PROMPT_CLEAN="]" From 9efc086fb3140e6e9023f7d8543d5b8231075370 Mon Sep 17 00:00:00 2001 From: Dylan Clendenin Date: Tue, 4 May 2010 02:49:48 +0800 Subject: [PATCH 180/518] two aliases set to 'ss', clobbering rails script/server --- lib/aliases.zsh | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index f97daf4..d891cc0 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -21,7 +21,6 @@ alias -- -='cd -' # Super user alias _='sudo' -alias ss='sudo su -' #alias g='grep -in' From e3b9e981538d2bbb9a3c3934419162d1c2a6046e Mon Sep 17 00:00:00 2001 From: Mike Hostetler Date: Wed, 31 Mar 2010 00:21:42 +0800 Subject: [PATCH 181/518] added my theme, based on xiong-chiamiov-plus but using vcs_info instead of just git --- themes/mikeh.zsh-theme | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 themes/mikeh.zsh-theme diff --git a/themes/mikeh.zsh-theme b/themes/mikeh.zsh-theme new file mode 100644 index 0000000..943f04d --- /dev/null +++ b/themes/mikeh.zsh-theme @@ -0,0 +1,23 @@ +setopt prompt_subst +autoload colors +colors + +autoload -U add-zsh-hook +autoload -Uz vcs_info + +# check-for-changes can be really slow. +# you should disable it, if you work with large repositories +zstyle ':vcs_info:*:prompt:*' check-for-changes true + +add-zsh-hook precmd mikeh_precmd + +mikeh_precmd() { + vcs_info +} + +# user, host, full path, and time/date +# on two lines for easier vgrepping +# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888 +PROMPT=$'%{\e[0;34m%}%B..[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%a %b %d, %I:%M"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%} +%{\e[0;34m%}%B..%B[%{\e[1;35m%}$%{\e[0;34m%}%B] <($vcs_info_msg_0_)>%{\e[0m%}%b ' +PS2=$' \e[0;34m%}%B>%{\e[0m%}%b ' \ No newline at end of file From 93f9825b79f7dc577d8891f0264fbdc484be80b0 Mon Sep 17 00:00:00 2001 From: Mike Hostetler Date: Wed, 31 Mar 2010 01:31:41 +0800 Subject: [PATCH 182/518] share history with your zsh's on the same host --- lib/history.zsh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/history.zsh b/lib/history.zsh index 527c327..509be8f 100644 --- a/lib/history.zsh +++ b/lib/history.zsh @@ -10,3 +10,6 @@ setopt hist_verify setopt inc_append_history setopt extended_history setopt hist_expire_dups_first + +setopt SHARE_HISTORY +setopt APPEND_HISTORY From 36f1f4e51595943d0b8e06a9078aa6f627a9734d Mon Sep 17 00:00:00 2001 From: Matthew Gadd Date: Tue, 6 Apr 2010 08:24:33 +0800 Subject: [PATCH 183/518] Add my oh-my-zsh theme --- themes/dst.zsh-theme | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 themes/dst.zsh-theme diff --git a/themes/dst.zsh-theme b/themes/dst.zsh-theme new file mode 100644 index 0000000..fa0d9cb --- /dev/null +++ b/themes/dst.zsh-theme @@ -0,0 +1,16 @@ + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}!" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +function prompt_char { + if [ "$(whoami)" = "root" ]; then echo "%{$fg[red]%}#%{$reset_color%}"; else echo $; fi +} + +PROMPT='%(?, ,%{$fg[red]%}FAIL%{$reset_color%} +) +%{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}%m%{$reset_color%}: %{$fg_bold[blue]%}%~%{$reset_color%}$(git_prompt_info) +%_ $(prompt_char) ' + +RPROMPT='%{$fg[green]%}[%*]%{$reset_color%}' From 147acd22377d06eb41f4c4368ba33b98c9bbd034 Mon Sep 17 00:00:00 2001 From: dstufft Date: Wed, 24 Mar 2010 08:51:57 +0800 Subject: [PATCH 184/518] added the dstufft theme (based on prose by sjl) --- themes/dstufft.zsh-theme | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 themes/dstufft.zsh-theme diff --git a/themes/dstufft.zsh-theme b/themes/dstufft.zsh-theme new file mode 100644 index 0000000..5a23fce --- /dev/null +++ b/themes/dstufft.zsh-theme @@ -0,0 +1,19 @@ +function prompt_char { + git branch >/dev/null 2>/dev/null && echo '±' && return + hg root >/dev/null 2>/dev/null && echo 'Hg' && return + echo '○' +} + +function virtualenv_info { + [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' +} + +PROMPT=' +%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(git_prompt_info) +$(virtualenv_info)$(prompt_char) ' + +ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?" +ZSH_THEME_GIT_PROMPT_CLEAN="" From 08a90297fe7c1105253619e42f0fb07a2538db21 Mon Sep 17 00:00:00 2001 From: Ryan McCuaig Date: Fri, 16 Apr 2010 08:22:50 +0800 Subject: [PATCH 185/518] Add my preferred prompt --- themes/rgm.zsh-theme | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 themes/rgm.zsh-theme diff --git a/themes/rgm.zsh-theme b/themes/rgm.zsh-theme new file mode 100644 index 0000000..9452a8b --- /dev/null +++ b/themes/rgm.zsh-theme @@ -0,0 +1,8 @@ +PROMPT=' +%n@%m %{$fg[cyan]%}%~ +%? $(git_prompt_info)%{$fg_bold[blue]%}%% %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}" From 458da5895a5fd13823545c187cf64436b39c8266 Mon Sep 17 00:00:00 2001 From: Christopher Chow Date: Fri, 30 Apr 2010 16:36:03 +0800 Subject: [PATCH 186/518] Added my own theme. --- themes/Soliah.zsh-theme | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 themes/Soliah.zsh-theme diff --git a/themes/Soliah.zsh-theme b/themes/Soliah.zsh-theme new file mode 100644 index 0000000..7ad876d --- /dev/null +++ b/themes/Soliah.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{$fg[blue]%}%B%20~%b%{$reset_color%}%{$(git_prompt_info)%} $ ' + +ZSH_THEME_GIT_PROMPT_PREFIX="(%{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%})" +ZSH_THEME_GIT_PROMPT_DIRTY="*%{$reset_color%}" + From 6213f3304f945b56dfea30d6e11e4c860afdbbc9 Mon Sep 17 00:00:00 2001 From: Andy Fowler Date: Wed, 5 May 2010 04:19:09 +0800 Subject: [PATCH 187/518] my WIP theme --- themes/afowler.zsh-theme | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 themes/afowler.zsh-theme diff --git a/themes/afowler.zsh-theme b/themes/afowler.zsh-theme new file mode 100644 index 0000000..f82e7bc --- /dev/null +++ b/themes/afowler.zsh-theme @@ -0,0 +1,8 @@ +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +PROMPT='%m %{${fg_bold[blue]}%}:: %{$reset_color%}%{${fg[green]}%}%3~ $(git_prompt_info)%{${fg[blue]}%}»%{${reset_color}%} ' + +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" From a649b2d410e3f3cd2b5749d199da03168d0c3920 Mon Sep 17 00:00:00 2001 From: Andy Fowler Date: Wed, 5 May 2010 04:58:10 +0800 Subject: [PATCH 188/518] happy with my theme. caret turns red for root --- themes/afowler.zsh-theme | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/themes/afowler.zsh-theme b/themes/afowler.zsh-theme index f82e7bc..b5a9bb1 100644 --- a/themes/afowler.zsh-theme +++ b/themes/afowler.zsh-theme @@ -1,6 +1,8 @@ +if [ "$(whoami)" = "root" ]; then CARETCOLOR="red"; else CARETCOLOR="blue"; fi + local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" -PROMPT='%m %{${fg_bold[blue]}%}:: %{$reset_color%}%{${fg[green]}%}%3~ $(git_prompt_info)%{${fg[blue]}%}»%{${reset_color}%} ' +PROMPT='%m %{${fg_bold[blue]}%}:: %{$reset_color%}%{${fg[green]}%}%3~ $(git_prompt_info)%{${fg_bold[$CARETCOLOR]}%}»%{${reset_color}%} ' RPS1="${return_code}" From d8a10dbba5cff634193a9a957833ad0f395d7a7d Mon Sep 17 00:00:00 2001 From: Parker McGee Date: Fri, 30 Apr 2010 00:12:26 +0800 Subject: [PATCH 189/518] added my own theme --- themes/pmcgee.zsh-theme | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 themes/pmcgee.zsh-theme diff --git a/themes/pmcgee.zsh-theme b/themes/pmcgee.zsh-theme new file mode 100644 index 0000000..4eb54df --- /dev/null +++ b/themes/pmcgee.zsh-theme @@ -0,0 +1,16 @@ +if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="green"; fi + +PROMPT=' +%{$fg[$NCOLOR]%}%B%n@%m%b%{$reset_color%} %{$fg[white]%}%B${PWD/#$HOME/~}%b%{$reset_color%} +$(git_prompt_info)%(!.#.$) ' +RPROMPT='[%*]' + +# git theming +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_no_bold[yellow]%}%B" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}*" + +# LS colors, made with http://geoff.greer.fm/lscolors/ +export LSCOLORS="Gxfxcxdxbxegedabagacad" +export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:' From 97aac4acb5913a042a12a4797f5cc1894f2e21f5 Mon Sep 17 00:00:00 2001 From: Dave Verwer Date: Thu, 22 Apr 2010 17:32:36 +0800 Subject: [PATCH 190/518] New theme "daveverwer", based on "geoffgarside". --- themes/daveverwer.zsh-theme | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 themes/daveverwer.zsh-theme diff --git a/themes/daveverwer.zsh-theme b/themes/daveverwer.zsh-theme new file mode 100644 index 0000000..89aef92 --- /dev/null +++ b/themes/daveverwer.zsh-theme @@ -0,0 +1,7 @@ +# Copied and modified from the oh-my-zsh theme from geoffgarside +# Red server name, green cwd, blue git status + +PROMPT='%{$fg[red]%}%m%{$reset_color%}:%{$fg[green]%}%c%{$reset_color%}$(git_prompt_info) %(!.#.$) ' + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[blue]%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}" From 081deba3c4971a2a9af8c185f01ee9ea6754fdcb Mon Sep 17 00:00:00 2001 From: Edvard Majakari Date: Wed, 14 Apr 2010 04:44:51 +0800 Subject: [PATCH 191/518] added my theme --- themes/edvardm.zsh-theme | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 themes/edvardm.zsh-theme diff --git a/themes/edvardm.zsh-theme b/themes/edvardm.zsh-theme new file mode 100644 index 0000000..f9ca1a9 --- /dev/null +++ b/themes/edvardm.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg_bold[white]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" From 456834b9ea5aca1a7727f7070681e5d0336e3893 Mon Sep 17 00:00:00 2001 From: Doug Fritz Date: Sat, 3 Apr 2010 15:48:35 +0800 Subject: [PATCH 192/518] added skaro theme --- themes/skaro.zsh-theme | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 themes/skaro.zsh-theme diff --git a/themes/skaro.zsh-theme b/themes/skaro.zsh-theme new file mode 100644 index 0000000..84b7b11 --- /dev/null +++ b/themes/skaro.zsh-theme @@ -0,0 +1,7 @@ +PROMPT='%{$fg_bold[green]%}%h %{$fg[cyan]%}%2~ %{$fg_bold[blue]%}$(git_prompt_info) %{$reset_color%}» ' + +ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" + From 5a3bde78d804a0c20a18f7de02e60f1c835a3f28 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Fri, 7 May 2010 15:35:03 -0700 Subject: [PATCH 193/518] Sprinkling some candy on this muffin. --- tools/install.sh | 9 ++++++++- tools/upgrade.sh | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/install.sh b/tools/install.sh index 5a7c009..004b252 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -24,6 +24,13 @@ echo "export PATH=$PATH" >> ~/.zshrc echo "Time to change your default shell to zsh!" chsh -s /bin/zsh -echo "Hooray! Oh My Zsh has been installed." +echo ' __ __ ' +echo ' ____ / /_ ____ ___ __ __ ____ _____/ /_ ' +echo ' / __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \ ' +echo '/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / / ' +echo '\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ ' +echo ' /____/' + +echo "\n\n ....is now installed." /bin/zsh source ~/.zshrc diff --git a/tools/upgrade.sh b/tools/upgrade.sh index f749404..6dee42c 100644 --- a/tools/upgrade.sh +++ b/tools/upgrade.sh @@ -2,4 +2,5 @@ current_path=`pwd` echo "Upgrading Oh My Zsh" ( cd $ZSH && git pull origin master ) echo "Hooray! Oh My Zsh has been updated and/or is at the current version. \nAny new updates will be reflected when you start your next terminal session." +echo "To keep up on the latest, be sure to follow Oh My Zsh on twitter: http://twitter.com/ohmyzsh" cd $current_path \ No newline at end of file From 0a2a981dfeadf0e8cfcf361e792a3e3872f1aef4 Mon Sep 17 00:00:00 2001 From: Hayes Williams Date: Wed, 26 May 2010 21:49:55 -0700 Subject: [PATCH 194/518] Adds a new theme that only seems to work on Linux --- themes/linuxonly | 80 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 themes/linuxonly diff --git a/themes/linuxonly b/themes/linuxonly new file mode 100644 index 0000000..a11b80d --- /dev/null +++ b/themes/linuxonly @@ -0,0 +1,80 @@ +# vim: set ts=2 textwidth=0 + +autoload -U add-zsh-hook +autoload -Uz vcs_info +local c0=$(printf "\033[0m") +local c1=$(printf "\033[38;5;215m") +local c2=$(printf "\033[38;5;209m") +local c3=$(printf "\033[38;5;203m") +local c4=$(printf "\033[33;4m") +local c5=$(printf "\033[38;5;137m") +local c6=$(printf "\033[38;5;240m") +local c7=$(printf "\033[38;5;149m") +local c8=$(printf "\033[38;5;126m") +local c9=$(printf "\033[38;5;162m") + +local foopath=$(perl /home/scp1/bin/foopath) + +if [ "$TERM" = "linux" ]; then + c1=$(printf "\033[34;1m") + c2=$(printf "\033[35m") + c3=$(printf "\033[31m") + c4=$(printf "\033[31;1m") + c5=$(printf "\033[32m") + c6=$(printf "\033[32;1m") + c7=$(printf "\033[33m") + c8=$(printf "\033[33;1m") + c9=$(printf "\033[34m") +fi + +#local newtv=$(perl $HOME/devel/newtv.pl) +local newtv='' + +zstyle ':vcs_info:*' actionformats \ + '%{$c8%}(%f%s)%{$c7%}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f ' +zstyle ':vcs_info:*' formats \ + "%{$c8%}%s%{$c7%}:%{$c7%}(%{$c9%}%b%{$c7%})%f " +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 + +prompt_jnrowe_precmd () { + vcs_info + + if [ "${vcs_info_msg_0_}" = "" ]; then + #dir_status="|%F{3}%n%F{7}@%F{3}%m%F{7}:%F{9}%l%f" + #dir_status="$c1%n%F{7}@%F{9}%m%F{7}:%F{12}%/" + dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})" + #dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$foopath%} %{$c0%}(%{$c5%}%?%{$c0%})" + + PROMPT='%{$fg_bold[green]%}%p%{$reset_color%}${vcs_info_msg_0_}${dir_status} ${ret_status}%{$reset_color%} +> ' + elif [[ $(git diff --cached --name-status 2>/dev/null ) != "" ]]; then + dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})" + PROMPT='${vcs_info_msg_0_} +%{$fg_bold[green]%}%p%{$reset_color%}${dir_status} ${vcs_info_msg_0_}%{$reset_color%} +> ' + + elif [[ $(git diff --name-status 2>/dev/null ) != "" ]]; then + dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})" + + PROMPT='${vcs_info_msg_0_} +%{$fg_bold[green]%}%p%{$reset_color%}${dir_status}%{$reset_color%} +%{$c9%}·>%{$c0%} ' + else + dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})" + PROMPT='${vcs_info_msg_0_} +%{$fg_bold[green]%}%p%{$reset_color%}${dir_status} ${vcs_info_msg_0_}%{$reset_color%} +> ' + + fi +} + + +#PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$reset_color%} ${vcs_info_msg_0_}${dir_status}%{$reset_color%} +#> ' + +# vim: set ft=zsh ts=4 sw=4 et: + + From 8247cbf8b56ebd5915813bb1fafb72e71fc06c8f Mon Sep 17 00:00:00 2001 From: lunks Date: Fri, 14 May 2010 04:42:24 +0800 Subject: [PATCH 195/518] modified macovsky to support ruby version --- themes/macovsky.zsh-theme | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/macovsky.zsh-theme b/themes/macovsky.zsh-theme index db7f914..4eb4102 100644 --- a/themes/macovsky.zsh-theme +++ b/themes/macovsky.zsh-theme @@ -1,8 +1,8 @@ # ZSH Theme - Preview: http://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" -PROMPT='%{$fg[green]%}%~%{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b ' +PROMPT='%{$fg[green]%}%~%{$reset_color%} %{$fg[red]%}‹$(~/.rvm/bin/rvm-prompt i v)› %{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b ' RPS1="${return_code}" ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹" -ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" \ No newline at end of file +ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" From f02c9560b3089fae2639a466ea39263553619df5 Mon Sep 17 00:00:00 2001 From: lunks Date: Fri, 14 May 2010 07:15:31 +0800 Subject: [PATCH 196/518] macowsky modified theme with ruby version on prompt --- themes/macovsky-ruby.zsh-theme | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 themes/macovsky-ruby.zsh-theme diff --git a/themes/macovsky-ruby.zsh-theme b/themes/macovsky-ruby.zsh-theme new file mode 100644 index 0000000..4eb4102 --- /dev/null +++ b/themes/macovsky-ruby.zsh-theme @@ -0,0 +1,8 @@ +# ZSH Theme - Preview: http://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +PROMPT='%{$fg[green]%}%~%{$reset_color%} %{$fg[red]%}‹$(~/.rvm/bin/rvm-prompt i v)› %{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b ' +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" From ba9c78fc9b83752e970f7a1bc1b16a582672bd58 Mon Sep 17 00:00:00 2001 From: Alan Harper Date: Wed, 19 May 2010 14:53:16 +0800 Subject: [PATCH 197/518] Import rvm prompt --- lib/rvm.zsh | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 lib/rvm.zsh diff --git a/lib/rvm.zsh b/lib/rvm.zsh new file mode 100644 index 0000000..597be1b --- /dev/null +++ b/lib/rvm.zsh @@ -0,0 +1,7 @@ +# get the name of the branch we are on +function rvm_prompt_info() { + ruby_version=$(~/.rvm/bin/rvm-prompt 2> /dev/null) || return + echo "($ruby_version)" +} + + From 0dbfeb9c23cfd3bffd2f744a5db17c3613ea44d2 Mon Sep 17 00:00:00 2001 From: Alan Harper Date: Wed, 19 May 2010 14:53:38 +0800 Subject: [PATCH 198/518] aussiegeek theme (include showing rvm prompt) --- themes/aussiegeek.zsh-theme | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 themes/aussiegeek.zsh-theme diff --git a/themes/aussiegeek.zsh-theme b/themes/aussiegeek.zsh-theme new file mode 100644 index 0000000..c2c7f65 --- /dev/null +++ b/themes/aussiegeek.zsh-theme @@ -0,0 +1,8 @@ + +PROMPT='$fg_bold[blue][ $fg[red]%t $fg_bold[blue]] $fg_bold[blue] [ $fg[red]%n@%m:%~$(git_prompt_info)$fg[yellow]$(rvm_prompt_info)$fg_bold[blue] ]$reset_color + $ ' +# git theming +ZSH_THEME_GIT_PROMPT_PREFIX="$fg_bold[green](" +ZSH_THEME_GIT_PROMPT_SUFFIX=")" +ZSH_THEME_GIT_PROMPT_CLEAN="✔" +ZSH_THEME_GIT_PROMPT_DIRTY="✗" From f2f34f5404e8ab674a0e345a709783b6c56a3b72 Mon Sep 17 00:00:00 2001 From: Thomas J Bradley Date: Thu, 27 May 2010 06:37:52 +0800 Subject: [PATCH 199/518] Added my zsh theme file, heavily based on sjl's --- themes/thomasjbradley.zsh-theme | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 themes/thomasjbradley.zsh-theme diff --git a/themes/thomasjbradley.zsh-theme b/themes/thomasjbradley.zsh-theme new file mode 100644 index 0000000..857301d --- /dev/null +++ b/themes/thomasjbradley.zsh-theme @@ -0,0 +1,29 @@ +function prompt_char { + git branch >/dev/null 2>/dev/null && echo '±' && return + hg root >/dev/null 2>/dev/null && echo '☿' && return + echo '○' +} + +function virtualenv_info { + [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' +} + +function hg_prompt_info { + hg prompt --angle-brackets "\ +< on %{$fg[magenta]%}%{$reset_color%}>\ +< at %{$fg[yellow]%}%{$reset_color%}>\ +%{$fg[green]%}%{$reset_color%}< +patches: >" 2>/dev/null +} + +PROMPT=' +%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(hg_prompt_info)$(git_prompt_info) +$(virtualenv_info)$(prompt_char) ' + +ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +. ~/bin/dotfiles/zsh/aliases From c5c870ac0556467a1b21f4298fda6aeefcc93ecd Mon Sep 17 00:00:00 2001 From: Vincent Driessen Date: Fri, 28 May 2010 03:20:27 +0800 Subject: [PATCH 200/518] Added customized version of the wezm theme (mainly added username/host in the prompt). --- themes/wezm+.zsh-theme | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 themes/wezm+.zsh-theme diff --git a/themes/wezm+.zsh-theme b/themes/wezm+.zsh-theme new file mode 100644 index 0000000..fee3eb0 --- /dev/null +++ b/themes/wezm+.zsh-theme @@ -0,0 +1,7 @@ +PROMPT='%{${fg_bold[yellow]}%}%n%{$reset_color%}%{${fg[yellow]}%}@%m%{$reset_color%} $(git_prompt_info)%(?,,%{${fg_bold[white]}%}[%?]%{$reset_color%} )%{$fg[yellow]%}%#%{$reset_color%} ' +RPROMPT='%{$fg[green]%}%~%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[blue]%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%})%{$fg[red]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" From eb0f3c0234e88bbbf5ca014ace8d8d801207c222 Mon Sep 17 00:00:00 2001 From: Joseph Bergantine Date: Mon, 24 May 2010 04:03:27 +0800 Subject: [PATCH 201/518] adding my zsh theme -- only difference from robby's being that i'm using white instead of blue for legibility over brown --- themes/jbergantine.zsh-theme | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 themes/jbergantine.zsh-theme diff --git a/themes/jbergantine.zsh-theme b/themes/jbergantine.zsh-theme new file mode 100644 index 0000000..d84247c --- /dev/null +++ b/themes/jbergantine.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[white]%}$(git_prompt_info)%{$fg_bold[white]%} % %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[white]%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[white]%})" From 81aa74b73cc221b5050e28ccf35d29317812edf9 Mon Sep 17 00:00:00 2001 From: MasterLambaster Date: Mon, 31 May 2010 17:09:45 +0800 Subject: [PATCH 202/518] Eastwood theme with optional RVM support --- themes/eastwood.zsh-theme | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 themes/eastwood.zsh-theme diff --git a/themes/eastwood.zsh-theme b/themes/eastwood.zsh-theme new file mode 100644 index 0000000..8366451 --- /dev/null +++ b/themes/eastwood.zsh-theme @@ -0,0 +1,19 @@ +#RVM settings +if [[ -s ~/.rvm/scripts/rvm ]] ; then + RPS1="%{$fg[yellow]%}rvm:%{$reset_color%}%{$fg[red]%}\$(~/.rvm/bin/rvm-prompt)%{$reset_color%} $EPS1" +fi + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}%{$fg[green]%}[" +ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +#Customized git status, oh-my-zsh currently does not allow render dirty status before branch +git_custom_status() { + local cb=$(current_branch) + if [ -n "$cb" ]; then + echo "$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_PREFIX$(current_branch)$ZSH_THEME_GIT_PROMPT_SUFFIX" + fi +} + +PROMPT='$(git_custom_status)%{$fg[cyan]%}[%~% ]%{$reset_color%}%B$%b ' From 3cf9ab722e7c0829727f548c7d05a0d96055f707 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Thu, 3 Jun 2010 12:03:26 -0700 Subject: [PATCH 203/518] Initial implementation of a new plugin system, so that people can managed which aliases/functions they want. --- lib/aliases.zsh | 28 ---------------------------- lib/functions.zsh | 21 --------------------- lib/git.zsh | 15 --------------- oh-my-zsh.sh | 4 ++++ plugins/git.plugin.zsh | 21 +++++++++++++++++++++ plugins/lighthouse.plugin.zsh | 16 ++++++++++++++++ plugins/rails.plugin.zsh | 10 ++++++++++ plugins/ruby.plugin.zsh | 4 ++++ plugins/textmate.plugin.zsh | 14 ++++++++++++++ 9 files changed, 69 insertions(+), 64 deletions(-) create mode 100644 plugins/git.plugin.zsh create mode 100644 plugins/lighthouse.plugin.zsh create mode 100644 plugins/rails.plugin.zsh create mode 100644 plugins/ruby.plugin.zsh create mode 100644 plugins/textmate.plugin.zsh diff --git a/lib/aliases.zsh b/lib/aliases.zsh index d891cc0..89c904a 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -1,19 +1,7 @@ -#!/bin/zsh - # Push and pop directories on directory stack alias pu='pushd' alias po='popd' -alias ss='thin --stats "/thin/stats" start' -alias sg='ruby script/generate' -alias sd='ruby script/destroy' -alias sp='ruby script/plugin' -alias ssp='ruby script/spec' -alias rdbm='rake db:migrate' -alias sc='ruby script/console' -alias sd='ruby script/server --debugger' -alias devlog='tail -f log/development.log' - # Basic directory operations alias .='pwd' alias ...='cd ../..' @@ -33,20 +21,4 @@ alias l='ls -la' alias ll='ls -alr' alias sl=ls # often screw this up -alias sgem='sudo gem' - -# Find ruby file -alias rfind='find . -name *.rb | xargs grep -n' alias afind='ack-grep -il' - -# Git and svn mix -alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' - -# TextMate -alias et='mate . &' -alias ett='mate app config lib db public spec test Rakefile Capfile Todo &' -alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' -alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' - -# Editor Ruby file in TextMate -alias mr='mate CHANGELOG app config db lib public script spec test' diff --git a/lib/functions.zsh b/lib/functions.zsh index 74b93f0..35c3f3c 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -54,24 +54,3 @@ function take() { cd $1 } -function tm() { - cd $1 - mate $1 -} - -# To use: add a .lighthouse file into your directory with the URL to the -# individual project. For example: -# https://rails.lighthouseapp.com/projects/8994 -# Example usage: http://screencast.com/t/ZDgwNDUwNT -open_lighthouse_ticket () { - if [ ! -f .lighthouse-url ]; then - echo "There is no .lighthouse file in the current directory..." - return 0; - else - lighthouse_url=$(cat .lighthouse-url); - echo "Opening ticket #$1"; - `open $lighthouse_url/tickets/$1`; - fi -} - -alias lho='open_lighthouse_ticket' diff --git a/lib/git.zsh b/lib/git.zsh index 1d1d24d..a54e5bc 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -20,18 +20,3 @@ function current_branch() { ref=$(git symbolic-ref HEAD 2> /dev/null) || return echo ${ref#refs/heads/} } - -# Aliases -alias g='git' -alias gst='git status' -alias gl='git pull' -alias gup='git fetch && git rebase' -alias gp='git push' -alias gd='git diff | mate' -alias gdv='git diff -w "$@" | vim -R -' -alias gc='git commit -v' -alias gca='git commit -v -a' -alias gb='git branch' -alias gba='git branch -a' -alias gcount='git shortlog -sn' -alias gcp='git cherry-pick' diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index a41f3d8..bb45c71 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -10,6 +10,10 @@ for config_file ($ZSH/lib/*.zsh) source $config_file # Load all of your custom configurations from custom/ for config_file ($ZSH/custom/*.zsh) source $config_file +# Load all of the plugins that were defined in ~/.zshrc +plugin=${plugin:=()} +for plugin ($plugins) source $ZSH/plugins/$plugin.plugin.zsh + # Check for updates on initial load... if [ "$DISABLE_AUTO_UPDATE" = "true" ] then diff --git a/plugins/git.plugin.zsh b/plugins/git.plugin.zsh new file mode 100644 index 0000000..26777a6 --- /dev/null +++ b/plugins/git.plugin.zsh @@ -0,0 +1,21 @@ +# Aliases +alias g='git' +alias gst='git status' +alias gl='git pull' +alias gup='git fetch && git rebase' +alias gp='git push' +alias gd='git diff | mate' +alias gdv='git diff -w "$@" | vim -R -' +alias gc='git commit -v' +alias gca='git commit -v -a' +alias gb='git branch' +alias gba='git branch -a' +alias gcount='git shortlog -sn' +alias gcp='git cherry-pick' + + +# Git and svn mix +alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' + +alias ggpull='git pull origin $(current_branch)' +alias ggpush='git push origin $(current_branch)' diff --git a/plugins/lighthouse.plugin.zsh b/plugins/lighthouse.plugin.zsh new file mode 100644 index 0000000..4eb06a9 --- /dev/null +++ b/plugins/lighthouse.plugin.zsh @@ -0,0 +1,16 @@ +# To use: add a .lighthouse file into your directory with the URL to the +# individual project. For example: +# https://rails.lighthouseapp.com/projects/8994 +# Example usage: http://screencast.com/t/ZDgwNDUwNT +open_lighthouse_ticket () { + if [ ! -f .lighthouse-url ]; then + echo "There is no .lighthouse file in the current directory..." + return 0; + else + lighthouse_url=$(cat .lighthouse-url); + echo "Opening ticket #$1"; + `open $lighthouse_url/tickets/$1`; + fi +} + +alias lho='open_lighthouse_ticket' \ No newline at end of file diff --git a/plugins/rails.plugin.zsh b/plugins/rails.plugin.zsh new file mode 100644 index 0000000..fb21da8 --- /dev/null +++ b/plugins/rails.plugin.zsh @@ -0,0 +1,10 @@ + +alias ss='thin --stats "/thin/stats" start' +alias sg='ruby script/generate' +alias sd='ruby script/destroy' +alias sp='ruby script/plugin' +alias ssp='ruby script/spec' +alias rdbm='rake db:migrate' +alias sc='ruby script/console' +alias sd='ruby script/server --debugger' +alias devlog='tail -f log/development.log' \ No newline at end of file diff --git a/plugins/ruby.plugin.zsh b/plugins/ruby.plugin.zsh new file mode 100644 index 0000000..82bf5d4 --- /dev/null +++ b/plugins/ruby.plugin.zsh @@ -0,0 +1,4 @@ +alias sgem='sudo gem' + +# Find ruby file +alias rfind='find . -name *.rb | xargs grep -n' \ No newline at end of file diff --git a/plugins/textmate.plugin.zsh b/plugins/textmate.plugin.zsh new file mode 100644 index 0000000..7b73e27 --- /dev/null +++ b/plugins/textmate.plugin.zsh @@ -0,0 +1,14 @@ + +# TextMate +alias et='mate . &' +alias ett='mate app config lib db public spec test Rakefile Capfile Todo &' +alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' +alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' + +# Editor Ruby file in TextMate +alias mr='mate CHANGELOG app config db lib public script spec test' + +function tm() { + cd $1 + mate $1 +} From 31dace882969e04e0256dac4ddb333f648707106 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Thu, 3 Jun 2010 12:05:12 -0700 Subject: [PATCH 204/518] Updating default .zshrc template file to include plugins declaration --- templates/zshrc.zsh-template | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template index d905be0..8022b35 100644 --- a/templates/zshrc.zsh-template +++ b/templates/zshrc.zsh-template @@ -14,6 +14,10 @@ export ZSH_THEME="robbyrussell" # Uncomment following line if you want to disable colors in ls # export DISABLE_LS_COLORS="true" +# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) +# Example format: plugins=(rails git textmate ruby lighthouse) +plugins=(git) + source $ZSH/oh-my-zsh.sh # Customize to your needs... From c21d3775a9663daf69133ae8dcd0a2697ef694fa Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Thu, 3 Jun 2010 12:32:55 -0700 Subject: [PATCH 205/518] Moving capistrano functions to rails plugin --- plugins/rails.plugin.zsh | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/plugins/rails.plugin.zsh b/plugins/rails.plugin.zsh index fb21da8..b7f62a0 100644 --- a/plugins/rails.plugin.zsh +++ b/plugins/rails.plugin.zsh @@ -7,4 +7,26 @@ alias ssp='ruby script/spec' alias rdbm='rake db:migrate' alias sc='ruby script/console' alias sd='ruby script/server --debugger' -alias devlog='tail -f log/development.log' \ No newline at end of file +alias devlog='tail -f log/development.log' + +function _cap_does_task_list_need_generating () { + if [ ! -f .cap_tasks~ ]; then return 0; + else + accurate=$(stat -f%m .cap_tasks~) + changed=$(stat -f%m config/deploy.rb) + return $(expr $accurate '>=' $changed) + fi +} + +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~ + fi + compadd `cat .cap_tasks~` + fi +} + +compctl -K _cap cap From ab2c0744abc648da9c35dc52f4c0b3c0623b989d Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Thu, 3 Jun 2010 12:33:15 -0700 Subject: [PATCH 206/518] Removing rake completion from lib/ as it was moved to rails plugin --- lib/rake_completion.zsh | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 lib/rake_completion.zsh diff --git a/lib/rake_completion.zsh b/lib/rake_completion.zsh deleted file mode 100644 index 8336182..0000000 --- a/lib/rake_completion.zsh +++ /dev/null @@ -1,21 +0,0 @@ -function _cap_does_task_list_need_generating () { - if [ ! -f .cap_tasks~ ]; then return 0; - else - accurate=$(stat -f%m .cap_tasks~) - changed=$(stat -f%m config/deploy.rb) - return $(expr $accurate '>=' $changed) - fi -} - -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~ - fi - compadd `cat .cap_tasks~` - fi -} - -compctl -K _cap cap From 455669e97606bb512b9f69fc1ed9b8fea5105a33 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Thu, 3 Jun 2010 12:54:40 -0700 Subject: [PATCH 207/518] Removing legacy completion code --- lib/completion.zsh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index b627ef8..cba9017 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -27,8 +27,6 @@ zstyle ':completion:*' list-colors '' bindkey -M menuselect '^o' accept-and-infer-next-history zstyle ':completion:*:*:*:*:*' menu select -# zstyle ':completion:*:*:*:*:processes' force-list always - zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01' zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w" @@ -37,9 +35,3 @@ if [ -f ~/.ssh/known_hosts ]; then zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts ) zstyle ':completion:*:*:(ssh|scp):*:*' hosts `sed 's/^\([^ ,]*\).*$/\1/' ~/.ssh/known_hosts` fi - -# Complete on history -#zstyle ':completion:*:history-words' stop yes -#zstyle ':completion:*:history-words' remove-all-dups yes -#zstyle ':completion:*:history-words' list false -#zstyle ':completion:*:history-words' menu yes From 89bd2bf317fe458c6a6154824823670dd2d32660 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Thu, 3 Jun 2010 12:55:07 -0700 Subject: [PATCH 208/518] Moving some rails and osx-specific functions to their corresponding plugin files --- lib/functions.zsh | 16 ---------------- plugins/osx.plugin.zsh | 11 +++++++++++ plugins/rails.plugin.zsh | 4 ++++ 3 files changed, 15 insertions(+), 16 deletions(-) create mode 100644 plugins/osx.plugin.zsh diff --git a/lib/functions.zsh b/lib/functions.zsh index 35c3f3c..fcbe994 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -21,10 +21,6 @@ function preexec { title $cmd[1]:t "$cmd[2,-1]" } -function remote_console() { - /usr/bin/env ssh $1 "( cd $2 && ruby script/console production )" -} - function zsh_stats() { history | awk '{print $2}' | sort | uniq -c | sort -rn | head } @@ -37,18 +33,6 @@ function upgrade_oh_my_zsh() { /bin/sh $ZSH/tools/upgrade.sh } -function tab() { - osascript 2>/dev/null </dev/null < Date: Thu, 3 Jun 2010 12:56:11 -0700 Subject: [PATCH 209/518] Moving current_branch() to git plugin --- lib/git.zsh | 9 --------- plugins/git.plugin.zsh | 10 ++++++++++ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/lib/git.zsh b/lib/git.zsh index a54e5bc..889dd98 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -11,12 +11,3 @@ parse_git_dirty () { echo "$ZSH_THEME_GIT_PROMPT_CLEAN" fi } - -# -# Will return the current branch name -# Usage example: git pull origin $(current_branch) -# -function current_branch() { - ref=$(git symbolic-ref HEAD 2> /dev/null) || return - echo ${ref#refs/heads/} -} diff --git a/plugins/git.plugin.zsh b/plugins/git.plugin.zsh index 26777a6..e0d9670 100644 --- a/plugins/git.plugin.zsh +++ b/plugins/git.plugin.zsh @@ -17,5 +17,15 @@ alias gcp='git cherry-pick' # Git and svn mix alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' +# +# Will return the current branch name +# Usage example: git pull origin $(current_branch) +# +function current_branch() { + ref=$(git symbolic-ref HEAD 2> /dev/null) || return + echo ${ref#refs/heads/} +} + +# these aliases take advangate of the previous function alias ggpull='git pull origin $(current_branch)' alias ggpush='git push origin $(current_branch)' From dea166411f134b33ae36c4ec4c51e71248dfa2a3 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Thu, 3 Jun 2010 12:59:49 -0700 Subject: [PATCH 210/518] Moving brew functions to it's own plugin --- functions/_brew => plugins/brew.plugin.zsh | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename functions/_brew => plugins/brew.plugin.zsh (100%) diff --git a/functions/_brew b/plugins/brew.plugin.zsh similarity index 100% rename from functions/_brew rename to plugins/brew.plugin.zsh From 59bfd87e08c127e6aacf473e99d2ebbc20e633ff Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Thu, 3 Jun 2010 13:01:41 -0700 Subject: [PATCH 211/518] Adding some candy to the upgrade script --- tools/upgrade.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/upgrade.sh b/tools/upgrade.sh index 6dee42c..6bdd02e 100644 --- a/tools/upgrade.sh +++ b/tools/upgrade.sh @@ -1,6 +1,12 @@ current_path=`pwd` echo "Upgrading Oh My Zsh" ( cd $ZSH && git pull origin master ) +echo ' __ __ ' +echo ' ____ / /_ ____ ___ __ __ ____ _____/ /_ ' +echo ' / __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \ ' +echo '/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / / ' +echo '\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ ' +echo ' /____/' echo "Hooray! Oh My Zsh has been updated and/or is at the current version. \nAny new updates will be reflected when you start your next terminal session." echo "To keep up on the latest, be sure to follow Oh My Zsh on twitter: http://twitter.com/ohmyzsh" cd $current_path \ No newline at end of file From 6774490a467016db70e9ec1ddd1bab6fe37a722a Mon Sep 17 00:00:00 2001 From: James Rowe Date: Sun, 9 May 2010 21:17:20 +0800 Subject: [PATCH 212/518] Don't auto-correct ebuild commands. It breaks "ebuild manifest", as there are Manifest files in the directory. --- lib/correction.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/correction.zsh b/lib/correction.zsh index a96f7ff..043320a 100644 --- a/lib/correction.zsh +++ b/lib/correction.zsh @@ -6,3 +6,4 @@ alias mysql='nocorrect mysql' alias mkdir='nocorrect mkdir' alias gist='nocorrect gist' alias heroku='nocorrect heroku' +alias ebuild='nocorrect ebuild' From edc8e3d092bc758fa9dd4f3472d2c6ec9d03b737 Mon Sep 17 00:00:00 2001 From: James Rowe Date: Sun, 9 May 2010 21:16:33 +0800 Subject: [PATCH 213/518] Ignore commands that start with a space. This is useful when you want to use a dangerous command, as it won't be available with history searching. --- lib/history.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/history.zsh b/lib/history.zsh index 509be8f..ca6f570 100644 --- a/lib/history.zsh +++ b/lib/history.zsh @@ -10,6 +10,7 @@ setopt hist_verify setopt inc_append_history setopt extended_history setopt hist_expire_dups_first +setopt hist_ignore_space setopt SHARE_HISTORY setopt APPEND_HISTORY From f9fbd079832637c192e35fe65532495a37a3e3d3 Mon Sep 17 00:00:00 2001 From: James Rowe Date: Sun, 9 May 2010 22:23:11 +0800 Subject: [PATCH 214/518] Don't display dotfiles or reverse sort with ll alias. The ll alias is a very common default for bash in Linux distributions, so use that definition. --- lib/aliases.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index 89c904a..80760a1 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -18,7 +18,7 @@ alias history='fc -l 1' # List direcory contents alias lsa='ls -lah' alias l='ls -la' -alias ll='ls -alr' +alias ll='ls -l' alias sl=ls # often screw this up alias afind='ack-grep -il' From 3bc73012041c8762fa0276c6e02ac46fb3698a32 Mon Sep 17 00:00:00 2001 From: James Rowe Date: Thu, 12 Nov 2009 14:52:53 +0800 Subject: [PATCH 215/518] Added a minimum zsh version note. --- README.textile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.textile b/README.textile index 950f886..23d8b53 100644 --- a/README.textile +++ b/README.textile @@ -4,6 +4,8 @@ bq. "OH MY ZSHELL!" h2. Setup +@oh-my-zsh@ should work with any recent release of "zsh":http://www.zsh.org/, the minimum recommended version is 4.3.9. + h3. The automatic installer... (do you trust me?) @wget http://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh@ From 6efc79c74edbc8cfbb5cdc438332eeae9b950508 Mon Sep 17 00:00:00 2001 From: James Rowe Date: Sun, 22 Nov 2009 01:38:55 +0800 Subject: [PATCH 216/518] Don't correct hpodder commands. --- lib/correction.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/correction.zsh b/lib/correction.zsh index 043320a..fc60dcd 100644 --- a/lib/correction.zsh +++ b/lib/correction.zsh @@ -7,3 +7,4 @@ alias mkdir='nocorrect mkdir' alias gist='nocorrect gist' alias heroku='nocorrect heroku' alias ebuild='nocorrect ebuild' +alias hpodder='nocorrect hpodder' From 47e9914529e0807681c3c6dd2c11187ee67f0326 Mon Sep 17 00:00:00 2001 From: Takashi Yoshida Date: Mon, 31 May 2010 00:56:26 +0800 Subject: [PATCH 217/518] Added my own theme. --- themes/takashiyoshida.zsh-theme | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 themes/takashiyoshida.zsh-theme diff --git a/themes/takashiyoshida.zsh-theme b/themes/takashiyoshida.zsh-theme new file mode 100644 index 0000000..419a8cf --- /dev/null +++ b/themes/takashiyoshida.zsh-theme @@ -0,0 +1,27 @@ +# +# PROMPT +# +PROMPT_BRACKET_BEGIN='%{$fg_bold[white]%}[' +PROMPT_HOST='%{$fg_bold[cyan]%}%m' +PROMPT_SEPARATOR='%{$reset_color%}:' +PROMPT_DIR='%{$fg_bold[yellow]%}%c' +PROMPT_BRACKET_END='%{$fg_bold[white]%}]' + +PROMPT_USER='%{$fg_bold[white]%}%n' +PROMPT_SIGN='%{$reset_color%}%#' + +GIT_PROMPT_INFO='$(git_prompt_info)' + +# My current prompt looks like: +# [host:current_dir] (git_prompt_info) +# [username]% +PROMPT="${PROMPT_BRACKET_BEGIN}${PROMPT_HOST}${PROMPT_SEPARATOR}${PROMPT_DIR}${PROMPT_BRACKET_END}${GIT_PROMPT_INFO} +${PROMPT_BRACKET_BEGIN}${PROMPT_USER}${PROMPT_BRACKET_END}${PROMPT_SIGN} " + +# +# Git repository +# +ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!" +ZSH_THEME_GIT_PROMPT_CLEAN='' From 6bb13632f538db339520ab2b46794006a405430f Mon Sep 17 00:00:00 2001 From: Tobias Birmili Date: Sun, 6 Jun 2010 18:42:25 +0800 Subject: [PATCH 218/518] added plugin to control macports mysql-server installation --- plugins/mysql-macports.plugin.zsh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 plugins/mysql-macports.plugin.zsh diff --git a/plugins/mysql-macports.plugin.zsh b/plugins/mysql-macports.plugin.zsh new file mode 100644 index 0000000..63b881c --- /dev/null +++ b/plugins/mysql-macports.plugin.zsh @@ -0,0 +1,6 @@ +# commands to control local mysql-server installation +# paths are for osx installtion via macports + +alias mysqlstart='sudo /opt/local/bin/mysqld_safe5' +alias mysqlstop='/opt/local/bin/mysqladmin5 -u root -p shutdown' +alias mysqlstatus='mysqladmin5 -u root -p ping' \ No newline at end of file From b26ff059653716fd38d1813b797572bbec718c16 Mon Sep 17 00:00:00 2001 From: toabi Date: Sun, 6 Jun 2010 22:14:13 +0800 Subject: [PATCH 219/518] updated the readme --- README.textile | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/README.textile b/README.textile index 23d8b53..8b1b687 100644 --- a/README.textile +++ b/README.textile @@ -27,22 +27,19 @@ h3. The manual way @chsh -s /bin/zsh@ -4. Start / restart zsh (open a new terminal is easy enough..) +4. Start / restart zsh (open a new terminal is easy enough...) h3. Problems? -You _might_ need to modify your PATH in ~/.zshrc if you're not able to find some commands after switching to oh-my-zsh. +You _might_ need to modify your PATH in ~/.zshrc if you're not able to find some commands after switching to _Oh My Zsh_. h2. Usage -TODO: Update this.. - -* Rake autocomplete: @rake (tab)@. Will generate a cache of all your rake tasks and then let you auto-complete and/or select the task to run. -* ssh autocomplete: @ssh (tab)@ or @scp (tab)@ -* Git branch, it'll tell you which branch you're in when you're in a git repository directory. +* enable the plugins you want in your @~/.zshrc@ (take a look at @plugins/@ to see what's possible) +** example: @plugins=(git osx ruby)@ * Theme support: Change the @ZSH_THEME@ environment variable in @~/.zshrc@. -** Take a look at the "current themes":http://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with Oh My Zsh. -* much much more.. +** Take a look at the "current themes":http://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with _Oh My Zsh_. +* much much more... take a look at @lib/@ what _Oh My Zsh_ offers... h2. Useful @@ -51,6 +48,7 @@ the "refcard":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty tasty fo h3. Customization If you want to override any of the default behavior, just add a new file (ending in @.zsh@) into the @custom/@ directory. +If you have many functions which go good together you can put them as a *.plugin.zsh file in the @plugin/@ directory and then enable this plugin. h3. Uninstalling @@ -68,8 +66,4 @@ I'm far from being a zsh-expert and suspect there are many ways to improve. If y h3. Send us your theme! -I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory. - -h3. Todo from imajes: - -* need to make the title bar support git folder \ No newline at end of file +I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory. \ No newline at end of file From 7f350da5b74c65ed99766c8ebd5137aee9479225 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Thu, 10 Jun 2010 07:50:13 -0700 Subject: [PATCH 220/518] Adding a ggpnp which does a git pull followed by a git push. --- plugins/git.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/git.plugin.zsh b/plugins/git.plugin.zsh index e0d9670..655eaf7 100644 --- a/plugins/git.plugin.zsh +++ b/plugins/git.plugin.zsh @@ -29,3 +29,4 @@ function current_branch() { # these aliases take advangate of the previous function alias ggpull='git pull origin $(current_branch)' alias ggpush='git push origin $(current_branch)' +alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)' \ No newline at end of file From 8c419ae3b5b77a24485c6a68e6af1a0384db67a8 Mon Sep 17 00:00:00 2001 From: NanoTech Date: Sat, 12 Jun 2010 16:31:02 -0600 Subject: [PATCH 221/518] Added my theme (nanotech). --- themes/nanotech.zsh-theme | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 themes/nanotech.zsh-theme diff --git a/themes/nanotech.zsh-theme b/themes/nanotech.zsh-theme new file mode 100644 index 0000000..eddb23c --- /dev/null +++ b/themes/nanotech.zsh-theme @@ -0,0 +1,7 @@ +PROMPT=' %{$fg_bold[green]%}%2c %{$fg_bold[blue]%}%{[%}%{$reset_color%} ' +RPROMPT='$(git_prompt_info) %{$fg[blue]%}] %{$fg[green]%}%D{%L:%M} %{$fg[yellow]%}%D{%p}%{$reset_color%} ' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}*%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" From 5b8bc7aeebdf5f28da811a29bdcdf41e0f08c218 Mon Sep 17 00:00:00 2001 From: Alessandro Ghedini Date: Mon, 16 Aug 2010 21:47:21 +0200 Subject: [PATCH 222/518] add candy theme --- themes/candy.zsh-theme | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 themes/candy.zsh-theme diff --git a/themes/candy.zsh-theme b/themes/candy.zsh-theme new file mode 100644 index 0000000..bc125c5 --- /dev/null +++ b/themes/candy.zsh-theme @@ -0,0 +1,7 @@ +PROMPT=$'%{$fg_bold[green]%}%n@%m %{$fg[blue]%}%D{[%I:%M:%S]} %{$reset_color%}%{$fg[white]%}[%~]%{$reset_color%} $(git_prompt_info)\ +%{$fg[blue]%}->%{$fg_bold[blue]%} %#%{$reset_color%} ' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}[" +ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}*%{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" From eb14ee1c630a4ae02234e78eabf3e8416dc9d977 Mon Sep 17 00:00:00 2001 From: Josh Price Date: Tue, 17 Aug 2010 22:45:10 +1000 Subject: [PATCH 223/518] Added my own theme based on pat's --- themes/josh.zsh-theme | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 themes/josh.zsh-theme diff --git a/themes/josh.zsh-theme b/themes/josh.zsh-theme new file mode 100644 index 0000000..9d59bd9 --- /dev/null +++ b/themes/josh.zsh-theme @@ -0,0 +1,43 @@ +grey='\e[0;90m' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$grey%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$grey%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$grey%})" + +function pat_prompt { + (( spare_width = ${COLUMNS} )) + prompt=" " + + branch=$(current_branch) + ruby_version=$(rvm_prompt_info) + path_size=${#PWD} + branch_size=${#branch} + ruby_size=${#ruby_version} + machine_size=11 + + if [[ ${#branch} -eq 0 ]] + then (( ruby_size = ruby_size + 1 )) + else + (( branch_size = branch_size + 4 )) + if [[ -n $(git status -s 2> /dev/null) ]]; then + (( branch_size = branch_size + 2 )) + fi + fi + + (( spare_width = ${spare_width} - (${machine_size} + ${path_size} + ${branch_size} + ${ruby_size}) )) + + while [ ${#prompt} -lt $spare_width ]; do + prompt=" $prompt" + done + + prompt="%{%F{green}%}$PWD$prompt%{%F{red}%}$(rvm_prompt_info)%{$reset_color%} $(git_prompt_info)" + + echo $prompt +} + +setopt prompt_subst + +PROMPT=' +%n@%m $(pat_prompt) +%(?,%{%F{green}%},%{%F{red}%})⚡%{$reset_color%} ' From 1582570919b5bed145d38d1d60ae8572f4552f25 Mon Sep 17 00:00:00 2001 From: Josh Price Date: Tue, 17 Aug 2010 23:22:26 +1000 Subject: [PATCH 224/518] Made the user_machine_size calculation generic. Pwned the function name. --- themes/josh.zsh-theme | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/themes/josh.zsh-theme b/themes/josh.zsh-theme index 9d59bd9..6bed1a7 100644 --- a/themes/josh.zsh-theme +++ b/themes/josh.zsh-theme @@ -5,7 +5,7 @@ ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" ZSH_THEME_GIT_PROMPT_DIRTY="%{$grey%}) %{$fg[yellow]%}✗%{$reset_color%}" ZSH_THEME_GIT_PROMPT_CLEAN="%{$grey%})" -function pat_prompt { +function josh_prompt { (( spare_width = ${COLUMNS} )) prompt=" " @@ -14,7 +14,7 @@ function pat_prompt { path_size=${#PWD} branch_size=${#branch} ruby_size=${#ruby_version} - machine_size=11 + user_machine_size=${#${(%):-%n@%m-}} if [[ ${#branch} -eq 0 ]] then (( ruby_size = ruby_size + 1 )) @@ -25,7 +25,7 @@ function pat_prompt { fi fi - (( spare_width = ${spare_width} - (${machine_size} + ${path_size} + ${branch_size} + ${ruby_size}) )) + (( spare_width = ${spare_width} - (${user_machine_size} + ${path_size} + ${branch_size} + ${ruby_size}) )) while [ ${#prompt} -lt $spare_width ]; do prompt=" $prompt" @@ -39,5 +39,5 @@ function pat_prompt { setopt prompt_subst PROMPT=' -%n@%m $(pat_prompt) +%n@%m $(josh_prompt) %(?,%{%F{green}%},%{%F{red}%})⚡%{$reset_color%} ' From 95ccb4db1a33c3cdcf7afd134567b8930fe8b6f5 Mon Sep 17 00:00:00 2001 From: Daniel Schauenberg Date: Mon, 9 Aug 2010 15:45:40 +0200 Subject: [PATCH 225/518] update brew plugin from homebrew contributions --- plugins/brew.plugin.zsh | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/plugins/brew.plugin.zsh b/plugins/brew.plugin.zsh index 91397bf..162eb64 100644 --- a/plugins/brew.plugin.zsh +++ b/plugins/brew.plugin.zsh @@ -1,6 +1,6 @@ #compdef brew -# copied from _fink +# imported from the latest homebrew contributions _brew_all_formulae() { formulae=(`brew search`) @@ -12,19 +12,25 @@ _brew_installed_formulae() { local -a _1st_arguments _1st_arguments=( - 'install:install a formula' - 'remove:remove a formula' - 'search:search for a formula (/regex/ or string)' - 'list:list files in a formula or not-installed formulae' - 'link:link a formula' - 'unlink:unlink a formula' + 'cat:display formula file for a formula' + 'cleanup:uninstall unused and old versions of packages' + 'create:create a new formula' + 'deps:list dependencies and dependants of a formula' + 'doctor:audits your installation for common issues' + 'edit:edit a formula' 'home:visit the homepage of a formula or the brew project' 'info:information about a formula' - 'prune:remove dead links' - 'update:freshen up links' + 'install:install a formula' + 'link:link a formula' + 'list:list files in a formula or not-installed formulae' 'log:git commit log for a formula' - 'create:create a new formula' - 'edit:edit a formula' + 'outdated:list formulas for which a newer version is available' + 'prune:remove dead links' + 'remove:remove a formula' + 'search:search for a formula (/regex/ or string)' + 'unlink:unlink a formula' + 'update:freshen up links' + 'uses:show formulas which depend on a formula' ) local expl @@ -47,12 +53,12 @@ case "$words[1]" in _arguments \ '(--unbrewed)--unbrewed[files in brew --prefix not controlled by brew]' \ '1: :->forms' && return 0 - + if [[ "$state" == forms ]]; then _brew_installed_formulae _requested installed_formulae expl 'installed formulae' compadd -a installed_formulae fi ;; - install|home|log|info) + install|home|log|info|uses|cat|deps) _brew_all_formulae _wanted formulae expl 'all formulae' compadd -a formulae ;; remove|edit|xo) From 75de90dc9eedc62edfbd34785f191c56fee802b0 Mon Sep 17 00:00:00 2001 From: Daniel Schauenberg Date: Sun, 8 Aug 2010 19:45:49 +0200 Subject: [PATCH 226/518] add simple mrtazz theme based on robbyrussell - simple theme - hostname and current folder on left prompt - git branch and working tree status on the right --- themes/mrtazz.zsh-theme | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 themes/mrtazz.zsh-theme diff --git a/themes/mrtazz.zsh-theme b/themes/mrtazz.zsh-theme new file mode 100644 index 0000000..214ba5a --- /dev/null +++ b/themes/mrtazz.zsh-theme @@ -0,0 +1,7 @@ +PROMPT='%{$fg_bold[red]%}%m%{$reset_color%}:%{$fg[cyan]%}%c%{$reset_color%}:%# ' +RPROMPT='%{$fg_bold[green]%}$(git_prompt_info)%{$reset_color%}% ' + +ZSH_THEME_GIT_PROMPT_PREFIX="<%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%} %{$fg[yellow]%}✗%{$fg[green]%}>%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}>" From 306cea0945166bd0b32290c0813bf90c7dee6369 Mon Sep 17 00:00:00 2001 From: Matt Fletcher Date: Thu, 14 Jan 2010 03:45:10 +0800 Subject: [PATCH 227/518] add fletcherm theme; a slightly modified copy of an old tonotdo theme --- themes/fletcherm.zsh-theme | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 themes/fletcherm.zsh-theme diff --git a/themes/fletcherm.zsh-theme b/themes/fletcherm.zsh-theme new file mode 100644 index 0000000..e961885 --- /dev/null +++ b/themes/fletcherm.zsh-theme @@ -0,0 +1,12 @@ +# Copied from old version of tonotdo's theme. LSCOLORS modified. +PROMPT='%{$fg_no_bold[cyan]%}%n%{$fg_no_bold[magenta]%}•%{$fg_no_bold[green]%}%3~$(git_prompt_info)%{$reset_color%}» ' +RPROMPT='[%*]' + +# git theming +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[blue]%})" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[yellow]%}⚡%{$fg_bold[blue]%})" + +export LSCOLORS="exfxcxdxbxegedabagacad" +export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:' From aeabc3f616ccd407f68a621ecd676834e276c531 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Thu, 19 Aug 2010 08:04:18 -0700 Subject: [PATCH 228/518] Switching to /usr/bin/env zsh instead of /bin/zsh in the installer --- tools/install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/install.sh b/tools/install.sh index 004b252..6e3872b 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -22,7 +22,7 @@ echo "Copying your current PATH and adding it to the end of ~/.zshrc for you." echo "export PATH=$PATH" >> ~/.zshrc echo "Time to change your default shell to zsh!" -chsh -s /bin/zsh +chsh -s "/usr/bin/env zsh" echo ' __ __ ' echo ' ____ / /_ ____ ___ __ __ ____ _____/ /_ ' @@ -32,5 +32,5 @@ echo '\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ ' echo ' /____/' echo "\n\n ....is now installed." -/bin/zsh +/usr/bin/env zsh source ~/.zshrc From 7b6be5611763f25eca043f9ed0d46066a3454205 Mon Sep 17 00:00:00 2001 From: Daniel Schauenberg Date: Fri, 20 Aug 2010 18:55:30 +0200 Subject: [PATCH 229/518] fix problems with brew completion - update plugin architecture - completion function in $ZSH/functions/brew - plugins/brew.plugin.zsh only activates --- functions/brew/_brew | 69 +++++++++++++++++++++++++++++++++++++++ plugins/brew.plugin.zsh | 71 +++-------------------------------------- 2 files changed, 73 insertions(+), 67 deletions(-) create mode 100644 functions/brew/_brew diff --git a/functions/brew/_brew b/functions/brew/_brew new file mode 100644 index 0000000..4e590ac --- /dev/null +++ b/functions/brew/_brew @@ -0,0 +1,69 @@ +#compdef brew +#autoload + +# imported from the latest homebrew contributions + +_brew_all_formulae() { + formulae=(`brew search`) +} + +_brew_installed_formulae() { + installed_formulae=(`brew list`) +} + +local -a _1st_arguments +_1st_arguments=( + 'cat:display formula file for a formula' + 'cleanup:uninstall unused and old versions of packages' + 'create:create a new formula' + 'deps:list dependencies and dependants of a formula' + 'doctor:audits your installation for common issues' + 'edit:edit a formula' + 'home:visit the homepage of a formula or the brew project' + 'info:information about a formula' + 'install:install a formula' + 'link:link a formula' + 'list:list files in a formula or not-installed formulae' + 'log:git commit log for a formula' + 'outdated:list formulas for which a newer version is available' + 'prune:remove dead links' + 'remove:remove a formula' + 'search:search for a formula (/regex/ or string)' + 'unlink:unlink a formula' + 'update:freshen up links' + 'uses:show formulas which depend on a formula' +) + +local expl +local -a formula installed_formulae + +_arguments \ + '(-v --verbose)'{-v,--verbose}'[verbose]' \ + '(--version)--version[version information]' \ + '(--prefix)--prefix[where brew lives on this system]' \ + '(--cache)--cache[brew cache]' \ + '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "brew subcommand" _1st_arguments + return +fi + +case "$words[1]" in + list) + _arguments \ + '(--unbrewed)--unbrewed[files in brew --prefix not controlled by brew]' \ + '1: :->forms' && return 0 + + if [[ "$state" == forms ]]; then + _brew_installed_formulae + _requested installed_formulae expl 'installed formulae' compadd -a installed_formulae + fi ;; + install|home|log|info|uses|cat|deps) + _brew_all_formulae + _wanted formulae expl 'all formulae' compadd -a formulae ;; + remove|edit|xo) + _brew_installed_formulae + _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae ;; +esac + diff --git a/plugins/brew.plugin.zsh b/plugins/brew.plugin.zsh index 162eb64..a305409 100644 --- a/plugins/brew.plugin.zsh +++ b/plugins/brew.plugin.zsh @@ -1,67 +1,4 @@ -#compdef brew - -# imported from the latest homebrew contributions - -_brew_all_formulae() { - formulae=(`brew search`) -} - -_brew_installed_formulae() { - installed_formulae=(`brew list`) -} - -local -a _1st_arguments -_1st_arguments=( - 'cat:display formula file for a formula' - 'cleanup:uninstall unused and old versions of packages' - 'create:create a new formula' - 'deps:list dependencies and dependants of a formula' - 'doctor:audits your installation for common issues' - 'edit:edit a formula' - 'home:visit the homepage of a formula or the brew project' - 'info:information about a formula' - 'install:install a formula' - 'link:link a formula' - 'list:list files in a formula or not-installed formulae' - 'log:git commit log for a formula' - 'outdated:list formulas for which a newer version is available' - 'prune:remove dead links' - 'remove:remove a formula' - 'search:search for a formula (/regex/ or string)' - 'unlink:unlink a formula' - 'update:freshen up links' - 'uses:show formulas which depend on a formula' -) - -local expl -local -a formula installed_formulae - -_arguments \ - '(-v --verbose)'{-v,--verbose}'[verbose]' \ - '(--version)--version[version information]' \ - '(--prefix)--prefix[where brew lives on this system]' \ - '(--cache)--cache[brew cache]' \ - '*:: :->subcmds' && return 0 - -if (( CURRENT == 1 )); then - _describe -t commands "brew subcommand" _1st_arguments - return -fi - -case "$words[1]" in - list) - _arguments \ - '(--unbrewed)--unbrewed[files in brew --prefix not controlled by brew]' \ - '1: :->forms' && return 0 - - if [[ "$state" == forms ]]; then - _brew_installed_formulae - _requested installed_formulae expl 'installed formulae' compadd -a installed_formulae - fi ;; - install|home|log|info|uses|cat|deps) - _brew_all_formulae - _wanted formulae expl 'all formulae' compadd -a formulae ;; - remove|edit|xo) - _brew_installed_formulae - _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae ;; -esac +# add brew completion function to path +fpath=($ZSH/functions/brew $fpath) +autoload -U compinit +compinit -i From 99f159e0a7c63e6756f8e6e40691914da8f7a96c Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Tue, 24 Aug 2010 11:08:20 -0700 Subject: [PATCH 230/518] Removing '.' alias as it is overwriting a bash/zsh feature. Closes #63 --- lib/aliases.zsh | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index 80760a1..d2d3aed 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -3,7 +3,6 @@ alias pu='pushd' alias po='popd' # Basic directory operations -alias .='pwd' alias ...='cd ../..' alias -- -='cd -' From fbc22d80fe098f9ee5ca935766bc3d411c53ed92 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Mon, 30 Aug 2010 14:59:23 -0400 Subject: [PATCH 231/518] Added the truly epic kennethreitz theme. --- themes/kennethreitz.zsh-theme | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 themes/kennethreitz.zsh-theme diff --git a/themes/kennethreitz.zsh-theme b/themes/kennethreitz.zsh-theme new file mode 100644 index 0000000..109be0c --- /dev/null +++ b/themes/kennethreitz.zsh-theme @@ -0,0 +1,13 @@ +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +PROMPT='%{$fg[green]%}%c \ +$(git_prompt_info)\ +%{$fg[red]%}%(!.#.»)%{$reset_color%} ' +PROMPT2='%{$fg[red]%}\ %{$reset_color%}' +RPS1='%{$fg[blue]%}%~%{$reset_color%} ${return_code} ' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}:: %{$fg[yellow]%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$fg[yellow]%}" + From c96f5f78cbb95d29c712af173c5b9c630efcf710 Mon Sep 17 00:00:00 2001 From: Daniel Schauenberg Date: Wed, 1 Sep 2010 13:07:11 +0200 Subject: [PATCH 232/518] add gem completion function and plugin --- functions/gem/_gem | 64 ++++++++++++++++++++++++++++++++++++++++++ plugins/gem.plugin.zsh | 4 +++ 2 files changed, 68 insertions(+) create mode 100644 functions/gem/_gem create mode 100644 plugins/gem.plugin.zsh diff --git a/functions/gem/_gem b/functions/gem/_gem new file mode 100644 index 0000000..83cba40 --- /dev/null +++ b/functions/gem/_gem @@ -0,0 +1,64 @@ +#compdef gem +#autoload + +# gem zsh completion, based on homebrew completion + +_gem_installed() { + installed_gems=(`gem list --local --no-versions`) +} + +local -a _1st_arguments +_1st_arguments=( + 'cert:Manage RubyGems certificates and signing settings' + 'check:Check installed gems' + 'cleanup:Clean up old versions of installed gems in the local repository' + 'contents:Display the contents of the installed gems' + 'dependency:Show the dependencies of an installed gem' + 'environment:Display information about the RubyGems environment' + 'fetch:Download a gem and place it in the current directory' + 'generate_index:Generates the index files for a gem server directory' + 'help:Provide help on the `gem` command' + 'install:Install a gem into the local repository' + 'list:Display gems whose name starts with STRING' + 'lock:Generate a lockdown list of gems' + 'mirror:Mirror a gem repository' + 'outdated:Display all gems that need updates' + 'owner:Manage gem owners on RubyGems.org.' + 'pristine:Restores installed gems to pristine condition from files located in the gem cache' + 'push:Push a gem up to RubyGems.org' + 'query:Query gem information in local or remote repositories' + 'rdoc:Generates RDoc for pre-installed gems' + 'search:Display all gems whose name contains STRING' + 'server:Documentation and gem repository HTTP server' + 'sources:Manage the sources and cache file RubyGems uses to search for gems' + 'specification:Display gem specification (in yaml)' + 'stale:List gems along with access times' + 'uninstall:Uninstall gems from the local repository' + 'unpack:Unpack an installed gem to the current directory' + 'update:Update the named gems (or all installed gems) in the local repository' + 'which:Find the location of a library file you can require' +) + +local expl +local -a gems installed_gems + +_arguments \ + '(-v --version)'{-v,--version}'[show version]' \ + '(-h --help)'{-h,--help}'[show help]' \ + '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "gem subcommand" _1st_arguments + return +fi + +case "$words[1]" in + list) + if [[ "$state" == forms ]]; then + _gem_installed + _requested installed_gems expl 'installed gems' compadd -a installed_gems + fi ;; + uninstall|update) + _gem_installed + _wanted installed_gems expl 'installed gems' compadd -a installed_gems ;; +esac diff --git a/plugins/gem.plugin.zsh b/plugins/gem.plugin.zsh new file mode 100644 index 0000000..0b6ef3c --- /dev/null +++ b/plugins/gem.plugin.zsh @@ -0,0 +1,4 @@ +# add brew completion function to path +fpath=($ZSH/functions/gem $fpath) +autoload -U compinit +compinit -i From fe09064fcf4859b0e417c8040094f622f971012a Mon Sep 17 00:00:00 2001 From: Daniel Schauenberg Date: Wed, 1 Sep 2010 13:21:11 +0200 Subject: [PATCH 233/518] add pip completion and plugin --- functions/pip/_pip | 46 ++++++++++++++++++++++++++++++++++++++++++ plugins/pip.plugin.zsh | 4 ++++ 2 files changed, 50 insertions(+) create mode 100644 functions/pip/_pip create mode 100644 plugins/pip.plugin.zsh diff --git a/functions/pip/_pip b/functions/pip/_pip new file mode 100644 index 0000000..b580101 --- /dev/null +++ b/functions/pip/_pip @@ -0,0 +1,46 @@ +#compdef pip +#autoload + +# pip zsh completion, based on homebrew completion + +_pip_installed() { + installed_pkgs=(`pip freeze`) +} + +local -a _1st_arguments +_1st_arguments=( + 'bundle:Create pybundles (archives containing multiple packages)' + 'freeze:Output all currently installed packages (exact versions) to stdout' + 'help:Show available commands' + 'install:Install packages' + 'search:Search PyPI' + 'uninstall:Uninstall packages' + 'unzip:Unzip individual packages' + 'zip:Zip individual packages' +) + +local expl +local -a pkgs installed_pkgs + +_arguments \ + '(--version)--version[Show version number of program and exit]' \ + '(-v --verbose)'{-v,--verbose}'[Give more output]' \ + '(-q --quiet)'{-q,--quiet}'[Give less output]' \ + '(-h --help)'{-h,--help}'[Show help]' \ + '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "pip subcommand" _1st_arguments + return +fi + +case "$words[1]" in + list) + if [[ "$state" == forms ]]; then + _pip_installed + _requested installed_pkgs expl 'installed packages' compadd -a installed_pkgs + fi ;; + uninstall) + _pip_installed + _wanted installed_pkgs expl 'installed packages' compadd -a installed_pkgs ;; +esac diff --git a/plugins/pip.plugin.zsh b/plugins/pip.plugin.zsh new file mode 100644 index 0000000..69e21f8 --- /dev/null +++ b/plugins/pip.plugin.zsh @@ -0,0 +1,4 @@ +# add brew completion function to path +fpath=($ZSH/functions/pip $fpath) +autoload -U compinit +compinit -i From 5215e74bf470b4baba571e879cbd1bfddc28daf3 Mon Sep 17 00:00:00 2001 From: Vivek Prahlad Date: Fri, 10 Sep 2010 10:50:42 +0530 Subject: [PATCH 234/518] Adding a plugin with aliases for macports --- plugins/macports.plugin.zsh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 plugins/macports.plugin.zsh diff --git a/plugins/macports.plugin.zsh b/plugins/macports.plugin.zsh new file mode 100644 index 0000000..94a5f5e --- /dev/null +++ b/plugins/macports.plugin.zsh @@ -0,0 +1,6 @@ +alias pc="sudo port clean --all installed" +alias pi="sudo port install $1" +alias psu="sudo port selfupdate" +alias puni="sudo port uninstall inactive" +alias puo="sudo port upgrade outdated" +alias pup="psu && puo" From f9fce9bb8d293286d7d0fb7ecde170bd0c7f37fc Mon Sep 17 00:00:00 2001 From: Vivek Prahlad Date: Fri, 10 Sep 2010 10:55:17 +0530 Subject: [PATCH 235/518] Adding comments --- plugins/macports.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/macports.plugin.zsh b/plugins/macports.plugin.zsh index 94a5f5e..9564829 100644 --- a/plugins/macports.plugin.zsh +++ b/plugins/macports.plugin.zsh @@ -1,3 +1,4 @@ +#Aliases alias pc="sudo port clean --all installed" alias pi="sudo port install $1" alias psu="sudo port selfupdate" From a0a8ba666b29cbcdbba05726e4e2d46eca708ca1 Mon Sep 17 00:00:00 2001 From: Matt Cable Date: Sat, 27 Feb 2010 16:15:47 -0700 Subject: [PATCH 236/518] Initial pass at pesistant directory stack --- lib/dirspersist.zsh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 lib/dirspersist.zsh diff --git a/lib/dirspersist.zsh b/lib/dirspersist.zsh new file mode 100644 index 0000000..a7c077a --- /dev/null +++ b/lib/dirspersist.zsh @@ -0,0 +1,19 @@ +#!/bin/zsh +# +# Make the dirstack more persistant +# +# Run dirpersiststore in ~/.zlogout + +dirpersiststore () { + dirs -p | sed 's/ /\\ /g;s/^/pushd -q /;1!G;h;$!d;' > ~/.zdirstore +} + +dirpersistrestore () { + if [ -f ~/.zdirstore ]; then + source ~/.zdirstore + fi +} + +DIRSTACKSIZE=10 +setopt autopushd pushdminus pushdsilent pushdtohome pushdignoredups +dirpersistrestore \ No newline at end of file From 870551e960c6cb506fd7cc232a069432dfc72f2c Mon Sep 17 00:00:00 2001 From: Matt Cable Date: Mon, 15 Mar 2010 20:34:26 -0600 Subject: [PATCH 237/518] Alias popd to remove deleted dirs from persistance --- lib/dirspersist.zsh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/dirspersist.zsh b/lib/dirspersist.zsh index a7c077a..8364a87 100644 --- a/lib/dirspersist.zsh +++ b/lib/dirspersist.zsh @@ -16,4 +16,7 @@ dirpersistrestore () { DIRSTACKSIZE=10 setopt autopushd pushdminus pushdsilent pushdtohome pushdignoredups -dirpersistrestore \ No newline at end of file +dirpersistrestore + +# Make popd changes permanent without having to wait for logout +alias popd="popd;dirpersiststore" \ No newline at end of file From 21e2a913bff765b8dc23f12309059f7446e0ff99 Mon Sep 17 00:00:00 2001 From: Matt Cable Date: Fri, 2 Apr 2010 15:24:41 -0600 Subject: [PATCH 238/518] Escape &'s in path name. Need to find general function for escaping all shell metacharacters. --- lib/dirspersist.zsh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/dirspersist.zsh b/lib/dirspersist.zsh index 8364a87..973107c 100644 --- a/lib/dirspersist.zsh +++ b/lib/dirspersist.zsh @@ -5,7 +5,8 @@ # Run dirpersiststore in ~/.zlogout dirpersiststore () { - dirs -p | sed 's/ /\\ /g;s/^/pushd -q /;1!G;h;$!d;' > ~/.zdirstore +# FIXME: need to escape all shell metacharacters, not just spaces! + dirs -p | sed 's/ /\\ /g;s/&/\\&/;s/^/pushd -q /;1!G;h;$!d;' > ~/.zdirstore } dirpersistrestore () { @@ -19,4 +20,4 @@ setopt autopushd pushdminus pushdsilent pushdtohome pushdignoredups dirpersistrestore # Make popd changes permanent without having to wait for logout -alias popd="popd;dirpersiststore" \ No newline at end of file +alias popd="popd;dirpersiststore" From 181a2ed5379f5bf9d0420c0caaea56034eb22732 Mon Sep 17 00:00:00 2001 From: Matt Cable Date: Thu, 22 Apr 2010 11:26:08 -0600 Subject: [PATCH 239/518] Escape some metachars that trip up .zdirstore script --- lib/dirspersist.zsh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/dirspersist.zsh b/lib/dirspersist.zsh index 973107c..d694c55 100644 --- a/lib/dirspersist.zsh +++ b/lib/dirspersist.zsh @@ -5,8 +5,7 @@ # Run dirpersiststore in ~/.zlogout dirpersiststore () { -# FIXME: need to escape all shell metacharacters, not just spaces! - dirs -p | sed 's/ /\\ /g;s/&/\\&/;s/^/pushd -q /;1!G;h;$!d;' > ~/.zdirstore + dirs -p | tail -r | perl -ne 'chomp;s/([& ])/\\$1/g ;print "if [ -d $_ ]; then pushd -q $_; fi\n"' > ~/.zdirstore } dirpersistrestore () { From 50fb2d037ee75ac6e558923c7a92c818a96d43c8 Mon Sep 17 00:00:00 2001 From: Matt Cable Date: Sun, 19 Sep 2010 19:39:51 -0600 Subject: [PATCH 240/518] Move dirpersist to plugin --- lib/dirspersist.zsh => plugins/dirpersist.plugin.zsh | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lib/dirspersist.zsh => plugins/dirpersist.plugin.zsh (100%) diff --git a/lib/dirspersist.zsh b/plugins/dirpersist.plugin.zsh similarity index 100% rename from lib/dirspersist.zsh rename to plugins/dirpersist.plugin.zsh From 1862b1c0755770cffcbcb936bdecc3bfb050931d Mon Sep 17 00:00:00 2001 From: Matt Cable Date: Sun, 19 Sep 2010 19:43:49 -0600 Subject: [PATCH 241/518] Added installation function --- plugins/dirpersist.plugin.zsh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/plugins/dirpersist.plugin.zsh b/plugins/dirpersist.plugin.zsh index d694c55..48ca94d 100644 --- a/plugins/dirpersist.plugin.zsh +++ b/plugins/dirpersist.plugin.zsh @@ -4,6 +4,17 @@ # # Run dirpersiststore in ~/.zlogout +dirpersistinstall () { + if grep -qL 'dirpersiststore' ~/.zlogout; 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 + else + echo "If you don't want this message to appear, remove dirspersist from \$plugins" + fi + fi +} + dirpersiststore () { dirs -p | tail -r | perl -ne 'chomp;s/([& ])/\\$1/g ;print "if [ -d $_ ]; then pushd -q $_; fi\n"' > ~/.zdirstore } @@ -16,6 +27,8 @@ dirpersistrestore () { DIRSTACKSIZE=10 setopt autopushd pushdminus pushdsilent pushdtohome pushdignoredups + +dirpersistinstall dirpersistrestore # Make popd changes permanent without having to wait for logout From 610f68c8e0401048f87d1f2bd48086b8c0cd0dbe Mon Sep 17 00:00:00 2001 From: Matt Cable Date: Sun, 19 Sep 2010 22:39:11 -0600 Subject: [PATCH 242/518] Added install instructions --- plugins/dirpersist.plugin.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/dirpersist.plugin.zsh b/plugins/dirpersist.plugin.zsh index 48ca94d..4decd8b 100644 --- a/plugins/dirpersist.plugin.zsh +++ b/plugins/dirpersist.plugin.zsh @@ -2,7 +2,8 @@ # # Make the dirstack more persistant # -# Run dirpersiststore in ~/.zlogout +# Add dirpersist to $plugins in ~/.zshrc to load +# dirpersistinstall () { if grep -qL 'dirpersiststore' ~/.zlogout; then From 8f7609b4fabd3d02e3991221cbe35bea692c22e3 Mon Sep 17 00:00:00 2001 From: Matt Cable Date: Sun, 19 Sep 2010 22:40:47 -0600 Subject: [PATCH 243/518] Change zdirstore to variable --- plugins/dirpersist.plugin.zsh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/dirpersist.plugin.zsh b/plugins/dirpersist.plugin.zsh index 4decd8b..5b3fdfb 100644 --- a/plugins/dirpersist.plugin.zsh +++ b/plugins/dirpersist.plugin.zsh @@ -5,6 +5,9 @@ # Add dirpersist to $plugins in ~/.zshrc to load # +# $zdirstore is the file used to persist the stack +zdirstore=~/.zdirstore + dirpersistinstall () { if grep -qL 'dirpersiststore' ~/.zlogout; then else @@ -17,12 +20,12 @@ dirpersistinstall () { } dirpersiststore () { - dirs -p | tail -r | perl -ne 'chomp;s/([& ])/\\$1/g ;print "if [ -d $_ ]; then pushd -q $_; fi\n"' > ~/.zdirstore + dirs -p | tail -r | perl -ne 'chomp;s/([& ])/\\$1/g ;print "if [ -d $_ ]; then pushd -q $_; fi\n"' > $zdirstore } dirpersistrestore () { - if [ -f ~/.zdirstore ]; then - source ~/.zdirstore + if [ -f $zdirstore ]; then + source $zdirstore fi } From 2ff567e16267274041f542b5bce18876b8815fca Mon Sep 17 00:00:00 2001 From: Matt Cable Date: Tue, 21 Sep 2010 12:07:02 -0600 Subject: [PATCH 244/518] Removed unportable (and unnecessary) grep flags --- plugins/dirpersist.plugin.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/dirpersist.plugin.zsh b/plugins/dirpersist.plugin.zsh index 5b3fdfb..b5e825b 100644 --- a/plugins/dirpersist.plugin.zsh +++ b/plugins/dirpersist.plugin.zsh @@ -9,7 +9,7 @@ zdirstore=~/.zdirstore dirpersistinstall () { - if grep -qL 'dirpersiststore' ~/.zlogout; then + 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 @@ -19,6 +19,7 @@ dirpersistinstall () { fi } +# FIXME solaris doesn't support tail -r dirpersiststore () { dirs -p | tail -r | perl -ne 'chomp;s/([& ])/\\$1/g ;print "if [ -d $_ ]; then pushd -q $_; fi\n"' > $zdirstore } From 62cea310fb97a98f6360397dfeef3a01507153fd Mon Sep 17 00:00:00 2001 From: gwjo Date: Fri, 24 Sep 2010 20:46:52 -0400 Subject: [PATCH 245/518] ssh-agent module Implement a simple module that automatically launches the ssh-agent when you login and adds your default key. Useful for anyone that does remote work and thus doesn't have access to a keychain tool. --- plugins/ssh-agent.plugin.zsh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 plugins/ssh-agent.plugin.zsh diff --git a/plugins/ssh-agent.plugin.zsh b/plugins/ssh-agent.plugin.zsh new file mode 100644 index 0000000..fa8c45e --- /dev/null +++ b/plugins/ssh-agent.plugin.zsh @@ -0,0 +1,24 @@ +# Based on code from Joseph M. Reagle +# http://www.cygwin.com/ml/cygwin/2001-06/msg00537.html + +local SSH_ENV=$HOME/.ssh/environment + +function start_agent { + /usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV} + chmod 600 ${SSH_ENV} + . ${SSH_ENV} > /dev/null + /usr/bin/ssh-add; +} + +# Source SSH settings, if applicable + +if [ -f "${SSH_ENV}" ]; then + . ${SSH_ENV} > /dev/null + #ps ${SSH_AGENT_PID} doesn't work under cywgin + ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { + start_agent; + } +else + start_agent; +fi + From 6764e50397f35eba635e57a231ff06f1685efc5f Mon Sep 17 00:00:00 2001 From: Jake Bell Date: Sat, 25 Sep 2010 00:48:19 -0500 Subject: [PATCH 246/518] Added theunraveler theme. --- themes/theunraveler.zsh-theme | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 themes/theunraveler.zsh-theme diff --git a/themes/theunraveler.zsh-theme b/themes/theunraveler.zsh-theme new file mode 100644 index 0000000..4eec8e8 --- /dev/null +++ b/themes/theunraveler.zsh-theme @@ -0,0 +1,6 @@ +# Comment + +ZSH_THEME_GIT_PROMPT_PREFIX=' (git:' +ZSH_THEME_GIT_PROMPT_SUFFIX=')' + +PROMPT='%{$fg[magenta]%}[%c]$(git_prompt_info) $ %{$reset_color%}' \ No newline at end of file From e37d62a282dc74b7cd265643dcb01f80e25b3e34 Mon Sep 17 00:00:00 2001 From: Tomas Kramar Date: Sun, 26 Sep 2010 16:05:53 +0200 Subject: [PATCH 247/518] unset config_file is useless --- oh-my-zsh.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index bb45c71..c46aea7 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -21,5 +21,3 @@ then else /usr/bin/env zsh $ZSH/tools/check_for_upgrade.sh fi - -unset config_file \ No newline at end of file From 74b2c5d75ab6477ea3f72eeadb6fd81b42c1abd4 Mon Sep 17 00:00:00 2001 From: Tomas Kramar Date: Sun, 26 Sep 2010 16:03:44 +0200 Subject: [PATCH 248/518] Do not complete named-directories --- lib/completion.zsh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index cba9017..52cc5b5 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -1,4 +1,4 @@ -## fixme - the load process here seems a bit bizarre +# fixme - the load process here seems a bit bizarre unsetopt menu_complete # do not autoselect the first completion entry unsetopt flowcontrol @@ -30,6 +30,11 @@ zstyle ':completion:*:*:*:*:*' menu select zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01' zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w" +# disable named-directories autocompletion +zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories +cdpath=(.) + + # Load known hosts file for auto-completion with ssh and scp commands if [ -f ~/.ssh/known_hosts ]; then zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts ) From 6c3b9daaf7cd1bf387d46e865f316c6815dc14d2 Mon Sep 17 00:00:00 2001 From: Tomas Kramar Date: Sun, 26 Sep 2010 22:25:31 +0200 Subject: [PATCH 249/518] Add vi-mode plugin for vi-like editing --- plugins/vi-mode.plugin.zsh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 plugins/vi-mode.plugin.zsh diff --git a/plugins/vi-mode.plugin.zsh b/plugins/vi-mode.plugin.zsh new file mode 100644 index 0000000..c47ab72 --- /dev/null +++ b/plugins/vi-mode.plugin.zsh @@ -0,0 +1,22 @@ +function zle-line-init zle-keymap-select { + zle reset-prompt +} + +zle -N zle-line-init +zle -N zle-keymap-select + +bindkey -v + +# if mode indicator wasn't setup by theme, define default +if [[ "$MODE_INDICATOR" == "" ]]; then + MODE_INDICATOR="%{$fg_bold[red]%}<%{$fg[red]%}<<%{$reset_color%}" +fi + +function vi_mode_prompt_info() { + echo "${${KEYMAP/vicmd/$MODE_INDICATOR}/(main|viins)/}" +} + +# define right prompt, if it wasn't defined by a theme +if [[ "$RPS1" == "" && "$RPROMPT" == "" ]]; then + RPS1='$(vi_mode_prompt_info)' +fi From 3add6a2ac47186240a2d02a986ae22b6519d965f Mon Sep 17 00:00:00 2001 From: Matt Cable Date: Sun, 26 Sep 2010 21:30:57 -0600 Subject: [PATCH 250/518] Portable perl dirpersiststore because 'tail -r' doesn't work everywhere. --- plugins/dirpersist.plugin.zsh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/dirpersist.plugin.zsh b/plugins/dirpersist.plugin.zsh index b5e825b..6a2b289 100644 --- a/plugins/dirpersist.plugin.zsh +++ b/plugins/dirpersist.plugin.zsh @@ -19,9 +19,8 @@ dirpersistinstall () { fi } -# FIXME solaris doesn't support tail -r dirpersiststore () { - dirs -p | tail -r | perl -ne 'chomp;s/([& ])/\\$1/g ;print "if [ -d $_ ]; then pushd -q $_; fi\n"' > $zdirstore + dirs -p | perl -e 'foreach (reverse ) {chomp;s/([& ])/\\$1/g ;print "if [ -d $_ ]; then pushd -q $_; fi\n"}' > $zdirstore } dirpersistrestore () { From c24936ece51940536f3e62fc9e458b74c2affe68 Mon Sep 17 00:00:00 2001 From: steeef Date: Thu, 30 Sep 2010 19:56:56 -0700 Subject: [PATCH 251/518] added steeef theme --- themes/steeef.zsh-theme | 68 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 themes/steeef.zsh-theme diff --git a/themes/steeef.zsh-theme b/themes/steeef.zsh-theme new file mode 100644 index 0000000..a54cdce --- /dev/null +++ b/themes/steeef.zsh-theme @@ -0,0 +1,68 @@ +# prompt style and colors based on Steve Losh's Prose theme: +# http://github.com/sjl/oh-my-zsh/blob/master/themes/prose.zsh-theme +# +# vcs_info modifications from Bart Trojanowski's zsh prompt: +# http://www.jukie.net/bart/blog/pimping-out-zsh-prompt + +function virtualenv_info { + [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' +} +PR_GIT_UPDATE=1 + +setopt prompt_subst +autoload colors +colors + +autoload -U add-zsh-hook +autoload -Uz vcs_info + + +# check-for-changes can be really slow. +# you should disable it, if you work with large repositories +zstyle ':vcs_info:*:prompt:*' check-for-changes true + +# set formats +# %b - branchname +# %u - unstagedstr (see below) +# %c - stagedstr (see below) +# %a - action (e.g. rebase-i) +# %R - repository path +# %S - path in the repository +PR_RST="%{${reset_color}%}" +FMT_BRANCH="(%{$fg[magenta]%}%b%u%c${PR_RST})" +FMT_ACTION="(%{$fg[green]%}%a${PR_RST})" +FMT_UNSTAGED="%{$fg[yellow]%}!" +FMT_STAGED="%{$fg[yellow]%}?" + +zstyle ':vcs_info:*:prompt:*' unstagedstr "${FMT_UNSTAGED}" +zstyle ':vcs_info:*:prompt:*' stagedstr "${FMT_STAGED}" +zstyle ':vcs_info:*:prompt:*' actionformats "${FMT_BRANCH}${FMT_ACTION}" +zstyle ':vcs_info:*:prompt:*' formats "${FMT_BRANCH}" +zstyle ':vcs_info:*:prompt:*' nvcsformats "" + + +function steeef_preexec { + case "$(history $HISTCMD)" in + *git*) + PR_GIT_UPDATE=1 + ;; + esac +} +add-zsh-hook preexec steeef_preexec + +function steeef_chpwd { + PR_GIT_UPDATE=1 +} +add-zsh-hook chpwd steeef_chpwd + +function steeef_precmd { + if [[ -n "$PR_GIT_UPDATE" ]] ; then + vcs_info 'prompt' + PR_GIT_UPDATE= + fi +} +add-zsh-hook precmd steeef_precmd + +PROMPT=$' +%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}%~%{$reset_color%} $vcs_info_msg_0_ +$(virtualenv_info)$ ' From d647a9b25c43b75eea6fee29f27affe5edc4b72e Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Thu, 30 Sep 2010 20:54:45 -0700 Subject: [PATCH 252/518] Tidying up the spacing to bring in line with coding standards --- plugins/ssh-agent.plugin.zsh | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/plugins/ssh-agent.plugin.zsh b/plugins/ssh-agent.plugin.zsh index fa8c45e..ce0d645 100644 --- a/plugins/ssh-agent.plugin.zsh +++ b/plugins/ssh-agent.plugin.zsh @@ -4,21 +4,20 @@ local SSH_ENV=$HOME/.ssh/environment function start_agent { - /usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV} - chmod 600 ${SSH_ENV} - . ${SSH_ENV} > /dev/null - /usr/bin/ssh-add; + /usr/bin/env ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV} + chmod 600 ${SSH_ENV} + . ${SSH_ENV} > /dev/null + /usr/bin/ssh-add; } # Source SSH settings, if applicable if [ -f "${SSH_ENV}" ]; then - . ${SSH_ENV} > /dev/null - #ps ${SSH_AGENT_PID} doesn't work under cywgin - ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { - start_agent; - } + . ${SSH_ENV} > /dev/null + ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { + start_agent; + } else - start_agent; + start_agent; fi From b9056303669806be8e1e90eacfc471590c39f353 Mon Sep 17 00:00:00 2001 From: Trevor Creech Date: Mon, 20 Sep 2010 17:31:17 -0700 Subject: [PATCH 253/518] Match xterm-color, the default OS X terminal --- lib/functions.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/functions.zsh b/lib/functions.zsh index fcbe994..561586c 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -5,7 +5,7 @@ function title { print -nR $'\033k'$1$'\033'\\\ print -nR $'\033]0;'$2$'\a' - elif [[ $TERM == "xterm" || $TERM == "rxvt" ]]; then + elif [[ $TERM =~ "^xterm" || $TERM == "rxvt" ]]; then # Use this one instead for XTerms: print -nR $'\033]0;'$*$'\a' fi From 26d97a9355d37c55e0b044d8dafc425cc0ca7217 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Thu, 30 Sep 2010 21:34:06 -0700 Subject: [PATCH 254/518] Reorganizing plugins so that each plugin has it's own directory now so that any plugin-specific functions can be bundled within there. --- oh-my-zsh.sh | 2 +- plugins/{ => brew}/brew.plugin.zsh | 0 plugins/{ => dirpersist}/dirpersist.plugin.zsh | 0 plugins/{ => git}/git.plugin.zsh | 0 plugins/{ => lighthouse}/lighthouse.plugin.zsh | 0 plugins/{ => macports}/macports.plugin.zsh | 0 plugins/{ => mysql}/mysql-macports.plugin.zsh | 0 plugins/{ => osx}/osx.plugin.zsh | 0 plugins/{ => rails}/rails.plugin.zsh | 0 plugins/{ => ruby}/ruby.plugin.zsh | 0 plugins/{ => ssh-agent}/ssh-agent.plugin.zsh | 0 plugins/{ => textmate}/textmate.plugin.zsh | 0 plugins/{ => vi-mode}/vi-mode.plugin.zsh | 0 13 files changed, 1 insertion(+), 1 deletion(-) rename plugins/{ => brew}/brew.plugin.zsh (100%) rename plugins/{ => dirpersist}/dirpersist.plugin.zsh (100%) rename plugins/{ => git}/git.plugin.zsh (100%) rename plugins/{ => lighthouse}/lighthouse.plugin.zsh (100%) rename plugins/{ => macports}/macports.plugin.zsh (100%) rename plugins/{ => mysql}/mysql-macports.plugin.zsh (100%) rename plugins/{ => osx}/osx.plugin.zsh (100%) rename plugins/{ => rails}/rails.plugin.zsh (100%) rename plugins/{ => ruby}/ruby.plugin.zsh (100%) rename plugins/{ => ssh-agent}/ssh-agent.plugin.zsh (100%) rename plugins/{ => textmate}/textmate.plugin.zsh (100%) rename plugins/{ => vi-mode}/vi-mode.plugin.zsh (100%) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index c46aea7..848e48e 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -12,7 +12,7 @@ for config_file ($ZSH/custom/*.zsh) source $config_file # Load all of the plugins that were defined in ~/.zshrc plugin=${plugin:=()} -for plugin ($plugins) source $ZSH/plugins/$plugin.plugin.zsh +for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh # Check for updates on initial load... if [ "$DISABLE_AUTO_UPDATE" = "true" ] diff --git a/plugins/brew.plugin.zsh b/plugins/brew/brew.plugin.zsh similarity index 100% rename from plugins/brew.plugin.zsh rename to plugins/brew/brew.plugin.zsh diff --git a/plugins/dirpersist.plugin.zsh b/plugins/dirpersist/dirpersist.plugin.zsh similarity index 100% rename from plugins/dirpersist.plugin.zsh rename to plugins/dirpersist/dirpersist.plugin.zsh diff --git a/plugins/git.plugin.zsh b/plugins/git/git.plugin.zsh similarity index 100% rename from plugins/git.plugin.zsh rename to plugins/git/git.plugin.zsh diff --git a/plugins/lighthouse.plugin.zsh b/plugins/lighthouse/lighthouse.plugin.zsh similarity index 100% rename from plugins/lighthouse.plugin.zsh rename to plugins/lighthouse/lighthouse.plugin.zsh diff --git a/plugins/macports.plugin.zsh b/plugins/macports/macports.plugin.zsh similarity index 100% rename from plugins/macports.plugin.zsh rename to plugins/macports/macports.plugin.zsh diff --git a/plugins/mysql-macports.plugin.zsh b/plugins/mysql/mysql-macports.plugin.zsh similarity index 100% rename from plugins/mysql-macports.plugin.zsh rename to plugins/mysql/mysql-macports.plugin.zsh diff --git a/plugins/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh similarity index 100% rename from plugins/osx.plugin.zsh rename to plugins/osx/osx.plugin.zsh diff --git a/plugins/rails.plugin.zsh b/plugins/rails/rails.plugin.zsh similarity index 100% rename from plugins/rails.plugin.zsh rename to plugins/rails/rails.plugin.zsh diff --git a/plugins/ruby.plugin.zsh b/plugins/ruby/ruby.plugin.zsh similarity index 100% rename from plugins/ruby.plugin.zsh rename to plugins/ruby/ruby.plugin.zsh diff --git a/plugins/ssh-agent.plugin.zsh b/plugins/ssh-agent/ssh-agent.plugin.zsh similarity index 100% rename from plugins/ssh-agent.plugin.zsh rename to plugins/ssh-agent/ssh-agent.plugin.zsh diff --git a/plugins/textmate.plugin.zsh b/plugins/textmate/textmate.plugin.zsh similarity index 100% rename from plugins/textmate.plugin.zsh rename to plugins/textmate/textmate.plugin.zsh diff --git a/plugins/vi-mode.plugin.zsh b/plugins/vi-mode/vi-mode.plugin.zsh similarity index 100% rename from plugins/vi-mode.plugin.zsh rename to plugins/vi-mode/vi-mode.plugin.zsh From 7936bbbd5a3895caa7153e4d03740ac12a333862 Mon Sep 17 00:00:00 2001 From: Daniel Schauenberg Date: Fri, 1 Oct 2010 10:59:48 +0200 Subject: [PATCH 255/518] adapt brew,gem,pip plugin to new structure --- {functions => plugins}/brew/_brew | 0 plugins/brew/brew.plugin.zsh | 2 +- {functions => plugins}/gem/_gem | 0 plugins/{ => gem}/gem.plugin.zsh | 2 +- {functions => plugins}/pip/_pip | 0 plugins/{ => pip}/pip.plugin.zsh | 2 +- 6 files changed, 3 insertions(+), 3 deletions(-) rename {functions => plugins}/brew/_brew (100%) rename {functions => plugins}/gem/_gem (100%) rename plugins/{ => gem}/gem.plugin.zsh (67%) rename {functions => plugins}/pip/_pip (100%) rename plugins/{ => pip}/pip.plugin.zsh (67%) diff --git a/functions/brew/_brew b/plugins/brew/_brew similarity index 100% rename from functions/brew/_brew rename to plugins/brew/_brew diff --git a/plugins/brew/brew.plugin.zsh b/plugins/brew/brew.plugin.zsh index a305409..353a189 100644 --- a/plugins/brew/brew.plugin.zsh +++ b/plugins/brew/brew.plugin.zsh @@ -1,4 +1,4 @@ # add brew completion function to path -fpath=($ZSH/functions/brew $fpath) +fpath=($ZSH/plugins/brew $fpath) autoload -U compinit compinit -i diff --git a/functions/gem/_gem b/plugins/gem/_gem similarity index 100% rename from functions/gem/_gem rename to plugins/gem/_gem diff --git a/plugins/gem.plugin.zsh b/plugins/gem/gem.plugin.zsh similarity index 67% rename from plugins/gem.plugin.zsh rename to plugins/gem/gem.plugin.zsh index 0b6ef3c..65d3766 100644 --- a/plugins/gem.plugin.zsh +++ b/plugins/gem/gem.plugin.zsh @@ -1,4 +1,4 @@ # add brew completion function to path -fpath=($ZSH/functions/gem $fpath) +fpath=($ZSH/plugins/gem $fpath) autoload -U compinit compinit -i diff --git a/functions/pip/_pip b/plugins/pip/_pip similarity index 100% rename from functions/pip/_pip rename to plugins/pip/_pip diff --git a/plugins/pip.plugin.zsh b/plugins/pip/pip.plugin.zsh similarity index 67% rename from plugins/pip.plugin.zsh rename to plugins/pip/pip.plugin.zsh index 69e21f8..bf9f239 100644 --- a/plugins/pip.plugin.zsh +++ b/plugins/pip/pip.plugin.zsh @@ -1,4 +1,4 @@ # add brew completion function to path -fpath=($ZSH/functions/pip $fpath) +fpath=($ZSH/plugins/pip $fpath) autoload -U compinit compinit -i From a4afcfddbf8c9e8769e4e78c23a144c9b3c9aaf3 Mon Sep 17 00:00:00 2001 From: Luke Randall Date: Sun, 5 Sep 2010 16:52:38 +0200 Subject: [PATCH 256/518] Add lukerandall.zsh-theme --- themes/lukerandall.zsh-theme | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 themes/lukerandall.zsh-theme diff --git a/themes/lukerandall.zsh-theme b/themes/lukerandall.zsh-theme new file mode 100644 index 0000000..24a0612 --- /dev/null +++ b/themes/lukerandall.zsh-theme @@ -0,0 +1,10 @@ +# ZSH Theme - Preview: http://cl.ly/f701d00760f8059e06dc +# Thanks to gallifrey, upon whose theme this is based + +local return_code="%(?..%{$fg_bold[red]%}%? ↵%{$reset_color%})" + +PROMPT='%{$fg_bold[green]%}%n@%m%{$reset_color%} %{$fg_bold[blue]%}%2~%{$reset_color%} $(git_prompt_info)%{$reset_color%}%B»%b ' +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX=") %{$reset_color%}" From 541da0c9d1cdf88583490fa06b6e307ea09bfc94 Mon Sep 17 00:00:00 2001 From: Jake Bell Date: Fri, 1 Oct 2010 14:15:52 -0500 Subject: [PATCH 257/518] Removing capistrano aliases/functions from rails plugin (since cap is not rails-specific). --- plugins/cap/cap.plugin.zsh | 21 +++++++++++++++++++++ plugins/rails/rails.plugin.zsh | 23 ----------------------- 2 files changed, 21 insertions(+), 23 deletions(-) create mode 100644 plugins/cap/cap.plugin.zsh diff --git a/plugins/cap/cap.plugin.zsh b/plugins/cap/cap.plugin.zsh new file mode 100644 index 0000000..a0fa21d --- /dev/null +++ b/plugins/cap/cap.plugin.zsh @@ -0,0 +1,21 @@ +function _cap_does_task_list_need_generating () { + if [ ! -f .cap_tasks~ ]; then return 0; + else + accurate=$(stat -f%m .cap_tasks~) + changed=$(stat -f%m config/deploy.rb) + return $(expr $accurate '>=' $changed) + fi +} + +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~ + fi + compadd `cat .cap_tasks~` + fi +} + +compctl -K _cap cap \ No newline at end of file diff --git a/plugins/rails/rails.plugin.zsh b/plugins/rails/rails.plugin.zsh index 45bebb7..ac8119e 100644 --- a/plugins/rails/rails.plugin.zsh +++ b/plugins/rails/rails.plugin.zsh @@ -1,4 +1,3 @@ - alias ss='thin --stats "/thin/stats" start' alias sg='ruby script/generate' alias sd='ruby script/destroy' @@ -9,28 +8,6 @@ alias sc='ruby script/console' alias sd='ruby script/server --debugger' alias devlog='tail -f log/development.log' -function _cap_does_task_list_need_generating () { - if [ ! -f .cap_tasks~ ]; then return 0; - else - accurate=$(stat -f%m .cap_tasks~) - changed=$(stat -f%m config/deploy.rb) - return $(expr $accurate '>=' $changed) - fi -} - -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~ - fi - compadd `cat .cap_tasks~` - fi -} - -compctl -K _cap cap - function remote_console() { /usr/bin/env ssh $1 "( cd $2 && ruby script/console production )" } From 7fb0b210e88bcbdb71d2cb0022c35b2cc3810327 Mon Sep 17 00:00:00 2001 From: steeef Date: Fri, 1 Oct 2010 14:11:53 -0700 Subject: [PATCH 258/518] merge steeef.zsh-theme from master --- themes/steeef.zsh-theme | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/themes/steeef.zsh-theme b/themes/steeef.zsh-theme index a54cdce..abb8f29 100644 --- a/themes/steeef.zsh-theme +++ b/themes/steeef.zsh-theme @@ -3,6 +3,9 @@ # # vcs_info modifications from Bart Trojanowski's zsh prompt: # http://www.jukie.net/bart/blog/pimping-out-zsh-prompt +# +# git untracked files modification from Brian Carper: +# http://briancarper.net/blog/570/git-info-in-your-zsh-prompt function virtualenv_info { [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' @@ -17,6 +20,9 @@ autoload -U add-zsh-hook autoload -Uz vcs_info +# enable VCS systems you use +zstyle ':vcs_info:*' enable git svn + # check-for-changes can be really slow. # you should disable it, if you work with large repositories zstyle ':vcs_info:*:prompt:*' check-for-changes true @@ -31,8 +37,8 @@ zstyle ':vcs_info:*:prompt:*' check-for-changes true PR_RST="%{${reset_color}%}" FMT_BRANCH="(%{$fg[magenta]%}%b%u%c${PR_RST})" FMT_ACTION="(%{$fg[green]%}%a${PR_RST})" -FMT_UNSTAGED="%{$fg[yellow]%}!" -FMT_STAGED="%{$fg[yellow]%}?" +FMT_UNSTAGED="%{$fg[yellow]%}●" +FMT_STAGED="%{$fg[green]%}●" zstyle ':vcs_info:*:prompt:*' unstagedstr "${FMT_UNSTAGED}" zstyle ':vcs_info:*:prompt:*' stagedstr "${FMT_STAGED}" @@ -46,6 +52,9 @@ function steeef_preexec { *git*) PR_GIT_UPDATE=1 ;; + *svn*) + PR_GIT_UPDATE=1 + ;; esac } add-zsh-hook preexec steeef_preexec @@ -56,6 +65,15 @@ function steeef_chpwd { add-zsh-hook chpwd steeef_chpwd function steeef_precmd { + # check for untracked files or updated submodules, since vcs_info doesn't + if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) || -n $(git ls-files -m --exclude-standard 2> /dev/null) ]]; then + PR_GIT_UPDATE=1 + FMT_BRANCH="(%{$fg[magenta]%}%b%u%c%{$fg[red]%}●${PR_RST})" + else + FMT_BRANCH="(%{$fg[magenta]%}%b%u%c${PR_RST})" + fi + zstyle ':vcs_info:*:prompt:*' formats "${FMT_BRANCH}" + if [[ -n "$PR_GIT_UPDATE" ]] ; then vcs_info 'prompt' PR_GIT_UPDATE= From 6fcf9393c31a51cef688b591de73817c5988c405 Mon Sep 17 00:00:00 2001 From: steeef Date: Fri, 1 Oct 2010 14:17:13 -0700 Subject: [PATCH 259/518] merge steeef.zsh-theme from master (removed submodule check) --- 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 abb8f29..a431927 100644 --- a/themes/steeef.zsh-theme +++ b/themes/steeef.zsh-theme @@ -66,7 +66,7 @@ add-zsh-hook chpwd steeef_chpwd function steeef_precmd { # check for untracked files or updated submodules, since vcs_info doesn't - if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) || -n $(git ls-files -m --exclude-standard 2> /dev/null) ]]; then + if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then PR_GIT_UPDATE=1 FMT_BRANCH="(%{$fg[magenta]%}%b%u%c%{$fg[red]%}●${PR_RST})" else From 7405f5d9ff29f42e934fa5f3c87401437c16aedd Mon Sep 17 00:00:00 2001 From: steeef Date: Fri, 1 Oct 2010 14:40:06 -0700 Subject: [PATCH 260/518] fix untracked files checking --- 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 a431927..8c4c802 100644 --- a/themes/steeef.zsh-theme +++ b/themes/steeef.zsh-theme @@ -66,7 +66,7 @@ add-zsh-hook chpwd steeef_chpwd function steeef_precmd { # check for untracked files or updated submodules, since vcs_info doesn't - if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then + if [[ ! -z $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then PR_GIT_UPDATE=1 FMT_BRANCH="(%{$fg[magenta]%}%b%u%c%{$fg[red]%}●${PR_RST})" else From f2f49f9571cf56b2fa672f16260c000050f9349b Mon Sep 17 00:00:00 2001 From: atom smith Date: Sun, 3 Oct 2010 17:41:45 -0400 Subject: [PATCH 261/518] adding my zsh-theme --- themes/re5et.zsh-theme | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 themes/re5et.zsh-theme diff --git a/themes/re5et.zsh-theme b/themes/re5et.zsh-theme new file mode 100644 index 0000000..fadb1fe --- /dev/null +++ b/themes/re5et.zsh-theme @@ -0,0 +1,15 @@ +if [ "$(whoami)" = "root" ]; then CARETCOLOR="red"; else CARETCOLOR="magenta"; fi + +local return_code="%(?..%{$fg_bold[red]%}:( %?%{$reset_color%})" + +PROMPT=' +%{$fg_bold[cyan]%}%n%{$reset_color%}%{$fg[yellow]%}@%{$reset_color%}%{$fg_bold[blue]%}%m%{$reset_color%}:%{${fg_bold[green]}%}%~%{$reset_color%}$(git_prompt_info) +%{${fg[$CARETCOLOR]}%}%# %{${reset_color}%}' + +RPS1='${return_code} %D - %*' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[magenta]%}^%{$reset_color%}%{$fg_bold[yellow]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%} ±" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ?" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[red]%} ♥" \ No newline at end of file From ba9ae6a1e5fe1b45a58e655ab3413bb95a82573e Mon Sep 17 00:00:00 2001 From: atom smith Date: Sun, 3 Oct 2010 17:42:57 -0400 Subject: [PATCH 262/518] should have newline at end of file. --- themes/re5et.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/re5et.zsh-theme b/themes/re5et.zsh-theme index fadb1fe..5bded76 100644 --- a/themes/re5et.zsh-theme +++ b/themes/re5et.zsh-theme @@ -12,4 +12,4 @@ ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[magenta]%}^%{$reset_color%}%{$fg_bold[ye ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%} ±" ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ?" -ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[red]%} ♥" \ No newline at end of file +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[red]%} ♥" From 6d5e4eaebcde1c48413f89b4554983f489e4b017 Mon Sep 17 00:00:00 2001 From: steeef Date: Mon, 4 Oct 2010 18:05:01 -0700 Subject: [PATCH 263/518] use 256 colors, if available --- themes/steeef.zsh-theme | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/themes/steeef.zsh-theme b/themes/steeef.zsh-theme index 8c4c802..d8f9306 100644 --- a/themes/steeef.zsh-theme +++ b/themes/steeef.zsh-theme @@ -19,6 +19,20 @@ colors autoload -U add-zsh-hook autoload -Uz vcs_info +#use extended color pallete if available +if [ $TERM = "xterm-256color" ]; then + turquoise="%F{81}" + orange="%F{166}" + purple="%F{135}" + hotpink="%F{161}" + limegreen="%F{118}" +else + turquoise="$fg[cyan]" + orange="$fg[yellow]" + purple="$fg[magenta]" + hotpink="$fg[red]" + limegreen="$fg[green]" +fi # enable VCS systems you use zstyle ':vcs_info:*' enable git svn @@ -35,10 +49,10 @@ zstyle ':vcs_info:*:prompt:*' check-for-changes true # %R - repository path # %S - path in the repository PR_RST="%{${reset_color}%}" -FMT_BRANCH="(%{$fg[magenta]%}%b%u%c${PR_RST})" -FMT_ACTION="(%{$fg[green]%}%a${PR_RST})" -FMT_UNSTAGED="%{$fg[yellow]%}●" -FMT_STAGED="%{$fg[green]%}●" +FMT_BRANCH="(%{$turquoise%}%b%u%c${PR_RST})" +FMT_ACTION="(%{$limegreen%}%a${PR_RST})" +FMT_UNSTAGED="%{$orange%}●" +FMT_STAGED="%{$limegreen%}●" zstyle ':vcs_info:*:prompt:*' unstagedstr "${FMT_UNSTAGED}" zstyle ':vcs_info:*:prompt:*' stagedstr "${FMT_STAGED}" @@ -68,9 +82,9 @@ function steeef_precmd { # check for untracked files or updated submodules, since vcs_info doesn't if [[ ! -z $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then PR_GIT_UPDATE=1 - FMT_BRANCH="(%{$fg[magenta]%}%b%u%c%{$fg[red]%}●${PR_RST})" + FMT_BRANCH="(%{$turquoise%}%b%u%c%{$hotpink%}●${PR_RST})" else - FMT_BRANCH="(%{$fg[magenta]%}%b%u%c${PR_RST})" + FMT_BRANCH="(%{$turquoise%}%b%u%c${PR_RST})" fi zstyle ':vcs_info:*:prompt:*' formats "${FMT_BRANCH}" @@ -82,5 +96,5 @@ function steeef_precmd { add-zsh-hook precmd steeef_precmd PROMPT=$' -%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}%~%{$reset_color%} $vcs_info_msg_0_ +%{$purple%}%n%{$reset_color%} at %{$orange%}%m%{$reset_color%} in %{$limegreen%}%~%{$reset_color%} $vcs_info_msg_0_ $(virtualenv_info)$ ' From c6b339f532b05e907b0c554000643db5e896a75f Mon Sep 17 00:00:00 2001 From: steeef Date: Mon, 4 Oct 2010 22:08:38 -0700 Subject: [PATCH 264/518] merge master --- themes/steeef.zsh-theme | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/themes/steeef.zsh-theme b/themes/steeef.zsh-theme index d8f9306..a5cf0f9 100644 --- a/themes/steeef.zsh-theme +++ b/themes/steeef.zsh-theme @@ -79,16 +79,16 @@ function steeef_chpwd { add-zsh-hook chpwd steeef_chpwd function steeef_precmd { - # check for untracked files or updated submodules, since vcs_info doesn't - if [[ ! -z $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then - PR_GIT_UPDATE=1 - FMT_BRANCH="(%{$turquoise%}%b%u%c%{$hotpink%}●${PR_RST})" - else - FMT_BRANCH="(%{$turquoise%}%b%u%c${PR_RST})" - fi - zstyle ':vcs_info:*:prompt:*' formats "${FMT_BRANCH}" - 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 + PR_GIT_UPDATE=1 + FMT_BRANCH="(%{$turquoise%}%b%u%c%{$hotpink%}●${PR_RST})" + else + FMT_BRANCH="(%{$turquoise%}%b%u%c${PR_RST})" + fi + zstyle ':vcs_info:*:prompt:*' formats "${FMT_BRANCH}" + vcs_info 'prompt' PR_GIT_UPDATE= fi From d53d0eac070b270222c042c2e187dcf3a109b39a Mon Sep 17 00:00:00 2001 From: Phillip Ridlen Date: Tue, 5 Oct 2010 17:06:08 -0500 Subject: [PATCH 265/518] Add cloud.zsh-theme --- themes/cloud.zsh-theme | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 themes/cloud.zsh-theme diff --git a/themes/cloud.zsh-theme b/themes/cloud.zsh-theme new file mode 100644 index 0000000..ad5e283 --- /dev/null +++ b/themes/cloud.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{$fg_bold[cyan]%}☁ %{$fg_bold[green]%}%p %{$fg[green]%}%c %{$fg_bold[cyan]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}[%{$fg[cyan]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}] %{$fg[yellow]%}⚡%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}]" \ No newline at end of file From 8059c0727a09257dc387aa9ba17dc99d1842aa19 Mon Sep 17 00:00:00 2001 From: Irakli Gozalishvili Date: Sat, 9 Oct 2010 01:27:40 +0200 Subject: [PATCH 266/518] Improving git plugin so it can display much more data. --- lib/git.zsh | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/lib/git.zsh b/lib/git.zsh index 889dd98..57a78e2 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -11,3 +11,31 @@ parse_git_dirty () { echo "$ZSH_THEME_GIT_PROMPT_CLEAN" fi } + +# get the status of the working tree +git_prompt_status() { + INDEX=$(git status --porcelain 2> /dev/null) + STATUS="" + if $(echo "$INDEX" | grep '^?? ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS" + fi + if $(echo "$INDEX" | grep '^A ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS" + elif $(echo "$INDEX" | grep '^M ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS" + fi + if $(echo "$INDEX" | grep '^ M ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS" + fi + if $(echo "$INDEX" | grep '^R ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS" + fi + if $(echo "$INDEX" | grep '^ D ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS" + fi + if $(echo "$INDEX" | grep '^UU ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS" + fi + echo $STATUS +} + From b6dde1e8cfb938e507e5e8db9eac99d28a020468 Mon Sep 17 00:00:00 2001 From: Irakli Gozalishvili Date: Sat, 9 Oct 2010 01:49:35 +0200 Subject: [PATCH 267/518] Adding new gozilla theme --- themes/gozilla.zsh-theme | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 themes/gozilla.zsh-theme diff --git a/themes/gozilla.zsh-theme b/themes/gozilla.zsh-theme new file mode 100644 index 0000000..3112b36 --- /dev/null +++ b/themes/gozilla.zsh-theme @@ -0,0 +1,15 @@ +PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p%{$fg[cyan]%}%c%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' +RPROMPT='$(git_prompt_status)' + +ZSH_THEME_GIT_PROMPT_PREFIX="(%{%}" +ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[cyan]%} ✈%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[yellow]%} ✭%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[blue]%} ➦%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[magenta]%} ⚡%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[grey]%} ⚑%{$reset_color%}" + +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}" + From deb0f7478b292b48338bc4d6098b8f6b013d0b4b Mon Sep 17 00:00:00 2001 From: Irakli Gozalishvili Date: Sat, 9 Oct 2010 02:16:10 +0200 Subject: [PATCH 268/518] Fixing some minor redrew issue --- themes/gozilla.zsh-theme | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/themes/gozilla.zsh-theme b/themes/gozilla.zsh-theme index 3112b36..97566e3 100644 --- a/themes/gozilla.zsh-theme +++ b/themes/gozilla.zsh-theme @@ -1,8 +1,12 @@ -PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p%{$fg[cyan]%}%c%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' -RPROMPT='$(git_prompt_status)' +PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' ZSH_THEME_GIT_PROMPT_PREFIX="(%{%}" ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}" + +RPROMPT='$(git_prompt_status)' + ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[cyan]%} ✈%{$reset_color%}" ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[yellow]%} ✭%{$reset_color%}" ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✗%{$reset_color%}" @@ -10,6 +14,3 @@ ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[blue]%} ➦%{$reset_color%}" ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[magenta]%} ⚡%{$reset_color%}" ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[grey]%} ⚑%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}" -ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}" - From aab235f6121a93b81a425d522a0c7f2aaac946bd Mon Sep 17 00:00:00 2001 From: Brandon Philips Date: Fri, 8 Oct 2010 22:44:42 -0700 Subject: [PATCH 269/518] functions: fix title() to not match any $TERM On my linux virtual terminals, where TERM="linux", I was getting annoying output that was messing up my prompt. It turns out the title function was always matching on the elif statement for xterm/rxvt no matter what and the linux vt doesn't know what to do with the title special control sequence and thus was printing out garbage. Through experimentation I figured out that the || inside of the [[ ]] did not work: export TERM=linux $ if [[ $TERM =~ "^xterm" || $TERM == "rxvt" ]]; then echo $TERM; fi linux $ if [[ $TERM =~ "^xterm" ]] || [[ $TERM == "rxvt" ]]; then echo $TERM; fi Signed-off-by: Brandon Philips openSUSE running zsh 4.3.10 --- lib/functions.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/functions.zsh b/lib/functions.zsh index 561586c..e494f1f 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -5,7 +5,7 @@ function title { print -nR $'\033k'$1$'\033'\\\ print -nR $'\033]0;'$2$'\a' - elif [[ $TERM =~ "^xterm" || $TERM == "rxvt" ]]; then + elif [[ ($TERM =~ "^xterm") ]] || [[ ($TERM == "rxvt") ]]; then # Use this one instead for XTerms: print -nR $'\033]0;'$*$'\a' fi From df1e305736f23d8702a4d68b0fb8fc502e8c442a Mon Sep 17 00:00:00 2001 From: Brandon Philips Date: Fri, 8 Oct 2010 22:57:43 -0700 Subject: [PATCH 270/518] themes: add philips theme Theme based on clean that is more suitable for white background terminals. Signed-off-by: Brandon Philips --- themes/philips.zsh-theme | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 themes/philips.zsh-theme diff --git a/themes/philips.zsh-theme b/themes/philips.zsh-theme new file mode 100644 index 0000000..fa7c590 --- /dev/null +++ b/themes/philips.zsh-theme @@ -0,0 +1,14 @@ +if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="green"; fi + +PROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(git_prompt_info)%(!.#.$) ' +RPROMPT='[%*]' + +# git theming +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[red]%}%B" +ZSH_THEME_GIT_PROMPT_SUFFIX="%b%{$fg_bold[blue]%})%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}" + +# LS colors, made with http://geoff.greer.fm/lscolors/ +export LSCOLORS="Gxfxcxdxbxegedabagacad" +export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:' From 249fe1471cde3b12366729e5a869dd56c26b07ce Mon Sep 17 00:00:00 2001 From: Sven Lito Date: Sat, 9 Oct 2010 14:29:24 +0100 Subject: [PATCH 271/518] adding github plugin --- plugins/github/_github | 39 ++++++++++++++++++++++++++++++++ plugins/github/github.plugin.zsh | 4 ++++ 2 files changed, 43 insertions(+) create mode 100644 plugins/github/_github create mode 100644 plugins/github/github.plugin.zsh diff --git a/plugins/github/_github b/plugins/github/_github new file mode 100644 index 0000000..5295081 --- /dev/null +++ b/plugins/github/_github @@ -0,0 +1,39 @@ +#compdef github +#autoload + +# github zsh completion, based on homebrew completion + +local -a _1st_arguments +_1st_arguments=( + 'browse:Open this repo in a web browser' + 'clone:Clone a repo' + 'config:Automatically set configuration info, or pass args to specify' + 'create-from-local:Create a new GitHub repository from the current local repository' + 'create:Create a new empty GitHub repository' + 'fetch:Fetch from a remote to a local branch' + 'fetch_all:Fetch all refs from a user' + 'fork:Forks a GitHub repository' + 'home:Open this repos master branch in a web browser' + 'ignore:Ignore a SHA from github network commits' + 'info:Info about this project' + 'issues:Project issues tools' + 'network:Project network tools - sub-commands : web [user], list, fetch, commits' + 'network --after:Only show commits after a certain date' + 'network --applies:Filter commits to patches that apply cleanly' + 'open:Open the given user/project in a web browser' + 'pull-request:Generate the text for a pull request' + 'pull:Pull from a remote' + 'search:Search GitHub for the given repository name' + 'track:Track another users repository' +) + +local expl +local -a pkgs installed_pkgs + +_arguments \ + '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "github subcommand" _1st_arguments + return +fi diff --git a/plugins/github/github.plugin.zsh b/plugins/github/github.plugin.zsh new file mode 100644 index 0000000..c23504b --- /dev/null +++ b/plugins/github/github.plugin.zsh @@ -0,0 +1,4 @@ +# add github completion function to path +fpath=($ZSH/plugins/github $fpath) +autoload -U compinit +compinit -i From dfbed8fd9894ec4b13745e9e08233a750c2369ee Mon Sep 17 00:00:00 2001 From: Sven Lito Date: Sat, 9 Oct 2010 15:03:08 +0100 Subject: [PATCH 272/518] added git log incl. stats for the past 5 commits --- plugins/git/git.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 655eaf7..d317d17 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -12,7 +12,7 @@ alias gb='git branch' alias gba='git branch -a' alias gcount='git shortlog -sn' alias gcp='git cherry-pick' - +alias glg='git log --stat --max-count=5' # Git and svn mix alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' From fcd88edfb3464e46d3337c3ee72d28248e92ac79 Mon Sep 17 00:00:00 2001 From: Sven Lito Date: Sat, 9 Oct 2010 15:18:35 +0100 Subject: [PATCH 273/518] adding comment and URL to github gem --- plugins/github/_github | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/github/_github b/plugins/github/_github index 5295081..7217894 100644 --- a/plugins/github/_github +++ b/plugins/github/_github @@ -1,3 +1,6 @@ +# in order to make this work, you would need to have the github gem installed +# http://github.com/defunkt/github-gem + #compdef github #autoload From 210c76c35b1db7a761df45cd7f85d3b324f8e0b5 Mon Sep 17 00:00:00 2001 From: Sven Lito Date: Sat, 9 Oct 2010 15:29:28 +0100 Subject: [PATCH 274/518] leaving out subcommands for now --- plugins/github/_github | 2 -- 1 file changed, 2 deletions(-) diff --git a/plugins/github/_github b/plugins/github/_github index 7217894..b8e1a9a 100644 --- a/plugins/github/_github +++ b/plugins/github/_github @@ -21,8 +21,6 @@ _1st_arguments=( 'info:Info about this project' 'issues:Project issues tools' 'network:Project network tools - sub-commands : web [user], list, fetch, commits' - 'network --after:Only show commits after a certain date' - 'network --applies:Filter commits to patches that apply cleanly' 'open:Open the given user/project in a web browser' 'pull-request:Generate the text for a pull request' 'pull:Pull from a remote' From 061ea5c7c98ada295ae4623692e6811c0baab88d Mon Sep 17 00:00:00 2001 From: Irakli Gozalishvili Date: Sat, 9 Oct 2010 18:06:00 +0200 Subject: [PATCH 275/518] changeing unicode characters that were causing issues --- themes/gozilla.zsh-theme | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/themes/gozilla.zsh-theme b/themes/gozilla.zsh-theme index 97566e3..c6b752e 100644 --- a/themes/gozilla.zsh-theme +++ b/themes/gozilla.zsh-theme @@ -1,16 +1,15 @@ PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' -ZSH_THEME_GIT_PROMPT_PREFIX="(%{%}" -ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}" -ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}" +ZSH_THEME_GIT_PROMPT_PREFIX="(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")" +ZSH_THEME_GIT_PROMPT_DIRTY="" +ZSH_THEME_GIT_PROMPT_CLEAN="" -RPROMPT='$(git_prompt_status)' - -ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[cyan]%} ✈%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[yellow]%} ✭%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✗%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[blue]%} ➦%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[magenta]%} ⚡%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[grey]%} ⚑%{$reset_color%}" +RPROMPT='$(git_prompt_status)%{$reset_color%}' +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[cyan]%} ✈" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[yellow]%} ✭" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✗" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[blue]%} ➦" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[magenta]%} ✂" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[grey]%} ✱" From 425b0ef89fcd40b6b235347e32d8efd44709a802 Mon Sep 17 00:00:00 2001 From: Sven Lito Date: Sat, 9 Oct 2010 18:38:01 +0100 Subject: [PATCH 276/518] bugfix - moved gem info --- plugins/github/_github | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/github/_github b/plugins/github/_github index b8e1a9a..83e1713 100644 --- a/plugins/github/_github +++ b/plugins/github/_github @@ -1,9 +1,9 @@ -# in order to make this work, you would need to have the github gem installed -# http://github.com/defunkt/github-gem - #compdef github #autoload +# in order to make this work, you will need to have the github gem installed +# http://github.com/defunkt/github-gem + # github zsh completion, based on homebrew completion local -a _1st_arguments From dc12853b0c3e5af9e42f44cb9efdf57d44d20711 Mon Sep 17 00:00:00 2001 From: Sven Lito Date: Sat, 9 Oct 2010 19:11:07 +0100 Subject: [PATCH 277/518] merging in changes from robby's repo --- lib/functions.zsh | 1 - lib/git.zsh | 1 - 2 files changed, 2 deletions(-) diff --git a/lib/functions.zsh b/lib/functions.zsh index e494f1f..e3c0de4 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -37,4 +37,3 @@ function take() { mkdir -p $1 cd $1 } - diff --git a/lib/git.zsh b/lib/git.zsh index 57a78e2..75fdc1f 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -38,4 +38,3 @@ git_prompt_status() { fi echo $STATUS } - From 8b4858b6646ef2ce1bf4ab33ba94db33a95559b4 Mon Sep 17 00:00:00 2001 From: Brandon Philips Date: Sat, 9 Oct 2010 16:52:53 -0700 Subject: [PATCH 278/518] themes: philips customize git/ls for developers - Customize LS_COLORS for developers working on C code bases like the Kernel. - Add a * to the dirty prompt. Missed this accidently. Oops. Signed-off-by: Brandon Philips --- themes/philips.zsh-theme | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/philips.zsh-theme b/themes/philips.zsh-theme index fa7c590..c795255 100644 --- a/themes/philips.zsh-theme +++ b/themes/philips.zsh-theme @@ -7,8 +7,8 @@ RPROMPT='[%*]' ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[red]%}%B" ZSH_THEME_GIT_PROMPT_SUFFIX="%b%{$fg_bold[blue]%})%{$reset_color%} " ZSH_THEME_GIT_PROMPT_CLEAN="" -ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}" +ZSH_THEME_GIT_PROMPT_DIRTY="*" # LS colors, made with http://geoff.greer.fm/lscolors/ export LSCOLORS="Gxfxcxdxbxegedabagacad" -export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:' +export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:*.patch=00;34:*.o=00;32:*.so=01;35:*.ko=01;31:*.la=00;33' From 4e433eb6bb578c864116cbcf0aa201227f80e4aa Mon Sep 17 00:00:00 2001 From: Florian Walch Date: Fri, 15 Oct 2010 11:05:47 +0200 Subject: [PATCH 279/518] Added own theme (based on robbyrussell) --- themes/fwalch.zsh-theme | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 themes/fwalch.zsh-theme diff --git a/themes/fwalch.zsh-theme b/themes/fwalch.zsh-theme new file mode 100644 index 0000000..24edf55 --- /dev/null +++ b/themes/fwalch.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{$fg_bold[green]%}%p %{$fg[cyan]%}%c%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX=" (%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" From 60b560fc9ace116cde7e56954f386b1098751648 Mon Sep 17 00:00:00 2001 From: Florian Walch Date: Fri, 15 Oct 2010 16:50:39 +0200 Subject: [PATCH 280/518] Added gpg-agent plugin Based on ssh-agent plugin. --- plugins/gpg-agent/gpg-agent.plugin.zsh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 plugins/gpg-agent/gpg-agent.plugin.zsh diff --git a/plugins/gpg-agent/gpg-agent.plugin.zsh b/plugins/gpg-agent/gpg-agent.plugin.zsh new file mode 100644 index 0000000..8cc71fd --- /dev/null +++ b/plugins/gpg-agent/gpg-agent.plugin.zsh @@ -0,0 +1,26 @@ +# Based on ssh-agent code + +local GPG_ENV=$HOME/.gnupg/gpg-agent.env + +function start_agent { + /usr/bin/env gpg-agent --daemon --enable-ssh-support --write-env-file ${GPG_ENV} > /dev/null + chmod 600 ${GPG_ENV} + . ${GPG_ENV} > /dev/null +} + +# Source GPG agent settings, if applicable +if [ -f "${GPG_ENV}" ]; then + . ${GPG_ENV} > /dev/null + ps -ef | grep ${SSH_AGENT_PID} | grep gpg-agent > /dev/null || { + start_agent; + } +else + start_agent; +fi + +export GPG_AGENT_INFO +export SSH_AUTH_SOCK +export SSH_AGENT_PID + +GPG_TTY=$(tty) +export GPG_TTY From 9b6dd1cd48a549d2868cfe16073bbd04357e27e5 Mon Sep 17 00:00:00 2001 From: steeef Date: Fri, 22 Oct 2010 10:39:33 -0700 Subject: [PATCH 281/518] merge with master --- 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 a5cf0f9..07c1d3d 100644 --- a/themes/steeef.zsh-theme +++ b/themes/steeef.zsh-theme @@ -20,7 +20,7 @@ autoload -U add-zsh-hook autoload -Uz vcs_info #use extended color pallete if available -if [ $TERM = "xterm-256color" ]; then +if [ $TERM = "xterm-256color" || $TERM = "linux" || $TERM = "rxvt-256color" || $TERM = "rxvt-unicode-256color" ]; then turquoise="%F{81}" orange="%F{166}" purple="%F{135}" From 810b8f5ce8a58b03afba4e6ec5937e2cd0bcab5c Mon Sep 17 00:00:00 2001 From: steeef Date: Fri, 22 Oct 2010 10:42:49 -0700 Subject: [PATCH 282/518] merge with master --- 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 07c1d3d..6bca57e 100644 --- a/themes/steeef.zsh-theme +++ b/themes/steeef.zsh-theme @@ -20,7 +20,7 @@ autoload -U add-zsh-hook autoload -Uz vcs_info #use extended color pallete if available -if [ $TERM = "xterm-256color" || $TERM = "linux" || $TERM = "rxvt-256color" || $TERM = "rxvt-unicode-256color" ]; then +if [ [ $TERM = "xterm-256color" ] || [ $TERM = "linux"] || [ $TERM = "rxvt-256color" ] || [ $TERM = "rxvt-unicode-256color" ] ]; then turquoise="%F{81}" orange="%F{166}" purple="%F{135}" From d2bfdc2d89cb08a870169af4f394f27d2b9c0aed Mon Sep 17 00:00:00 2001 From: steeef Date: Fri, 22 Oct 2010 10:51:58 -0700 Subject: [PATCH 283/518] merge theme fixes from master --- 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 6bca57e..f813002 100644 --- a/themes/steeef.zsh-theme +++ b/themes/steeef.zsh-theme @@ -20,7 +20,7 @@ autoload -U add-zsh-hook autoload -Uz vcs_info #use extended color pallete if available -if [ [ $TERM = "xterm-256color" ] || [ $TERM = "linux"] || [ $TERM = "rxvt-256color" ] || [ $TERM = "rxvt-unicode-256color" ] ]; then +if [[ $TERM = *256color* || $TERM = "linux" ]]; then turquoise="%F{81}" orange="%F{166}" purple="%F{135}" From 4ff0136079b8ffe29e0990d0a0ce8876554aa0d5 Mon Sep 17 00:00:00 2001 From: steeef Date: Fri, 22 Oct 2010 11:34:52 -0700 Subject: [PATCH 284/518] merge from master --- 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 f813002..a2583b0 100644 --- a/themes/steeef.zsh-theme +++ b/themes/steeef.zsh-theme @@ -20,7 +20,7 @@ autoload -U add-zsh-hook autoload -Uz vcs_info #use extended color pallete if available -if [[ $TERM = *256color* || $TERM = "linux" ]]; then +if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then turquoise="%F{81}" orange="%F{166}" purple="%F{135}" From baa46b39e34a88da00f19411841ca9456fac4493 Mon Sep 17 00:00:00 2001 From: Joseph Jon Booker Date: Mon, 25 Oct 2010 16:02:16 -0500 Subject: [PATCH 285/518] command-not-found package in ubuntu --- plugins/command-not-found/command-not-found.plugin.zsh | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 plugins/command-not-found/command-not-found.plugin.zsh diff --git a/plugins/command-not-found/command-not-found.plugin.zsh b/plugins/command-not-found/command-not-found.plugin.zsh new file mode 100644 index 0000000..5ab03d5 --- /dev/null +++ b/plugins/command-not-found/command-not-found.plugin.zsh @@ -0,0 +1,5 @@ +# Uses the command-not-found package zsh support +# as seen in http://www.porcheron.info/command-not-found-for-zsh/ +# this is installed in Ubuntu + +source /etc/zsh_command_not_found From ab170c38ea7f3db981303afc6eb4dabe7b37711b Mon Sep 17 00:00:00 2001 From: Tom Stuart Date: Tue, 2 Nov 2010 11:26:49 +0000 Subject: [PATCH 286/518] Fix lighthouse plugin error message --- plugins/lighthouse/lighthouse.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/lighthouse/lighthouse.plugin.zsh b/plugins/lighthouse/lighthouse.plugin.zsh index 4eb06a9..7661c6a 100644 --- a/plugins/lighthouse/lighthouse.plugin.zsh +++ b/plugins/lighthouse/lighthouse.plugin.zsh @@ -4,7 +4,7 @@ # Example usage: http://screencast.com/t/ZDgwNDUwNT open_lighthouse_ticket () { if [ ! -f .lighthouse-url ]; then - echo "There is no .lighthouse file in the current directory..." + echo "There is no .lighthouse-url file in the current directory..." return 0; else lighthouse_url=$(cat .lighthouse-url); @@ -13,4 +13,4 @@ open_lighthouse_ticket () { fi } -alias lho='open_lighthouse_ticket' \ No newline at end of file +alias lho='open_lighthouse_ticket' From 9465ba0de456d270418457b486c308a2d49ed9c6 Mon Sep 17 00:00:00 2001 From: gwjo Date: Wed, 3 Nov 2010 16:57:15 -0400 Subject: [PATCH 287/518] Completion fixes Use /etc/hosts in addtion to $HOME/.ssh/known_hosts as the source for hostname completion Turn on completion caching to speed up certain comands When completing usernames, don't include system accounts by default --- lib/completion.zsh | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index 52cc5b5..9c2dfec 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -34,9 +34,31 @@ zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories cdpath=(.) +# use /etc/hosts and known_hosts for hostname completion +[ -r ~/.ssh/known_hosts ] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=() +[ -r /etc/hosts ] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$( Date: Tue, 9 Nov 2010 14:56:26 +0100 Subject: [PATCH 288/518] Added phing plugin --- plugins/phing/phing.plugin.zsh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 plugins/phing/phing.plugin.zsh diff --git a/plugins/phing/phing.plugin.zsh b/plugins/phing/phing.plugin.zsh new file mode 100644 index 0000000..80e3346 --- /dev/null +++ b/plugins/phing/phing.plugin.zsh @@ -0,0 +1,20 @@ +_phing_does_target_list_need_generating () { + if [ ! -f .phing_targets ]; then return 0; + else + accurate=$(stat -f%m .phing_targets) + changed=$(stat -f%m build.xml) + return $(expr $accurate '>=' $changed) + fi +} + +_phing () { + if [ -f build.xml ]; then + if _phing_does_target_list_need_generating; then + echo "\nGenerating .phing_targets..." > /dev/stderr + phing -l |grep -v ":" |grep -v "^$"|grep -v "\-" > .phing_targets + fi + compadd `cat .phing_targets` + fi +} + +compdef _phing phing From 72d7c0363c849fe166577ad91f06ab087feb99b1 Mon Sep 17 00:00:00 2001 From: Ubiratan Pires Alberton Date: Fri, 30 Jul 2010 09:27:32 -0300 Subject: [PATCH 289/518] Added my own theme, based on macovsky-ruby and funky --- themes/bira.zsh-theme | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 themes/bira.zsh-theme diff --git a/themes/bira.zsh-theme b/themes/bira.zsh-theme new file mode 100644 index 0000000..f0ee6a5 --- /dev/null +++ b/themes/bira.zsh-theme @@ -0,0 +1,14 @@ +# ZSH Theme - Preview: http://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +local user_host='%{$terminfo[bold]$fg[green]%}%n@%m%{$reset_color%}' +local current_dir='%{$terminfo[bold]$fg[blue]%} %~%{$reset_color%}' +local rvm_ruby='%{$fg[red]%}‹$(~/.rvm/bin/rvm-prompt i v g)›%{$reset_color%}' +local git_branch='$(git_prompt_info)%{$reset_color%}' + +PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby} ${git_branch} +╰─%B$%b " +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" From 2a203b558fd6328c9a91e9dbbf145d91e7ba7ed1 Mon Sep 17 00:00:00 2001 From: NanoTech Date: Sun, 14 Nov 2010 16:51:19 -0600 Subject: [PATCH 290/518] themes/nanotech: Use the new built-in zsh color variables. --- themes/nanotech.zsh-theme | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/themes/nanotech.zsh-theme b/themes/nanotech.zsh-theme index eddb23c..5d33316 100644 --- a/themes/nanotech.zsh-theme +++ b/themes/nanotech.zsh-theme @@ -1,7 +1,7 @@ -PROMPT=' %{$fg_bold[green]%}%2c %{$fg_bold[blue]%}%{[%}%{$reset_color%} ' -RPROMPT='$(git_prompt_info) %{$fg[blue]%}] %{$fg[green]%}%D{%L:%M} %{$fg[yellow]%}%D{%p}%{$reset_color%} ' +PROMPT='%F{green}%2c%F{blue} [%f ' +RPROMPT='$(git_prompt_info) %F{blue}] %F{green}%D{%L:%M} %F{yellow}%D{%p}%f' -ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}" -ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}*%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_PREFIX="%F{yellow}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%f" +ZSH_THEME_GIT_PROMPT_DIRTY=" %F{red}*%f" ZSH_THEME_GIT_PROMPT_CLEAN="" From 148c14e4f7e3ee9134807304a7c38682276e918c Mon Sep 17 00:00:00 2001 From: Fedyashev Nikita Date: Mon, 15 Nov 2010 14:45:04 -0500 Subject: [PATCH 291/518] vagrant plugin autocompletion - initial version --- plugins/vagrant/_vagrant | 139 +++++++++++++++++++++++++++++ plugins/vagrant/vagrant.plugin.zsh | 3 + 2 files changed, 142 insertions(+) create mode 100644 plugins/vagrant/_vagrant create mode 100644 plugins/vagrant/vagrant.plugin.zsh diff --git a/plugins/vagrant/_vagrant b/plugins/vagrant/_vagrant new file mode 100644 index 0000000..4cd6a46 --- /dev/null +++ b/plugins/vagrant/_vagrant @@ -0,0 +1,139 @@ +#compdef vagrant +#autoload + +# vagrant zsh completion, based on homebrew completion + +__task_list () +{ + local expl + declare -a tasks + + tasks=(box destroy halt init package provision reload resume ssh ssh_config status suspend up version) + + _wanted tasks expl 'help' compadd $tasks +} + +__box_list () +{ + _wanted application expl 'hxlp' compadd $(command ls -1 $HOME/.vagrant/boxes 2>/dev/null| sed -e 's/ /\\ /g') +} + +__vagrant-box () +{ + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + + # local -a subcommands + # subcommands=( + # 'start:Start a new release branch' + # 'finish:Finish a release branche.' + # 'list:List all your release branches. (Alias to `git flow release`)' + # ) + # _describe -t commands 'git flow release' subcommands + # _arguments \ + # -v'[Verbose (more) output]' + _describe -t commands "gem subcommand" _box_arguments + return + ;; + + (options) + case $line[1] in + + (repackage) + _arguments \ + -F'[Fetch from origin before performing finish]' \ + -r'[Rebase instead of merge]'\ + ':feature:__box_list' + + + + ;; + esac + ;; + esac + +} + +local -a _1st_arguments +_1st_arguments=( + 'box:Box commands' + 'destroy:Destroys the vagrant environment' + 'halt:Halts the currently running vagrant environment' + 'help:[TASK] Describe available tasks or one specific task' + 'init:[box_name] [box_url] Initializes current folder for Vagrant usage' + 'package:Packages a vagrant environment for distribution' + 'provision:Run the provisioner' + 'reload:Reload the vagrant environment' + 'resume:Resumes a suspend vagrant environment' + 'ssh:SSH into the currently running environment' + 'ssh_config:outputs .ssh/config valid syntax for connecting to this environment via ssh.' + 'status:Shows the status of the current Vagrant environment.' + 'suspend:Suspends the currently running vagrant environment' + 'up:Creates the vagrant environment' + 'version:Prints the Vagrant version information' +) + +local -a _box_arguments +_box_arguments=( + 'add:NAME URI Add a box to the system' + 'help:COMMAND Describe subcommands or one specific subcommand' + 'list:Lists all installed boxes' + 'remove:NAME Remove a box from the system' + 'repackage:NAME Repackage an installed box into a `.box` file.' +) + +local expl +local -a boxes installed_boxes + +#_arguments \ +# '(-v --version)'{-v,--version}'[show version]' \ +# '(-h --help)'{-h,--help}'[show help]' \ +# '*:: :->subcmds' && return 0 + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + + + +#echo $state +#echo -e "\n\n\n\n" +#echo $line[1] + +case $state in + + (command) + + _describe -t commands "gem subcommand" _1st_arguments + return + ;; + + (options) + + case $line[1] in + + (help) + _arguments \ + -F'[Fetch from origin before performing finish]' \ + -r'[Rebase instead of merge]'\ + ':feature:__task_list' + + ;; + + (box) + + __vagrant-box + ;; + esac + ;; +esac diff --git a/plugins/vagrant/vagrant.plugin.zsh b/plugins/vagrant/vagrant.plugin.zsh new file mode 100644 index 0000000..5e9bcf1 --- /dev/null +++ b/plugins/vagrant/vagrant.plugin.zsh @@ -0,0 +1,3 @@ +fpath=($ZSH/plugins/vagrant $fpath) +autoload -U compinit +compinit -i From ea274ab90c1a6d7f553e44ad7138f6205336b3b4 Mon Sep 17 00:00:00 2001 From: Fedyashev Nikita Date: Mon, 15 Nov 2010 14:56:01 -0500 Subject: [PATCH 292/518] fixed formatting; dead code deleted --- plugins/vagrant/_vagrant | 147 +++++++++++++++------------------------ 1 file changed, 58 insertions(+), 89 deletions(-) diff --git a/plugins/vagrant/_vagrant b/plugins/vagrant/_vagrant index 4cd6a46..ea7fd5f 100644 --- a/plugins/vagrant/_vagrant +++ b/plugins/vagrant/_vagrant @@ -5,134 +5,103 @@ __task_list () { - local expl - declare -a tasks + local expl + declare -a tasks - tasks=(box destroy halt init package provision reload resume ssh ssh_config status suspend up version) + tasks=(box destroy halt init package provision reload resume ssh ssh_config status suspend up version) - _wanted tasks expl 'help' compadd $tasks + _wanted tasks expl 'help' compadd $tasks } __box_list () { - _wanted application expl 'hxlp' compadd $(command ls -1 $HOME/.vagrant/boxes 2>/dev/null| sed -e 's/ /\\ /g') + _wanted application expl 'command' compadd $(command ls -1 $HOME/.vagrant/boxes 2>/dev/null| sed -e 's/ /\\ /g') } __vagrant-box () { - local curcontext="$curcontext" state line - typeset -A opt_args + local curcontext="$curcontext" state line + typeset -A opt_args - _arguments -C \ - ':command:->command' \ - '*::options:->options' + _arguments -C \ + ':command:->command' \ + '*::options:->options' - case $state in - (command) - - # local -a subcommands - # subcommands=( - # 'start:Start a new release branch' - # 'finish:Finish a release branche.' - # 'list:List all your release branches. (Alias to `git flow release`)' - # ) - # _describe -t commands 'git flow release' subcommands - # _arguments \ - # -v'[Verbose (more) output]' - _describe -t commands "gem subcommand" _box_arguments - return - ;; - - (options) - case $line[1] in - - (repackage) - _arguments \ - -F'[Fetch from origin before performing finish]' \ - -r'[Rebase instead of merge]'\ - ':feature:__box_list' - - - - ;; - esac - ;; - esac + case $state in + (command) + _describe -t commands "gem subcommand" _box_arguments + return + ;; + (options) + case $line[1] in + (repackage|remove) + _arguments \ + -F'[Fetch from origin before performing finish]' \ + -r'[Rebase instead of merge]'\ + ':feature:__box_list' + ;; + esac + ;; + esac } local -a _1st_arguments _1st_arguments=( - 'box:Box commands' - 'destroy:Destroys the vagrant environment' - 'halt:Halts the currently running vagrant environment' - 'help:[TASK] Describe available tasks or one specific task' - 'init:[box_name] [box_url] Initializes current folder for Vagrant usage' - 'package:Packages a vagrant environment for distribution' - 'provision:Run the provisioner' - 'reload:Reload the vagrant environment' - 'resume:Resumes a suspend vagrant environment' - 'ssh:SSH into the currently running environment' - 'ssh_config:outputs .ssh/config valid syntax for connecting to this environment via ssh.' - 'status:Shows the status of the current Vagrant environment.' - 'suspend:Suspends the currently running vagrant environment' - 'up:Creates the vagrant environment' - 'version:Prints the Vagrant version information' + 'box:Box commands' + 'destroy:Destroys the vagrant environment' + 'halt:Halts the currently running vagrant environment' + 'help:[TASK] Describe available tasks or one specific task' + 'init:[box_name] [box_url] Initializes current folder for Vagrant usage' + 'package:Packages a vagrant environment for distribution' + 'provision:Run the provisioner' + 'reload:Reload the vagrant environment' + 'resume:Resumes a suspend vagrant environment' + 'ssh:SSH into the currently running environment' + 'ssh_config:outputs .ssh/config valid syntax for connecting to this environment via ssh.' + 'status:Shows the status of the current Vagrant environment.' + 'suspend:Suspends the currently running vagrant environment' + 'up:Creates the vagrant environment' + 'version:Prints the Vagrant version information' ) local -a _box_arguments _box_arguments=( - 'add:NAME URI Add a box to the system' - 'help:COMMAND Describe subcommands or one specific subcommand' - 'list:Lists all installed boxes' - 'remove:NAME Remove a box from the system' - 'repackage:NAME Repackage an installed box into a `.box` file.' + 'add:NAME URI Add a box to the system' + 'help:COMMAND Describe subcommands or one specific subcommand' + 'list:Lists all installed boxes' + 'remove:NAME Remove a box from the system' + 'repackage:NAME Repackage an installed box into a `.box` file.' ) local expl local -a boxes installed_boxes -#_arguments \ -# '(-v --version)'{-v,--version}'[show version]' \ -# '(-h --help)'{-h,--help}'[show help]' \ -# '*:: :->subcmds' && return 0 - local curcontext="$curcontext" state line - typeset -A opt_args +local curcontext="$curcontext" state line +typeset -A opt_args - _arguments -C \ - ':command:->command' \ - '*::options:->options' +_arguments -C \ + ':command:->command' \ + '*::options:->options' - - -#echo $state -#echo -e "\n\n\n\n" -#echo $line[1] - case $state in - (command) - - _describe -t commands "gem subcommand" _1st_arguments - return + _describe -t commands "gem subcommand" _1st_arguments + return ;; (options) - case $line[1] in - (help) - _arguments \ - -F'[Fetch from origin before performing finish]' \ - -r'[Rebase instead of merge]'\ - ':feature:__task_list' - + _arguments \ + -F'[Fetch from origin before performing finish]' \ + -r'[Rebase instead of merge]'\ + ':feature:__task_list' ;; (box) - - __vagrant-box + __vagrant-box ;; esac ;; From 6dbfdd9e31cefcb9510edf5e526cf572cbcfa776 Mon Sep 17 00:00:00 2001 From: Fedyashev Nikita Date: Mon, 15 Nov 2010 15:18:58 -0500 Subject: [PATCH 293/518] improved formatting; redundant attributes deleted --- plugins/vagrant/_vagrant | 68 +++++++++++++++++++--------------------- 1 file changed, 32 insertions(+), 36 deletions(-) diff --git a/plugins/vagrant/_vagrant b/plugins/vagrant/_vagrant index ea7fd5f..483b29c 100644 --- a/plugins/vagrant/_vagrant +++ b/plugins/vagrant/_vagrant @@ -1,7 +1,35 @@ #compdef vagrant #autoload -# vagrant zsh completion, based on homebrew completion +# vagrant zsh completion + +local -a _1st_arguments +_1st_arguments=( + 'box:Box commands' + 'destroy:Destroys the vagrant environment' + 'halt:Halts the currently running vagrant environment' + 'help:[TASK] Describe available tasks or one specific task' + 'init:[box_name] [box_url] Initializes current folder for Vagrant usage' + 'package:Packages a vagrant environment for distribution' + 'provision:Run the provisioner' + 'reload:Reload the vagrant environment' + 'resume:Resumes a suspend vagrant environment' + 'ssh:SSH into the currently running environment' + 'ssh_config:outputs .ssh/config valid syntax for connecting to this environment via ssh.' + 'status:Shows the status of the current Vagrant environment.' + 'suspend:Suspends the currently running vagrant environment' + 'up:Creates the vagrant environment' + 'version:Prints the Vagrant version information' +) + +local -a _box_arguments +_box_arguments=( + 'add:NAME URI Add a box to the system' + 'help:COMMAND Describe subcommands or one specific subcommand' + 'list:Lists all installed boxes' + 'remove:NAME Remove a box from the system' + 'repackage:NAME Repackage an installed box into a `.box` file.' +) __task_list () { @@ -36,43 +64,15 @@ __vagrant-box () (options) case $line[1] in (repackage|remove) - _arguments \ - -F'[Fetch from origin before performing finish]' \ - -r'[Rebase instead of merge]'\ - ':feature:__box_list' + _arguments ':feature:__box_list' ;; esac ;; esac } -local -a _1st_arguments -_1st_arguments=( - 'box:Box commands' - 'destroy:Destroys the vagrant environment' - 'halt:Halts the currently running vagrant environment' - 'help:[TASK] Describe available tasks or one specific task' - 'init:[box_name] [box_url] Initializes current folder for Vagrant usage' - 'package:Packages a vagrant environment for distribution' - 'provision:Run the provisioner' - 'reload:Reload the vagrant environment' - 'resume:Resumes a suspend vagrant environment' - 'ssh:SSH into the currently running environment' - 'ssh_config:outputs .ssh/config valid syntax for connecting to this environment via ssh.' - 'status:Shows the status of the current Vagrant environment.' - 'suspend:Suspends the currently running vagrant environment' - 'up:Creates the vagrant environment' - 'version:Prints the Vagrant version information' -) -local -a _box_arguments -_box_arguments=( - 'add:NAME URI Add a box to the system' - 'help:COMMAND Describe subcommands or one specific subcommand' - 'list:Lists all installed boxes' - 'remove:NAME Remove a box from the system' - 'repackage:NAME Repackage an installed box into a `.box` file.' -) + local expl local -a boxes installed_boxes @@ -84,7 +84,6 @@ _arguments -C \ ':command:->command' \ '*::options:->options' - case $state in (command) _describe -t commands "gem subcommand" _1st_arguments @@ -94,10 +93,7 @@ case $state in (options) case $line[1] in (help) - _arguments \ - -F'[Fetch from origin before performing finish]' \ - -r'[Rebase instead of merge]'\ - ':feature:__task_list' + _arguments ':feature:__task_list' ;; (box) From bdaf872ce6e411f881e5e6138fc61a9c1645e67a Mon Sep 17 00:00:00 2001 From: Claus Witt Date: Wed, 17 Nov 2010 11:17:03 +0100 Subject: [PATCH 294/518] Removed the echo statement - no need for that. --- plugins/phing/phing.plugin.zsh | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/phing/phing.plugin.zsh b/plugins/phing/phing.plugin.zsh index 80e3346..8f4adca 100644 --- a/plugins/phing/phing.plugin.zsh +++ b/plugins/phing/phing.plugin.zsh @@ -10,7 +10,6 @@ _phing_does_target_list_need_generating () { _phing () { if [ -f build.xml ]; then if _phing_does_target_list_need_generating; then - echo "\nGenerating .phing_targets..." > /dev/stderr phing -l |grep -v ":" |grep -v "^$"|grep -v "\-" > .phing_targets fi compadd `cat .phing_targets` From f624889aa4eacbd5f5f11ec02115abd59e567716 Mon Sep 17 00:00:00 2001 From: Julien Nicoulaud Date: Sat, 20 Nov 2010 18:06:23 +0100 Subject: [PATCH 295/518] Rename appearance.zsh so that it gets loaded after spectrum.zsh. Allows to use 256 colors in prompt themes. --- lib/{appearance.zsh => theme-and-appearance.zsh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lib/{appearance.zsh => theme-and-appearance.zsh} (100%) diff --git a/lib/appearance.zsh b/lib/theme-and-appearance.zsh similarity index 100% rename from lib/appearance.zsh rename to lib/theme-and-appearance.zsh From b0c39ec7f1625fafd4d51166b19d38f583a3cf9b Mon Sep 17 00:00:00 2001 From: Julien Nicoulaud Date: Sat, 20 Nov 2010 18:07:45 +0100 Subject: [PATCH 296/518] Add my prompt theme --- themes/nicoulaj.zsh-theme | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 themes/nicoulaj.zsh-theme diff --git a/themes/nicoulaj.zsh-theme b/themes/nicoulaj.zsh-theme new file mode 100644 index 0000000..edcdb15 --- /dev/null +++ b/themes/nicoulaj.zsh-theme @@ -0,0 +1,43 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------ +# Prompt for the Zsh shell: +# * One line. +# * VCS info on the right prompt. +# * Only shows the path on the left prompt by default. +# * Crops the path to a defined length and only shows the path relative to +# the current VCS repository root. +# * Wears a different color wether the last command succeeded/failed. +# * Shows user@hostname if connected through SSH. +# * Shows if logged in as root or not. +# ------------------------------------------------------------------------------ + +# Customizable parameters. +PROMPT_PATH_MAX_LENGTH=30 +PROMPT_DEFAULT_END=❯ +PROMPT_ROOT_END=❯❯❯ +PROMPT_SUCCESS_COLOR=$FG[071] +PROMPT_FAILURE_COLOR=$FG[124] +PROMPT_VCS_INFO_COLOR=$FG[242] + +# Set required options. +setopt promptsubst + +# Load required modules. +autoload -U add-zsh-hook +autoload -Uz vcs_info + +# Add hook for calling vcs_info before each command. +add-zsh-hook precmd vcs_info + +# Set vcs_info parameters. +zstyle ':vcs_info:*' enable hg bzr git +zstyle ':vcs_info:*:*' check-for-changes true # Can be slow on big repos. +zstyle ':vcs_info:*:*' unstagedstr '!' +zstyle ':vcs_info:*:*' stagedstr '+' +zstyle ':vcs_info:*:*' actionformats "%S" "%r/%s/%b %u%c (%a)" +zstyle ':vcs_info:*:*' formats "%S" "%r/%s/%b %u%c" +zstyle ':vcs_info:*:*' nvcsformats "%$PROMPT_PATH_MAX_LENGTH<..<%~%<<" "" + +# Define prompts. +PROMPT="%(0?.%{$PROMPT_SUCCESS_COLOR%}.%{$PROMPT_FAILURE_COLOR%})${SSH_TTY:+[%n@%m]}%{$FX[bold]%}%$PROMPT_PATH_MAX_LENGTH<..<"'${vcs_info_msg_0_%%.}'"%<<%(!.$PROMPT_ROOT_END.$PROMPT_DEFAULT_END)%{$FX[no-bold]%}%{$FX[reset]%} " +RPROMPT="%{$PROMPT_VCS_INFO_COLOR%}"'$vcs_info_msg_1_'"%{$FX[reset]%}" From 9b0a75ca84e9bb1956806f09ee7040ce8c0d647c Mon Sep 17 00:00:00 2001 From: Julien Nicoulaud Date: Sat, 20 Nov 2010 20:12:19 +0100 Subject: [PATCH 297/518] Avoid duplicate path cropping --- themes/nicoulaj.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/nicoulaj.zsh-theme b/themes/nicoulaj.zsh-theme index edcdb15..333aa5e 100644 --- a/themes/nicoulaj.zsh-theme +++ b/themes/nicoulaj.zsh-theme @@ -36,7 +36,7 @@ zstyle ':vcs_info:*:*' unstagedstr '!' zstyle ':vcs_info:*:*' stagedstr '+' zstyle ':vcs_info:*:*' actionformats "%S" "%r/%s/%b %u%c (%a)" zstyle ':vcs_info:*:*' formats "%S" "%r/%s/%b %u%c" -zstyle ':vcs_info:*:*' nvcsformats "%$PROMPT_PATH_MAX_LENGTH<..<%~%<<" "" +zstyle ':vcs_info:*:*' nvcsformats "%~" "" # Define prompts. PROMPT="%(0?.%{$PROMPT_SUCCESS_COLOR%}.%{$PROMPT_FAILURE_COLOR%})${SSH_TTY:+[%n@%m]}%{$FX[bold]%}%$PROMPT_PATH_MAX_LENGTH<..<"'${vcs_info_msg_0_%%.}'"%<<%(!.$PROMPT_ROOT_END.$PROMPT_DEFAULT_END)%{$FX[no-bold]%}%{$FX[reset]%} " From e5beb1a6b5f31d2fa1c77598ef48d888b773e26c Mon Sep 17 00:00:00 2001 From: Dieter Plaetinck Date: Wed, 24 Nov 2010 18:03:14 +0100 Subject: [PATCH 298/518] add dieter theme v1 --- themes/dieter.zsh-theme | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 themes/dieter.zsh-theme diff --git a/themes/dieter.zsh-theme b/themes/dieter.zsh-theme new file mode 100644 index 0000000..5b61c80 --- /dev/null +++ b/themes/dieter.zsh-theme @@ -0,0 +1,33 @@ +# the idea of this theme is to contain a lot of info in a small string, by compressing some parts, +# and colorcoding, which bring useful visual cues. While limiting the amount of colors and such to keep +# it easy on the eyes +# exact return code (when >0) is on the right, so it stays out of the way + +# TODO: reset exit code visual cues (not exit code itself) after showing once +# TODO: compress hostname in window title + +typeset -A host_repr +host_repr=('dieter-ws-a7n8x-arch' "%{$fg_bold[green]%}ws" 'dieter-p4sci-arch' "%{$fg_bold[blue]%}p4") + + +# local time, color coded after last return code +local time="%(?.%{$fg[green]%}.%{$fg[red]%})%*%{$reset_color%}" +# user part, color coded after privileges +local user="%(!.%{$fg[blue]%}.%{$fg[blue]%})%n%{$reset_color%}" +# Hostname part. compressed and colorcoded per host_repr array +# if not found, regular hostname in default color +local host="@${host_repr[$(hostname)]:-$(hostname)}%{$reset_color%}" +# Compacted $PWD +local pwd="%{$fg[blue]%}%c%{$reset_color%}" + +PROMPT='${time} ${user}${host} ${pwd} $(git_prompt_info)' + +# i would prefer 1 icon that shows the "most drastic" deviation from head, but lets see how this works out +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%} %{$fg[yellow]%}?%{$fg[green]%}%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}" + +# elaborate exitcode on the right when >0 +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" +RPS1="${return_code}" From dc87b81b1b70d528643aece33dcb0f4c25621e72 Mon Sep 17 00:00:00 2001 From: Dieter Plaetinck Date: Wed, 24 Nov 2010 19:58:03 +0100 Subject: [PATCH 299/518] reset exit code visual cues (not exit code itself) after showing once --- themes/dieter.zsh-theme | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/themes/dieter.zsh-theme b/themes/dieter.zsh-theme index 5b61c80..a14829f 100644 --- a/themes/dieter.zsh-theme +++ b/themes/dieter.zsh-theme @@ -2,21 +2,25 @@ # and colorcoding, which bring useful visual cues. While limiting the amount of colors and such to keep # it easy on the eyes # exact return code (when >0) is on the right, so it stays out of the way - -# TODO: reset exit code visual cues (not exit code itself) after showing once -# TODO: compress hostname in window title +# The visual cues for >0 exit codes will only display once +# (i.e. they will be reset, even if you hit enter a few times on empty command prompts) typeset -A host_repr host_repr=('dieter-ws-a7n8x-arch' "%{$fg_bold[green]%}ws" 'dieter-p4sci-arch' "%{$fg_bold[blue]%}p4") # local time, color coded after last return code -local time="%(?.%{$fg[green]%}.%{$fg[red]%})%*%{$reset_color%}" +time_enabled="%(?.%{$fg[green]%}.%{$fg[red]%})%*%{$reset_color%}" +time_disabled="%{$fg[green]%}%*%{$reset_color%}" +time=$time_enabled + # user part, color coded after privileges local user="%(!.%{$fg[blue]%}.%{$fg[blue]%})%n%{$reset_color%}" + # Hostname part. compressed and colorcoded per host_repr array # if not found, regular hostname in default color local host="@${host_repr[$(hostname)]:-$(hostname)}%{$reset_color%}" + # Compacted $PWD local pwd="%{$fg[blue]%}%c%{$reset_color%}" @@ -29,5 +33,21 @@ ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%} %{$fg[yellow]%}?%{$fg[green]%}%{$rese ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}" # elaborate exitcode on the right when >0 -local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" -RPS1="${return_code}" +return_code_enabled="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" +return_code_disabled= +return_code=$return_code_enabled + +RPS1='${return_code}' + +function accept-line-or-clear-warning () { + if [[ -z $BUFFER ]]; then + time=$time_disabled + return_code=$return_code_disabled + else + time=$time_enabled + return_code=$return_code_enabled + fi + zle accept-line +} +zle -N accept-line-or-clear-warning +bindkey '^M' accept-line-or-clear-warning From 0cd956c59692d5e4e7bc01138b96b1537b6d821a Mon Sep 17 00:00:00 2001 From: Dieter Plaetinck Date: Wed, 24 Nov 2010 20:04:40 +0100 Subject: [PATCH 300/518] better phrasing/documentation --- themes/dieter.zsh-theme | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/themes/dieter.zsh-theme b/themes/dieter.zsh-theme index a14829f..0a5e926 100644 --- a/themes/dieter.zsh-theme +++ b/themes/dieter.zsh-theme @@ -1,20 +1,22 @@ -# the idea of this theme is to contain a lot of info in a small string, by compressing some parts, -# and colorcoding, which bring useful visual cues. While limiting the amount of colors and such to keep -# it easy on the eyes -# exact return code (when >0) is on the right, so it stays out of the way -# The visual cues for >0 exit codes will only display once +# the idea of this theme is to contain a lot of info in a small string, by +# compressing some parts and colorcoding, which bring useful visual cues, +# while limiting the amount of colors and such to keep it easy on the eyes. +# When a command exited >0, the timestamp will be in red and the exit code +# will be on the right edge. +# The exit code visual cues will only display once. # (i.e. they will be reset, even if you hit enter a few times on empty command prompts) typeset -A host_repr + +# translate hostnames into shortened, colorcoded strings host_repr=('dieter-ws-a7n8x-arch' "%{$fg_bold[green]%}ws" 'dieter-p4sci-arch' "%{$fg_bold[blue]%}p4") - -# local time, color coded after last return code +# local time, color coded by last return code time_enabled="%(?.%{$fg[green]%}.%{$fg[red]%})%*%{$reset_color%}" time_disabled="%{$fg[green]%}%*%{$reset_color%}" time=$time_enabled -# user part, color coded after privileges +# user part, color coded by privileges local user="%(!.%{$fg[blue]%}.%{$fg[blue]%})%n%{$reset_color%}" # Hostname part. compressed and colorcoded per host_repr array @@ -26,7 +28,8 @@ local pwd="%{$fg[blue]%}%c%{$reset_color%}" PROMPT='${time} ${user}${host} ${pwd} $(git_prompt_info)' -# i would prefer 1 icon that shows the "most drastic" deviation from head, but lets see how this works out +# i would prefer 1 icon that shows the "most drastic" deviation from HEAD, +# but lets see how this works out ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%} %{$fg[yellow]%}?%{$fg[green]%}%{$reset_color%}" From fa7036b4eef177f25478091e660fca52b9ac725d Mon Sep 17 00:00:00 2001 From: Claus Witt Date: Thu, 25 Nov 2010 21:48:07 +0100 Subject: [PATCH 301/518] Added ant plugin --- plugins/ant/ant.plugin.zsh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 plugins/ant/ant.plugin.zsh diff --git a/plugins/ant/ant.plugin.zsh b/plugins/ant/ant.plugin.zsh new file mode 100644 index 0000000..0544ac9 --- /dev/null +++ b/plugins/ant/ant.plugin.zsh @@ -0,0 +1,19 @@ +_ant_does_target_list_need_generating () { + if [ ! -f .ant_targets ]; then return 0; + else + accurate=$(stat -f%m .ant_targets) + changed=$(stat -f%m build.xml) + return $(expr $accurate '>=' $changed) + fi +} + +_ant () { + if [ -f build.xml ]; then + if _ant_does_target_list_need_generating; then + sed -n '/ .ant_targets + fi + compadd `cat .ant_targets` + fi +} + +compdef _ant ant From 1a673fc1d582463c17168557b95fe6a55e0757e5 Mon Sep 17 00:00:00 2001 From: Dieter Plaetinck Date: Wed, 1 Dec 2010 18:07:28 +0100 Subject: [PATCH 302/518] Don't export oh-my-zsh configuration paramaters to the environment These variables are only used by oh-my-zsh, so there's no need to populate the environment of all children with them. --- templates/zshrc.zsh-template | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template index 8022b35..69cbbb0 100644 --- a/templates/zshrc.zsh-template +++ b/templates/zshrc.zsh-template @@ -1,18 +1,18 @@ # Path to your oh-my-zsh configuration. -export ZSH=$HOME/.oh-my-zsh +ZSH=$HOME/.oh-my-zsh # Set to the name theme to load. # Look in ~/.oh-my-zsh/themes/ -export ZSH_THEME="robbyrussell" +ZSH_THEME="robbyrussell" # Set to this to use case-sensitive completion -# export CASE_SENSITIVE="true" +# CASE_SENSITIVE="true" # Comment this out to disable weekly auto-update checks -# export DISABLE_AUTO_UPDATE="true" +# DISABLE_AUTO_UPDATE="true" # Uncomment following line if you want to disable colors in ls -# export DISABLE_LS_COLORS="true" +# DISABLE_LS_COLORS="true" # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) # Example format: plugins=(rails git textmate ruby lighthouse) From d230d2e519fb4720671ff7acf2b5a05f640eaebe Mon Sep 17 00:00:00 2001 From: Igor Vinokurov Date: Thu, 2 Dec 2010 03:49:13 +0300 Subject: [PATCH 303/518] gentoo-like theme w/ git_prompt_info --- themes/gentoo.zsh-theme | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 themes/gentoo.zsh-theme diff --git a/themes/gentoo.zsh-theme b/themes/gentoo.zsh-theme new file mode 100644 index 0000000..cba143d --- /dev/null +++ b/themes/gentoo.zsh-theme @@ -0,0 +1,4 @@ +PROMPT='%(!.%{$fg_bold[red]%}.%{$fg_bold[green]%}%n@)%m %{$fg_bold[blue]%}%(!.%1~.%~) $(git_prompt_info)%#%{$reset_color%} ' + +ZSH_THEME_GIT_PROMPT_PREFIX="(" +ZSH_THEME_GIT_PROMPT_SUFFIX=") " From 0e2d289fffbf15c95c5401aa484ad63a51e88e3c Mon Sep 17 00:00:00 2001 From: Daniel Karlsson Date: Fri, 3 Dec 2010 15:51:34 +0100 Subject: [PATCH 304/518] Added new kardan theme. --- themes/kardan.zsh-theme | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 themes/kardan.zsh-theme diff --git a/themes/kardan.zsh-theme b/themes/kardan.zsh-theme new file mode 100644 index 0000000..f2b036f --- /dev/null +++ b/themes/kardan.zsh-theme @@ -0,0 +1,12 @@ +# Comment + +function get_host { + echo '@'`hostname`'' +} + +RPROMPT='%~$(git_prompt_info)$(get_host)' +export PS1='> ' + +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_PREFIX="(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")" \ No newline at end of file From 17c6c0376084d09a6cf3d1260d65447ba179c694 Mon Sep 17 00:00:00 2001 From: Daniel Karlsson Date: Fri, 3 Dec 2010 15:58:18 +0100 Subject: [PATCH 305/518] Updated the PROMT. --- themes/kardan.zsh-theme | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/themes/kardan.zsh-theme b/themes/kardan.zsh-theme index f2b036f..fd6586a 100644 --- a/themes/kardan.zsh-theme +++ b/themes/kardan.zsh-theme @@ -1,11 +1,11 @@ -# Comment +# Simple theme based on my old zsh settings. function get_host { echo '@'`hostname`'' } -RPROMPT='%~$(git_prompt_info)$(get_host)' -export PS1='> ' +PROMPT='> ' +RPROMPT='%~$(git_prompt_info)$(get_host)' ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}✗%{$reset_color%}" ZSH_THEME_GIT_PROMPT_PREFIX="(" From f2d60d3023b006e5e31928ed36491f4639a7a022 Mon Sep 17 00:00:00 2001 From: Jake Bell Date: Sun, 19 Dec 2010 21:08:21 -0600 Subject: [PATCH 306/518] Updating theunraveler theme to include more detailed git info. --- themes/theunraveler.zsh-theme | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/themes/theunraveler.zsh-theme b/themes/theunraveler.zsh-theme index 4eec8e8..e4bfb79 100644 --- a/themes/theunraveler.zsh-theme +++ b/themes/theunraveler.zsh-theme @@ -1,6 +1,16 @@ -# Comment +# Comment -ZSH_THEME_GIT_PROMPT_PREFIX=' (git:' -ZSH_THEME_GIT_PROMPT_SUFFIX=')' +PROMPT='%{$fg[magenta]%}[%c] %{$reset_color%}' -PROMPT='%{$fg[magenta]%}[%c]$(git_prompt_info) $ %{$reset_color%}' \ No newline at end of file +RPROMPT='%{$fg[magenta]%}$(git_prompt_info)%{$reset_color%} $(git_prompt_status)%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="" +ZSH_THEME_GIT_PROMPT_SUFFIX="" +ZSH_THEME_GIT_PROMPT_DIRTY="" +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[cyan]%} ✈" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[yellow]%} ✭" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✗" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[blue]%} ➦" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[magenta]%} ✂" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[grey]%} ✱" \ No newline at end of file From 632181c3dc0930ddd147e11041f4ffe07b4ad18f Mon Sep 17 00:00:00 2001 From: Hakan Ensari Date: Mon, 20 Dec 2010 11:13:46 -0300 Subject: [PATCH 307/518] Fixed typo --- plugins/gem/gem.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/gem/gem.plugin.zsh b/plugins/gem/gem.plugin.zsh index 65d3766..d4e5c65 100644 --- a/plugins/gem/gem.plugin.zsh +++ b/plugins/gem/gem.plugin.zsh @@ -1,4 +1,4 @@ -# add brew completion function to path +# add gem completion function to path fpath=($ZSH/plugins/gem $fpath) autoload -U compinit compinit -i From 8edf417375fa8468008fbea78b7532125ea6bd83 Mon Sep 17 00:00:00 2001 From: Hakan Ensari Date: Mon, 20 Dec 2010 12:13:47 -0300 Subject: [PATCH 308/518] Aliased git checkout as `gco` --- plugins/git/git.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index d317d17..09b1f16 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -8,6 +8,7 @@ alias gd='git diff | mate' alias gdv='git diff -w "$@" | vim -R -' alias gc='git commit -v' alias gca='git commit -v -a' +alias gco='git checkout' alias gb='git branch' alias gba='git branch -a' alias gcount='git shortlog -sn' From 960eb52366abe6e8951b8b20a9fb59ef6d50a3e8 Mon Sep 17 00:00:00 2001 From: Hakan Ensari Date: Mon, 20 Dec 2010 12:19:59 -0300 Subject: [PATCH 309/518] A rails3 plugin based on the rails plugin --- plugins/rails3/rails3.plugin.zsh | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 plugins/rails3/rails3.plugin.zsh diff --git a/plugins/rails3/rails3.plugin.zsh b/plugins/rails3/rails3.plugin.zsh new file mode 100644 index 0000000..5c1930a --- /dev/null +++ b/plugins/rails3/rails3.plugin.zsh @@ -0,0 +1,12 @@ +alias rs='ruby script/rails server' +alias rg='ruby script/rails generate' +alias rd='ruby script/rails destroy' +alias rp='ruby script/rails plugin' +alias rdbm='rake db:migrate db:test:clone' +alias rc='ruby script/rails console' +alias rd='ruby script/rais server --debugger' +alias devlog='tail -f log/development.log' + +function remote_console() { + /usr/bin/env ssh $1 "( cd $2 && ruby script/rails console production )" +} From 6aa8ee2f515875e9a75b30b3a5734451f585a3f1 Mon Sep 17 00:00:00 2001 From: Hakan Ensari Date: Mon, 20 Dec 2010 12:50:55 -0300 Subject: [PATCH 310/518] Removed remote_console. It doesn't handle rvm, capistrano, and so on. --- plugins/rails3/rails3.plugin.zsh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/plugins/rails3/rails3.plugin.zsh b/plugins/rails3/rails3.plugin.zsh index 5c1930a..20ba040 100644 --- a/plugins/rails3/rails3.plugin.zsh +++ b/plugins/rails3/rails3.plugin.zsh @@ -6,7 +6,3 @@ alias rdbm='rake db:migrate db:test:clone' alias rc='ruby script/rails console' alias rd='ruby script/rais server --debugger' alias devlog='tail -f log/development.log' - -function remote_console() { - /usr/bin/env ssh $1 "( cd $2 && ruby script/rails console production )" -} From 1a8ceef514bc86f882adce1834bfab168afcb4d1 Mon Sep 17 00:00:00 2001 From: Hakan Ensari Date: Mon, 20 Dec 2010 12:57:23 -0300 Subject: [PATCH 311/518] Typo --- plugins/git/git.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 09b1f16..71a6281 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -27,7 +27,7 @@ function current_branch() { echo ${ref#refs/heads/} } -# these aliases take advangate of the previous function +# these aliases take advantage of the previous function alias ggpull='git pull origin $(current_branch)' alias ggpush='git push origin $(current_branch)' -alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)' \ No newline at end of file +alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)' From 06472515e137df32ad2f898962a3ca05c24ad8d0 Mon Sep 17 00:00:00 2001 From: Jarin Udom Date: Mon, 20 Dec 2010 13:51:29 -0800 Subject: [PATCH 312/518] Add superjarin theme that shows current Ruby version via RVM --- themes/superjarin.zsh-theme | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 themes/superjarin.zsh-theme diff --git a/themes/superjarin.zsh-theme b/themes/superjarin.zsh-theme new file mode 100644 index 0000000..16eeb53 --- /dev/null +++ b/themes/superjarin.zsh-theme @@ -0,0 +1,18 @@ +# Grab the current version of ruby in use (via RVM): [ruby-1.8.7] +JARIN_CURRENT_RUBY_="%{$fg[white]%}[%{$fg[red]%}\$(~/.rvm/bin/rvm-prompt i v)%{$fg[white]%}]%{$reset_color%}" + +# Grab the current filepath, use shortcuts: ~/Desktop +# Append the current git branch, if in a git repository +JARIN_CURRENT_LOCA_="%{$fg_bold[cyan]%}%~\$(git_prompt_info)%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[white]%} <%{$fg[magenta]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" + +# Do nothing if the branch is clean (no changes). +ZSH_THEME_GIT_PROMPT_CLEAN="%{$reset_color%}>" + +# Add a yellow ✗ if the branch is dirty +ZSH_THEME_GIT_PROMPT_DIRTY="%{$reset_color%}> %{$fg[yellow]%}✗" + +# Put it all together! +PROMPT="$JARIN_CURRENT_RUBY_ $JARIN_CURRENT_LOCA_ " + From 2b03b95122361fa73e7651d1a06730ae95548a14 Mon Sep 17 00:00:00 2001 From: Derek Prior Date: Tue, 21 Dec 2010 14:28:40 -0500 Subject: [PATCH 313/518] Added function to mkdir and immediately change to it --- lib/directories.zsh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/directories.zsh b/lib/directories.zsh index 56d7a23..bb114f6 100644 --- a/lib/directories.zsh +++ b/lib/directories.zsh @@ -36,5 +36,9 @@ cd () { alias md='mkdir -p' alias rd=rmdir +alias d='dirs -v' -alias d='dirs -v' \ No newline at end of file +# mkdir & cd to it +function mcd() { + mkdir -p "$1" && cd "$1"; +} \ No newline at end of file From ff0b25b745494d96ae06694321b2299991620b14 Mon Sep 17 00:00:00 2001 From: SuprDewd Date: Fri, 24 Dec 2010 22:20:57 +0000 Subject: [PATCH 314/518] Added a function to extract various archives. Also an alias for the function. --- lib/aliases.zsh | 2 ++ lib/functions.zsh | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index d2d3aed..b47de5b 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -21,3 +21,5 @@ alias ll='ls -l' alias sl=ls # often screw this up alias afind='ack-grep -il' + +alias x=extract diff --git a/lib/functions.zsh b/lib/functions.zsh index e3c0de4..99b7540 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -37,3 +37,24 @@ function take() { mkdir -p $1 cd $1 } + +function extract() { + if [[ -f $1 ]]; then + case $1 in + *.tar.bz2) tar xvjf $1;; + *.tar.gz) tar xvzf $1;; + *.bz2) bunzip $1;; + *.rar) unrar $1;; + *.gz) gunzip $1;; + *.tar) tar xvf $1;; + *.tbz2) tar xvjf $1;; + *.tgz) tar xvzf $1;; + *.zip) unzip $1;; + *.Z) uncompress $1;; + *.7z) 7z x $1;; + *) echo "'$1' cannot be extracted via >extract<";; + esac + else + echo "'$1' is not a valid file" + fi +} From f0136f2aec4efdd11e976ddbbfd204ca5e113498 Mon Sep 17 00:00:00 2001 From: SuprDewd Date: Sat, 25 Dec 2010 13:28:16 +0000 Subject: [PATCH 315/518] Support for more archive formats. --- lib/functions.zsh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/functions.zsh b/lib/functions.zsh index 99b7540..4246f88 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -43,6 +43,8 @@ function extract() { case $1 in *.tar.bz2) tar xvjf $1;; *.tar.gz) tar xvzf $1;; + *.tar.xz) tar xvJf $1;; + *.tar.lzma) tar --lzma -xvf $1;; *.bz2) bunzip $1;; *.rar) unrar $1;; *.gz) gunzip $1;; From 943e09cd84baff55d36ebcfcf05b9fbfb4436a17 Mon Sep 17 00:00:00 2001 From: "Suraj N. Kurapati" Date: Tue, 28 Dec 2010 20:36:29 -0800 Subject: [PATCH 316/518] add "fishy" theme to emulate Fish shell's prompt --- themes/fishy.zsh-theme | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 themes/fishy.zsh-theme diff --git a/themes/fishy.zsh-theme b/themes/fishy.zsh-theme new file mode 100644 index 0000000..f22eda8 --- /dev/null +++ b/themes/fishy.zsh-theme @@ -0,0 +1,9 @@ +# ZSH Theme emulating the Fish shell's default prompt. + +local user_color='green'; [ $UID -eq 0 ] && user_color='red' +PROMPT='%n@%m %{$fg[$user_color]%}%~%{$reset_color%}%(!.#.>) ' +PROMPT2='%{$fg[red]%}\ %{$reset_color%}' +RPS1='%(?..%{$fg[red]%}%? ↵%{$reset_color%})$(git_prompt_info)' + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[cyan]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" From 8d2b9d10e5105f9e0af0700e427e0567011ab45b Mon Sep 17 00:00:00 2001 From: "Suraj N. Kurapati" Date: Sat, 8 Jan 2011 18:15:57 -0800 Subject: [PATCH 317/518] avoid forking subshell to test if user is root --- themes/afowler.zsh-theme | 2 +- themes/arrow.zsh-theme | 2 +- themes/clean.zsh-theme | 2 +- themes/dst.zsh-theme | 2 +- themes/jreese.zsh-theme | 2 +- themes/philips.zsh-theme | 2 +- themes/pmcgee.zsh-theme | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/themes/afowler.zsh-theme b/themes/afowler.zsh-theme index b5a9bb1..3a4753f 100644 --- a/themes/afowler.zsh-theme +++ b/themes/afowler.zsh-theme @@ -1,4 +1,4 @@ -if [ "$(whoami)" = "root" ]; then CARETCOLOR="red"; else CARETCOLOR="blue"; fi +if [ $UID -eq 0 ]; then CARETCOLOR="red"; else CARETCOLOR="blue"; fi local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" diff --git a/themes/arrow.zsh-theme b/themes/arrow.zsh-theme index a23efd1..d62dcdc 100644 --- a/themes/arrow.zsh-theme +++ b/themes/arrow.zsh-theme @@ -1,4 +1,4 @@ -if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="yellow"; fi +if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="yellow"; fi PROMPT='%{$fg[$NCOLOR]%}%c ➤ %{$reset_color%}' RPROMPT='%{$fg[$NCOLOR]%}%p $(git_prompt_info)%{$reset_color%}' diff --git a/themes/clean.zsh-theme b/themes/clean.zsh-theme index 95f532a..7ee29cb 100644 --- a/themes/clean.zsh-theme +++ b/themes/clean.zsh-theme @@ -1,4 +1,4 @@ -if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="white"; fi +if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="white"; fi PROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(git_prompt_info)%(!.#.$) ' RPROMPT='[%*]' diff --git a/themes/dst.zsh-theme b/themes/dst.zsh-theme index fa0d9cb..3e2539d 100644 --- a/themes/dst.zsh-theme +++ b/themes/dst.zsh-theme @@ -5,7 +5,7 @@ ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}!" ZSH_THEME_GIT_PROMPT_CLEAN="" function prompt_char { - if [ "$(whoami)" = "root" ]; then echo "%{$fg[red]%}#%{$reset_color%}"; else echo $; fi + if [ $UID -eq 0 ]; then echo "%{$fg[red]%}#%{$reset_color%}"; else echo $; fi } PROMPT='%(?, ,%{$fg[red]%}FAIL%{$reset_color%} diff --git a/themes/jreese.zsh-theme b/themes/jreese.zsh-theme index 534664f..0fa6b4e 100644 --- a/themes/jreese.zsh-theme +++ b/themes/jreese.zsh-theme @@ -1,6 +1,6 @@ # ZSH Theme - Preview: http://dl.dropbox.com/u/1552408/Screenshots/2010-04-08-oh-my-zsh.png -if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="green"; fi +if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" PROMPT='%{$fg[$NCOLOR]%}%n%{$fg[green]%}@%m%{$reset_color%} %~ \ diff --git a/themes/philips.zsh-theme b/themes/philips.zsh-theme index fa7c590..e7ea51a 100644 --- a/themes/philips.zsh-theme +++ b/themes/philips.zsh-theme @@ -1,4 +1,4 @@ -if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="green"; fi +if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi PROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(git_prompt_info)%(!.#.$) ' RPROMPT='[%*]' diff --git a/themes/pmcgee.zsh-theme b/themes/pmcgee.zsh-theme index 4eb54df..e4e45c7 100644 --- a/themes/pmcgee.zsh-theme +++ b/themes/pmcgee.zsh-theme @@ -1,4 +1,4 @@ -if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="green"; fi +if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi PROMPT=' %{$fg[$NCOLOR]%}%B%n@%m%b%{$reset_color%} %{$fg[white]%}%B${PWD/#$HOME/~}%b%{$reset_color%} From 8294cf44d1d348fd1590ee28b5be8483fb012153 Mon Sep 17 00:00:00 2001 From: Michael Komitee Date: Sat, 8 Jan 2011 23:34:47 -0500 Subject: [PATCH 318/518] Postponing sourcing of the theme until after local customizations --- lib/appearance.zsh | 2 -- oh-my-zsh.sh | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/appearance.zsh b/lib/appearance.zsh index ffee52b..aec6772 100644 --- a/lib/appearance.zsh +++ b/lib/appearance.zsh @@ -34,5 +34,3 @@ ZSH_THEME_GIT_PROMPT_CLEAN="" # Text to display if the branch is c # Setup the prompt with pretty colors setopt prompt_subst -# Load the theme -source "$ZSH/themes/$ZSH_THEME.zsh-theme" \ No newline at end of file diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 848e48e..291772d 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -14,6 +14,9 @@ for config_file ($ZSH/custom/*.zsh) source $config_file plugin=${plugin:=()} for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh +# Load the theme +source "$ZSH/themes/$ZSH_THEME.zsh-theme" + # Check for updates on initial load... if [ "$DISABLE_AUTO_UPDATE" = "true" ] then From f5c45c23ee7958395e80f97228c4267bfd0d4e6c Mon Sep 17 00:00:00 2001 From: Danny Tatom Date: Sat, 8 Jan 2011 21:07:03 -0800 Subject: [PATCH 319/518] Added lambda theme --- themes/lambda.zsh-theme | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 themes/lambda.zsh-theme diff --git a/themes/lambda.zsh-theme b/themes/lambda.zsh-theme new file mode 100644 index 0000000..63292d3 --- /dev/null +++ b/themes/lambda.zsh-theme @@ -0,0 +1,6 @@ +# ZSH Theme - Preview: http://cl.ly/350F0F0k1M2y3A2i3p1S + +PROMPT='λ %~/ $(git_prompt_info)%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " From b61cae150a5f693ed1e2bd4a292feea899058e44 Mon Sep 17 00:00:00 2001 From: Francesco Lazzarino Date: Mon, 10 Jan 2011 10:16:04 -0500 Subject: [PATCH 320/518] theme based on afowler with vi-mode support --- themes/flazz.zsh-theme | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 themes/flazz.zsh-theme diff --git a/themes/flazz.zsh-theme b/themes/flazz.zsh-theme new file mode 100644 index 0000000..280794f --- /dev/null +++ b/themes/flazz.zsh-theme @@ -0,0 +1,19 @@ +if [ "$(whoami)" = "root" ] +then CARETCOLOR="red" +else CARETCOLOR="blue" +fi + +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +PROMPT='%m%{${fg_bold[magenta]}%} :: %{$reset_color%}%{${fg[green]}%}%3~ $(git_prompt_info)%{${fg_bold[$CARETCOLOR]}%}%#%{${reset_color}%} ' + +RPS1='$(vi_mode_prompt_info) ${return_code}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[cyan]%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" + +MODE_INDICATOR="%{$fg_bold[magenta]%}<%{$reset_color%}%{$fg[magenta]%}<<%{$reset_color%}" + +# TODO use 265 colors +#MODE_INDICATOR="$FX[bold]$FG[020]<$FX[no_bold]%{$fg[blue]%}<<%{$reset_color%}" +# TODO use two lines if git From 77d05fe8ab0f1b35af9332e889e384f935ce08f9 Mon Sep 17 00:00:00 2001 From: Robin Ramael Date: Mon, 10 Jan 2011 17:01:11 +0100 Subject: [PATCH 321/518] Made git ignore everything in custom, not only the .zsh files. --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f84db6d..8d19d10 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ locals.zsh log/.zsh_history projects.zsh -custom/*.zsh +custom/* !custom/example.zsh \ No newline at end of file From 664b97a3c8fc167bda2c64e48b18b27de8dce4cd Mon Sep 17 00:00:00 2001 From: Robin Ramael Date: Mon, 10 Jan 2011 18:18:31 +0100 Subject: [PATCH 322/518] Added svn info in prompt with plugin. If the svn plugin is used, svn info (repo name and wether the repo is dirty) is displayed in the prompt like with git. Just lke with git, the colors can be manipulated with variables (see awesomepanda theme for example). --- plugins/svn/svn.plugin.zsh | 42 +++++++++++++++++++++++++++++++++++ themes/awesomepanda.zsh-theme | 18 +++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 plugins/svn/svn.plugin.zsh create mode 100644 themes/awesomepanda.zsh-theme diff --git a/plugins/svn/svn.plugin.zsh b/plugins/svn/svn.plugin.zsh new file mode 100644 index 0000000..45d4613 --- /dev/null +++ b/plugins/svn/svn.plugin.zsh @@ -0,0 +1,42 @@ +function svn_prompt_info { + if [[ -d .svn ]]; then + echo "$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_PREFIX\ +$ZSH_THEME_REPO_NAME_COLOR$(svn_get_repo_name)$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$ZSH_PROMPT_BASE_COLOR" + fi +} + + +function in_svn() { + if [[ -d .svn ]]; then + echo 1 + fi +} + +function svn_get_repo_name { + if [ is_svn ]; then + svn info | sed -n 's/Repository\ Root:\ .*\///p' | read SVN_ROOT + + svn info | sed -n "s/URL:\ .*$SVN_ROOT\///p" | sed "s/\/.*$//" + fi +} + +function svn_get_rev_nr { + if [ is_svn ]; then + svn info 2> /dev/null | sed -n s/Revision:\ //p + fi +} + +function svn_dirty_choose { + if [ is_svn ]; then + s=$(svn status 2>/dev/null) + if [ $s ]; then + echo $1 + else + echo $2 + fi + fi +} + +function svn_dirty { + svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN +} \ No newline at end of file diff --git a/themes/awesomepanda.zsh-theme b/themes/awesomepanda.zsh-theme new file mode 100644 index 0000000..411b898 --- /dev/null +++ b/themes/awesomepanda.zsh-theme @@ -0,0 +1,18 @@ +# the svn plugin has to be activated for this to work. + +PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}$(svn_prompt_info)%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%})%{$fg[yellow]%} ✗ %{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}) " + + + +ZSH_PROMPT_BASE_COLOR="%{$fg_bold[blue]%}" +ZSH_THEME_REPO_NAME_COLOR="%{$fg_bold[red]%}" + +ZSH_THEME_SVN_PROMPT_PREFIX="svn:(" +ZSH_THEME_SVN_PROMPT_SUFFIX=")" +ZSH_THEME_SVN_PROMPT_DIRTY="%{$fg[red]%} ✘ %{$reset_color%}" +ZSH_THEME_SVN_PROMPT_CLEAN=" " \ No newline at end of file From bcc235e1420f39a0dbd8a7672dffc0f0c81e9b53 Mon Sep 17 00:00:00 2001 From: Robin Ramael Date: Mon, 10 Jan 2011 17:34:38 +0100 Subject: [PATCH 323/518] Added an option to remove file afterwards. --- lib/functions.zsh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/functions.zsh b/lib/functions.zsh index 4246f88..914f2ef 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -39,6 +39,12 @@ function take() { } function extract() { + unset REMOVE_ARCHIVE + + if test "$1" = "-r"; then + REMOVE=1 + shift + fi if [[ -f $1 ]]; then case $1 in *.tar.bz2) tar xvjf $1;; @@ -56,7 +62,14 @@ function extract() { *.7z) 7z x $1;; *) echo "'$1' cannot be extracted via >extract<";; esac + + if [[ $REMOVE_ARCHIVE -eq 1 ]]; then + echo removing "$1"; + /bin/rm "$1"; + fi + else echo "'$1' is not a valid file" fi } + From 26614b3478306d9f23ae9d817e70c1acba9b43de Mon Sep 17 00:00:00 2001 From: Stephen Middleton Date: Thu, 13 Jan 2011 23:52:41 -0600 Subject: [PATCH 324/518] add Rixius-Theme --- themes/rixius.zsh-theme | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 themes/rixius.zsh-theme diff --git a/themes/rixius.zsh-theme b/themes/rixius.zsh-theme new file mode 100644 index 0000000..2a283eb --- /dev/null +++ b/themes/rixius.zsh-theme @@ -0,0 +1,16 @@ +function collapse_pwd { + echo $(pwd | sed -e "s,^$HOME,~,") +} +function prompt_char { + git branch >/dev/null 2>/dev/null && echo "%{$fg[green]%}±%{$reset_color%}" && return + echo "%{$fg[red]%}≈%{$reset_color%}" +} + +PROMPT=' +%{$fg[magenta]%}%n%{$reset_color%} in %{$fg_bold[green]%}$(collapse_pwd)%{$reset_color%}$(git_prompt_info) +$(prompt_char) ' + +ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!" +ZSH_THEME_GIT_PROMPT_CLEAN="" \ No newline at end of file From 5cca63a770ed78e17ffdf13bfbed5defc56edb92 Mon Sep 17 00:00:00 2001 From: Stephen Middleton Date: Fri, 14 Jan 2011 00:05:06 -0600 Subject: [PATCH 325/518] changes to theme --- themes/rixius.zsh-theme | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/themes/rixius.zsh-theme b/themes/rixius.zsh-theme index 2a283eb..322bdad 100644 --- a/themes/rixius.zsh-theme +++ b/themes/rixius.zsh-theme @@ -6,11 +6,10 @@ function prompt_char { echo "%{$fg[red]%}≈%{$reset_color%}" } -PROMPT=' -%{$fg[magenta]%}%n%{$reset_color%} in %{$fg_bold[green]%}$(collapse_pwd)%{$reset_color%}$(git_prompt_info) +PROMPT='%{$fg[magenta]%}%n%{$reset_color%} in %{$fg_bold[green]%}$(collapse_pwd)%{$reset_color%}$(git_prompt_info) $(prompt_char) ' ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!" -ZSH_THEME_GIT_PROMPT_CLEAN="" \ No newline at end of file +ZSH_THEME_GIT_PROMPT_DIRTY="%{$bg[white]%}%{$fg[red]%}!%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$bg[white]%}%{$fg[red]%}√%{$reset_color%}" \ No newline at end of file From c58942d3b25cf25867e3096e5f52f1c256647d8a Mon Sep 17 00:00:00 2001 From: Stephen Middleton Date: Fri, 14 Jan 2011 01:26:31 -0600 Subject: [PATCH 326/518] theme changes --- themes/rixius.zsh-theme | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/themes/rixius.zsh-theme b/themes/rixius.zsh-theme index 322bdad..8837d88 100644 --- a/themes/rixius.zsh-theme +++ b/themes/rixius.zsh-theme @@ -2,14 +2,18 @@ function collapse_pwd { echo $(pwd | sed -e "s,^$HOME,~,") } function prompt_char { - git branch >/dev/null 2>/dev/null && echo "%{$fg[green]%}±%{$reset_color%}" && return - echo "%{$fg[red]%}≈%{$reset_color%}" + echo -n "%{$bg[white]%}%{$fg[red]%}" + git branch >/dev/null 2>/dev/null && echo "±%{$reset_color%}" && return + echo "≥%{$reset_color%}" } +RIXIUS_PRE="%{$bg[white]%}%{$fg[red]%}" -PROMPT='%{$fg[magenta]%}%n%{$reset_color%} in %{$fg_bold[green]%}$(collapse_pwd)%{$reset_color%}$(git_prompt_info) +PROMPT=' +%{$RIXIUS_PRE%}%n%{$reset_color%} in %{$fg_bold[green]%}$(collapse_pwd)%{$reset_color%}$(git_prompt_info) $(prompt_char) ' +RPROMPT='%{$RIXIUS_PRE%}%T%{$reset_color%}' ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_DIRTY="%{$bg[white]%}%{$fg[red]%}!%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_CLEAN="%{$bg[white]%}%{$fg[red]%}√%{$reset_color%}" \ No newline at end of file +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$RIXIUS_PRE%}!%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN=" %{$RIXIUS_PRE%}√%{$reset_color%}" \ No newline at end of file From 277f664df33d4a9078bb55e7ddf0a669ca63c462 Mon Sep 17 00:00:00 2001 From: Stephen Middleton Date: Fri, 14 Jan 2011 01:29:24 -0600 Subject: [PATCH 327/518] Personal Style --- themes/rixius.zsh-theme | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/themes/rixius.zsh-theme b/themes/rixius.zsh-theme index 8837d88..3e53814 100644 --- a/themes/rixius.zsh-theme +++ b/themes/rixius.zsh-theme @@ -1,3 +1,8 @@ +# /|/ Code by Stephen +# /|/ "Rixius" Middleton +# +# name in folder (github) +# ± if in github repo, or ≥ if otherwise Time in 24-hour format is on right. function collapse_pwd { echo $(pwd | sed -e "s,^$HOME,~,") } From e7c8673a45b9a65a672d2bb8e4e0d3f54a910c7c Mon Sep 17 00:00:00 2001 From: Stephen Middleton Date: Fri, 14 Jan 2011 01:31:21 -0600 Subject: [PATCH 328/518] added newline --- themes/rixius.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/rixius.zsh-theme b/themes/rixius.zsh-theme index 3e53814..c0c5c9c 100644 --- a/themes/rixius.zsh-theme +++ b/themes/rixius.zsh-theme @@ -21,4 +21,4 @@ RPROMPT='%{$RIXIUS_PRE%}%T%{$reset_color%}' ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" ZSH_THEME_GIT_PROMPT_DIRTY=" %{$RIXIUS_PRE%}!%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_CLEAN=" %{$RIXIUS_PRE%}√%{$reset_color%}" \ No newline at end of file +ZSH_THEME_GIT_PROMPT_CLEAN=" %{$RIXIUS_PRE%}√%{$reset_color%}" From fcc7801435fd2c5c6defcfbfc736e22341500a9d Mon Sep 17 00:00:00 2001 From: Lorenzo Manacorda Date: Mon, 24 Jan 2011 15:49:49 +0100 Subject: [PATCH 329/518] add missing unrar flag --- lib/functions.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/functions.zsh b/lib/functions.zsh index 914f2ef..86545c7 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -52,7 +52,7 @@ function extract() { *.tar.xz) tar xvJf $1;; *.tar.lzma) tar --lzma -xvf $1;; *.bz2) bunzip $1;; - *.rar) unrar $1;; + *.rar) unrar x $1;; *.gz) gunzip $1;; *.tar) tar xvf $1;; *.tbz2) tar xvjf $1;; From faac3ba8fcad6ad1742f82a7d508a37c0c70d809 Mon Sep 17 00:00:00 2001 From: "Renaud (Nel) Morvan" Date: Sun, 30 Jan 2011 08:21:49 +0100 Subject: [PATCH 330/518] Refactor window and tab title in tty Term window title and tab title are now skinable Tab title can be different from window title (when supported by term) Default theme is optimized of usuability (no %u@%m: $~ in a 10 char tab) Cleanup code duplication and add comment for supported terms On osX it works great on iterm, and is decent once you tweak Terminal pref Tested under GNU screen, iTerm and Apple Terminal, need to be tested on linux TODO implement Konsole support (via dbus) --- lib/functions.zsh | 23 ---------------------- lib/termsupport.zsh | 47 +++++++++++++++++++++++++-------------------- 2 files changed, 26 insertions(+), 44 deletions(-) diff --git a/lib/functions.zsh b/lib/functions.zsh index 914f2ef..6f5d015 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -1,26 +1,3 @@ -## fixme, i duplicated this in xterms - oops -function title { - if [[ $TERM == "screen" ]]; then - # Use these two for GNU Screen: - print -nR $'\033k'$1$'\033'\\\ - - print -nR $'\033]0;'$2$'\a' - elif [[ ($TERM =~ "^xterm") ]] || [[ ($TERM == "rxvt") ]]; then - # Use this one instead for XTerms: - print -nR $'\033]0;'$*$'\a' - fi -} - -function precmd { - title zsh "$PWD" -} - -function preexec { - emulate -L zsh - local -a cmd; cmd=(${(z)1}) - title $cmd[1]:t "$cmd[2,-1]" -} - function zsh_stats() { history | awk '{print $2}' | sort | uniq -c | sort -rn | head } diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh index fef9787..e1e5366 100644 --- a/lib/termsupport.zsh +++ b/lib/termsupport.zsh @@ -1,21 +1,26 @@ -case "$TERM" in - xterm*|rxvt*) - preexec () { - print -Pn "\e]0;%n@%m: $1\a" # xterm - } - precmd () { - print -Pn "\e]0;%n@%m: %~\a" # xterm - } - ;; - screen*) - preexec () { - local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} - echo -ne "\ek$CMD\e\\" - print -Pn "\e]0;%n@%m: $1\a" # xterm - } - precmd () { - echo -ne "\ekzsh\e\\" - print -Pn "\e]0;%n@%m: %~\a" # xterm - } - ;; -esac \ No newline at end of file +#usage: title short_tab_title looooooooooooooooooooooggggggg_windows_title +#http://www.faqs.org/docs/Linux-mini/Xterm-Title.html#ss3.1 +#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 { + 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 + 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 +} + +ZSH_THEME_TERM_TAB_TITLE_IDLE="%15<..<%~%<<" #15 char left truncated PWD +ZSH_THEME_TERM_TITLE_IDLE="%n@%m: %~" + +#Appears when you have the prompt +function precmd { + title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE +} + +#Appears at the beginning of (and during) of command execution +function preexec { + local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd + title "$CMD" "%100>...>$2%<<" +} From 051fb5f1d5d0c72812989bd4dfd0be33f43d75ad Mon Sep 17 00:00:00 2001 From: Christopher Chow Date: Fri, 4 Feb 2011 01:37:39 +1100 Subject: [PATCH 331/518] Added time since last commit to Soliah theme and changed some colours. --- themes/Soliah.zsh-theme | 63 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 60 insertions(+), 3 deletions(-) diff --git a/themes/Soliah.zsh-theme b/themes/Soliah.zsh-theme index 7ad876d..1c0ab3c 100644 --- a/themes/Soliah.zsh-theme +++ b/themes/Soliah.zsh-theme @@ -1,6 +1,63 @@ -PROMPT='%{$fg[blue]%}%B%20~%b%{$reset_color%}%{$(git_prompt_info)%} $ ' +PROMPT='%{$fg[blue]%}%n%{$reset_color%} on %{$fg[red]%}%M%{$reset_color%} in %{$fg[blue]%}%~%b%{$reset_color%}$(git_time_since_commit)$(git_prompt_info) +$ ' -ZSH_THEME_GIT_PROMPT_PREFIX="(%{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[white]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%})" -ZSH_THEME_GIT_PROMPT_DIRTY="*%{$reset_color%}" +# Text to display if the branch is dirty +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$reset_color%}" + +# Text to display if the branch is clean +ZSH_THEME_GIT_PROMPT_CLEAN="" + +# Colors vary depending on time lapsed. +ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT="%{$fg[green]%}" +ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM="%{$fg[yellow]%}" +ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG="%{$fg[red]%}" +ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL="%{$fg[cyan]%}" + +# Determine the time since last commit. If branch is clean, +# use a neutral color, otherwise colors will vary according to time. +function git_time_since_commit() { + if git rev-parse --git-dir > /dev/null 2>&1; then + # Only proceed if there is actually a commit. + if [[ $(git log 2>&1 > /dev/null | grep -c "^fatal: bad default revision") == 0 ]]; then + # Get the last commit. + last_commit=`git log --pretty=format:'%at' -1 2> /dev/null` + now=`date +%s` + seconds_since_last_commit=$((now-last_commit)) + + # Totals + MINUTES=$((seconds_since_last_commit / 60)) + HOURS=$((seconds_since_last_commit/3600)) + + # Sub-hours and sub-minutes + DAYS=$((seconds_since_last_commit / 86400)) + SUB_HOURS=$((HOURS % 24)) + SUB_MINUTES=$((MINUTES % 60)) + + if [[ -n $(git status -s 2> /dev/null) ]]; then + if [ "$MINUTES" -gt 30 ]; then + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG" + elif [ "$MINUTES" -gt 10 ]; then + COLOR="$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM" + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT" + fi + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" + fi + + if [ "$HOURS" -gt 24 ]; then + echo "($COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|" + elif [ "$MINUTES" -gt 60 ]; then + echo "($COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|" + else + echo "($COLOR${MINUTES}m%{$reset_color%}|" + fi + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" + echo "($COLOR~|" + fi + fi +} From ae8b3b6dbaa444a1b08a63cadabaf3f1781b7c11 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Thu, 3 Feb 2011 16:47:08 -0500 Subject: [PATCH 332/518] Added sorin oh-my-zsh theme. --- themes/sorin.zsh-theme | 48 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 themes/sorin.zsh-theme diff --git a/themes/sorin.zsh-theme b/themes/sorin.zsh-theme new file mode 100644 index 0000000..601dbe5 --- /dev/null +++ b/themes/sorin.zsh-theme @@ -0,0 +1,48 @@ +# ------------------------------------------------------------------------------ +# FILE: sorin.zsh-theme +# DESCRIPTION: oh-my-zsh theme file. +# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com) +# VERSION: 1.0.2 +# SCREENSHOT: http://i.imgur.com/aipDQ.png +# ------------------------------------------------------------------------------ + + +if [[ "$TERM" != "dumb" ]] && [[ "$DISABLE_LS_COLORS" != "true" ]]; then + MODE_INDICATOR="%{$fg_bold[red]%}❮%{$reset_color%}%{$fg[red]%}❮❮%{$reset_color%}" + local return_status="%{$fg[red]%}%(?..⏎)%{$reset_color%}" + + PROMPT='%{$fg[cyan]%}%c$(git_prompt_info) %(!.%{$fg_bold[red]%}#.%{$fg_bold[green]%}❯)%{$reset_color%} ' + + ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[blue]%}git%{$reset_color%}:%{$fg[red]%}" + ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" + ZSH_THEME_GIT_PROMPT_DIRTY="" + ZSH_THEME_GIT_PROMPT_CLEAN="" + + RPROMPT='${return_status}$(git_prompt_status)%{$reset_color%}' + + ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚" + ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹" + ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖" + ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜" + ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═" + ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭" +else + MODE_INDICATOR="❮❮❮" + local return_status="%(?::⏎)" + + PROMPT='%c$(git_prompt_info) %(!.#.❯) ' + + ZSH_THEME_GIT_PROMPT_PREFIX=" git:" + ZSH_THEME_GIT_PROMPT_SUFFIX="" + ZSH_THEME_GIT_PROMPT_DIRTY="" + ZSH_THEME_GIT_PROMPT_CLEAN="" + + RPROMPT='${return_status}$(git_prompt_status)' + + ZSH_THEME_GIT_PROMPT_ADDED=" ✚" + ZSH_THEME_GIT_PROMPT_MODIFIED=" ✹" + ZSH_THEME_GIT_PROMPT_DELETED=" ✖" + ZSH_THEME_GIT_PROMPT_RENAMED=" ➜" + ZSH_THEME_GIT_PROMPT_UNMERGED=" ═" + ZSH_THEME_GIT_PROMPT_UNTRACKED=" ✭" +fi From cc90e3aa06cc3de32e4679dcccd0f00a2a4bdf79 Mon Sep 17 00:00:00 2001 From: Christopher Chow Date: Fri, 4 Feb 2011 11:33:20 +1100 Subject: [PATCH 333/518] Fixed auto update. Paramater substitution instead of command subsitution was being used causing the calculation of time since last check to be incorrect. --- tools/check_for_upgrade.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh index c59ebae..4643739 100644 --- a/tools/check_for_upgrade.sh +++ b/tools/check_for_upgrade.sh @@ -16,7 +16,7 @@ then _update_zsh_update && return 0; fi - epoch_diff=$((${_current_epoch} - $LAST_EPOCH)) + epoch_diff=$(($(_current_epoch) - $LAST_EPOCH)) if [ $epoch_diff -gt 6 ] then echo "[Oh My Zsh] Would you like to check for updates?" From 90a9a5f251b2273735b58be55014d94582f1db91 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Thu, 3 Feb 2011 23:24:33 -0500 Subject: [PATCH 334/518] Added modified while newly added and type change detection to git prompt modified status. --- lib/git.zsh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/git.zsh b/lib/git.zsh index 75fdc1f..8512de8 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -26,6 +26,10 @@ git_prompt_status() { fi if $(echo "$INDEX" | grep '^ M ' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS" + elif $(echo "$INDEX" | grep '^AM ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS" + elif $(echo "$INDEX" | grep '^ T ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS" fi if $(echo "$INDEX" | grep '^R ' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS" From 6b5c4e27b24f0652e7e53b6abfe9634589271572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tadas=20Tamo=C5=A1auskas?= Date: Sun, 13 Feb 2011 11:05:12 +0000 Subject: [PATCH 335/518] fixed typo in rails3 plugin and added one alias for migrating and redoing migration if it was successful --- plugins/rails3/rails3.plugin.zsh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/rails3/rails3.plugin.zsh b/plugins/rails3/rails3.plugin.zsh index 20ba040..6bf2ba0 100644 --- a/plugins/rails3/rails3.plugin.zsh +++ b/plugins/rails3/rails3.plugin.zsh @@ -3,6 +3,8 @@ alias rg='ruby script/rails generate' alias rd='ruby script/rails destroy' alias rp='ruby script/rails plugin' alias rdbm='rake db:migrate db:test:clone' +alias rdbmr='rake db:migrate && rake db:migrate:redo' alias rc='ruby script/rails console' -alias rd='ruby script/rais server --debugger' +alias rd='ruby script/rails server --debugger' alias devlog='tail -f log/development.log' + From ab1cbe9038bee71bae1d5b7ce1d8cd9f6a94d7f3 Mon Sep 17 00:00:00 2001 From: Wim Date: Mon, 14 Feb 2011 01:19:01 -0800 Subject: [PATCH 336/518] Should use https for all GitHub urls. --- README.textile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.textile b/README.textile index 8b1b687..0659ade 100644 --- a/README.textile +++ b/README.textile @@ -8,7 +8,7 @@ h2. Setup h3. The automatic installer... (do you trust me?) -@wget http://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh@ +@wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh@ h3. The manual way @@ -38,7 +38,7 @@ h2. Usage * enable the plugins you want in your @~/.zshrc@ (take a look at @plugins/@ to see what's possible) ** example: @plugins=(git osx ruby)@ * Theme support: Change the @ZSH_THEME@ environment variable in @~/.zshrc@. -** Take a look at the "current themes":http://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with _Oh My Zsh_. +** Take a look at the "current themes":https://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with _Oh My Zsh_. * much much more... take a look at @lib/@ what _Oh My Zsh_ offers... h2. Useful From 6b610d7dd80ab6cf1142bc615931c17c41395f00 Mon Sep 17 00:00:00 2001 From: Myron Marston Date: Tue, 15 Feb 2011 11:27:25 -0800 Subject: [PATCH 337/518] Add bundler plugin with aliases. --- plugins/bundler/bundler.plugin.zsh | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 plugins/bundler/bundler.plugin.zsh diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh new file mode 100644 index 0000000..fb40e2c --- /dev/null +++ b/plugins/bundler/bundler.plugin.zsh @@ -0,0 +1,3 @@ +alias be="bundle exec" +alias bi="bundle install" +alias bu="bundle update" From 4b7038f8f46f842df02acdce9b8fb21f6f2b3050 Mon Sep 17 00:00:00 2001 From: Murilo Soares Pereira Date: Tue, 23 Nov 2010 02:05:33 -0200 Subject: [PATCH 338/518] Added my theme. --- themes/murilo.zsh-theme | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 themes/murilo.zsh-theme diff --git a/themes/murilo.zsh-theme b/themes/murilo.zsh-theme new file mode 100644 index 0000000..310357b --- /dev/null +++ b/themes/murilo.zsh-theme @@ -0,0 +1,14 @@ +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" +local user_host='%{$terminfo[bold]$fg[green]%}%n@%m%{$reset_color%}' +local current_dir='%{$terminfo[bold]$fg[blue]%}%~%{$reset_color%}' +local rvm_ruby='%{$fg[red]%}$(rvm_prompt_info)%{$reset_color%}' +local git_branch='%{$fg[blue]%}$(git_prompt_info)%{$reset_color%}' + +PROMPT="${user_host}:${current_dir} ${rvm_ruby} +${git_branch} %B$%b " +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="" +ZSH_THEME_GIT_PROMPT_SUFFIX="" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}✔%{$reset_color%}" From e0ab7f9fb5774381d846cd90d06a501ec91a3ee9 Mon Sep 17 00:00:00 2001 From: Murilo Soares Pereira Date: Wed, 24 Nov 2010 02:22:55 -0200 Subject: [PATCH 339/518] Renamed theme. --- themes/{murilo.zsh-theme => murilasso.zsh-theme} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename themes/{murilo.zsh-theme => murilasso.zsh-theme} (100%) diff --git a/themes/murilo.zsh-theme b/themes/murilasso.zsh-theme similarity index 100% rename from themes/murilo.zsh-theme rename to themes/murilasso.zsh-theme From c52fea808210bb4f81915306855b6bd00a5fe219 Mon Sep 17 00:00:00 2001 From: Ben Langfeld Date: Fri, 18 Feb 2011 12:17:00 +0000 Subject: [PATCH 340/518] Make a cleaner version of the OS X tab function --- plugins/osx/osx.plugin.zsh | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh index fce88c7..eb995eb 100644 --- a/plugins/osx/osx.plugin.zsh +++ b/plugins/osx/osx.plugin.zsh @@ -1,11 +1,32 @@ +function savepath() { + pwd > ~/.current_path~ +} + function tab() { - osascript 2>/dev/null </dev/null < Date: Fri, 18 Feb 2011 12:48:27 +0000 Subject: [PATCH 341/518] Add iTerm version of tab function (itab) --- plugins/osx/osx.plugin.zsh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh index eb995eb..81eed5e 100644 --- a/plugins/osx/osx.plugin.zsh +++ b/plugins/osx/osx.plugin.zsh @@ -30,3 +30,28 @@ end do_submenu do_submenu("Terminal", "Shell", "New Tab", 1) EOF } + +function itab() { +savepath +osascript >/dev/null < Date: Wed, 23 Feb 2011 02:56:25 +1100 Subject: [PATCH 342/518] Add tab completion for rvm. --- plugins/rvm/_rvm | 147 +++++++++++++++++++++++++++++++++++++ plugins/rvm/rvm.plugin.zsh | 3 + 2 files changed, 150 insertions(+) create mode 100644 plugins/rvm/_rvm create mode 100644 plugins/rvm/rvm.plugin.zsh diff --git a/plugins/rvm/_rvm b/plugins/rvm/_rvm new file mode 100644 index 0000000..bba5304 --- /dev/null +++ b/plugins/rvm/_rvm @@ -0,0 +1,147 @@ +#compdef rvm + +local curcontext="$curcontext" state line cmds ret=1 + +_arguments -C \ + '(- 1 *)'{-v,--version}'[display version information]' \ + '(-l|--level)'{-l,--level}'+[patch level to use with rvm use / install]:number' \ + '(--prefix)--prefix[path for all rvm files (~/.rvm/), with trailing slash!]:path:_files' \ + '(--bin)--bin[path for binaries to be placed (~/.rvm/bin/)]:path:_files' \ + '(--source)--source[src directory to use (~/.rvm/src/)]:path:_files' \ + '(--archives)--archives[directory for downladed files (~/.rvm/archives/)]:path:_files' \ + '-S[Specify a script file to attempt to load and run (rubydo)]:file:_files' \ + '-e[Execute code from the command line]:code' \ + '(-G)-G[root gem path to use]:path:_files' \ + '(--gems)--gems[Used to set the gems_flag, use with remove to remove gems]' \ + '(--archive)--archive[Used to set the archive_flag, use with remove to remove archive]' \ + '(--patch)--patch[With MRI Rubies you may specify one or more full paths to patches]' \ + '(-C|--configure)'{-C,--configure}'=[custom configure options]' \ + '(--nice)--nice[process niceness (for slow computers, default 0)]:number' \ + '(--ree)--ree-options[Options passed directly to ree ./installer on the command line]:options' \ + '(--head)--head[with update, updates rvm to git head version]' \ + '(--rubygems)--rubygems[with update, updates rubygems for selected ruby]' \ + '(--default)--default[with ruby select, sets a default ruby for new shells]' \ + '(--debug)--debug[Toggle debug mode on for very verbose output]' \ + '(--trace)--trace[Toggle trace mode on to see EVERYTHING rvm is doing]' \ + '(--force)--force[Force install, removes old install & source before install]' \ + '(--summary)--summary[Used with rubydo to print out a summary of the commands run]' \ + '(--latest)--latest[with gemset --dump skips version strings for latest gem]' \ + '(--gems)--gems[with uninstall/remove removes gems with the interpreter]' \ + '(--docs)--docs[with install, attempt to generate ri after installation]' \ + '(--reconfigure)--reconfigure[Force ./configure on install even if Makefile already exists]' \ + '1: :->cmds' \ + '*: :->args' && ret=0 + +case $state in + cmds) + cmds=( + "version:show the rvm version installed in rvm_path" + "use:setup current shell to use a specific ruby version" + "reload:reload rvm source itself (useful after changing rvm source)" + "implode:(seppuku) removes the rvm installation completely. This means everything in $rvm_path (~/.rvm)." + "update:upgrades rvm to the latest version." + "reset:remove current and stored default & system settings." + "info :show the *current* environment information for current ruby" + "current:print the *current* ruby version and the name of any gemset being used." + "debug:show info plus additional information for common issues" + "install:install one or many ruby versions" + "uninstall:uninstall one or many ruby versions, leaves their sources" + "remove:uninstall one or many ruby versions and remove their sources" + "migrate:Lets you migrate all gemsets from one ruby to another." + "upgrade:Lets you upgrade from one version of a ruby to another, including migrating your gemsets semi-automatically." + "wrapper:generates a set of wrapper executables for a given ruby with the specified ruby and gemset combination. Used under the hood for passenger support and the like." + "cleanup:Lets you remove stale source folders / archives and other miscellaneous data associated with rvm." + "repair:Lets you repair parts of your environment e.g. wrappers, env files and and similar files (e.g. general maintenance)." + "snapshot:Lets your backup / restore an rvm installation in a lightweight manner." + "disk-usage:Tells you how much disk space rvm install is using." + "tools:Provides general information about the ruby environment, primarily useful when scripting rvm." + "docs:Tools to make installing ri and rdoc documentation easier." + "rvmrc:Tools related to managing rvmrc trust and loading." + "exec:runs an arbitrary command as a set operation." + "ruby:runs a named ruby file against specified and/or all rubies" + "gem:runs a gem command using selected ruby's 'gem'" + "rake:runs a rake task against specified and/or all rubies" + "tests:runs 'rake test' across selected ruby versions" + "specs:runs 'rake spec' across selected ruby versions" + "monitor:Monitor cwd for testing, run rake {spec,test} on changes." + "gemset:gemsets: http://rvm.beginrescueend.com/gemsets/" + "rubygems:Switches the installed version of rubygems for the current ruby." + "gemdir:display the path to the current gem directory (GEM_HOME)." + "srcdir:display the path to rvm source directory (may be yanked)" + "fetch:Performs an archive / src fetch only of the selected ruby." + "list:show currently installed rubies, interactive output." + "package:Install a dependency package {readline,iconv,zlib,openssl}" + "notes:Display notes, with operating system specifics." + "export:Temporarily set an environment variable in the current shell." + "unexport:Undo changes made to the environment by 'rvm export'." + ) + _describe -t commands 'rvm command' cmds && ret=0 + ;; + args) + case $line[1] in + (use|uninstall|remove|list) + _values -S , 'rubies' $(rvm list strings | sed -e 's/ruby-\([^) ]*\)-\([^) ]*\)/ruby-\1-\2 \1-\2 \1/g') default system && ret=0 + ;; + (install|fetch) + _values -S , 'rubies' $(rvm list known_strings) && ret=0 + ;; + gemset) + if (( CURRENT == 3 )); then + _values 'gemset_commands' \ + 'import' \ + 'export' \ + 'create' \ + 'copy' \ + 'rename' \ + 'empty' \ + 'delete' \ + 'name' \ + 'dir' \ + 'list' \ + 'list_all' \ + 'gemdir' \ + 'install' \ + 'pristine' \ + 'clear' \ + 'use' \ + 'update' \ + 'unpack' \ + 'globalcache' + else + _values -S , 'gemsets' $(rvm gemset list | grep -v gemset 2>/dev/null) + fi + ret=0 + ;; + package) + if (( CURRENT == 3 )); then + _values 'package_commands' \ + 'install' \ + 'uninstall' + else + _values 'packages' \ + 'readline' \ + 'iconv' \ + 'curl' \ + 'openssl' \ + 'zlib' \ + 'autoconf' \ + 'ncurses' \ + 'pkgconfig' \ + 'gettext' \ + 'glib' \ + 'mono' \ + 'llvm' \ + 'libxml2' \ + 'libxslt' \ + 'libyaml' + fi + ret=0 + ;; + *) + (( ret )) && _message 'no more arguments' + ;; + esac + ;; +esac + +return ret diff --git a/plugins/rvm/rvm.plugin.zsh b/plugins/rvm/rvm.plugin.zsh new file mode 100644 index 0000000..ef934d5 --- /dev/null +++ b/plugins/rvm/rvm.plugin.zsh @@ -0,0 +1,3 @@ +fpath=($ZSH/plugins/rvm $fpath) +autoload -U compinit +compinit -i From 9d991a5080bea5c71e1b5f6838d5498c908c434b Mon Sep 17 00:00:00 2001 From: Theodore Robert Campbell Jr Date: Tue, 1 Mar 2011 00:21:49 -0500 Subject: [PATCH 343/518] ssh-agent plugin now ends in "-$HOST" so an agent is started properly with nfs shared homes. --- plugins/ssh-agent/ssh-agent.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ssh-agent/ssh-agent.plugin.zsh b/plugins/ssh-agent/ssh-agent.plugin.zsh index ce0d645..0efc454 100644 --- a/plugins/ssh-agent/ssh-agent.plugin.zsh +++ b/plugins/ssh-agent/ssh-agent.plugin.zsh @@ -1,7 +1,7 @@ # Based on code from Joseph M. Reagle # http://www.cygwin.com/ml/cygwin/2001-06/msg00537.html -local SSH_ENV=$HOME/.ssh/environment +local SSH_ENV=$HOME/.ssh/environment-$HOST function start_agent { /usr/bin/env ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV} From c3a58b00040018743ead1e6672910433fc1ca7c2 Mon Sep 17 00:00:00 2001 From: Woody Gilk Date: Fri, 11 Mar 2011 21:44:12 -0600 Subject: [PATCH 344/518] Enable alias completion, do not limit completion to just files --- lib/completion.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/completion.zsh b/lib/completion.zsh index 9c2dfec..e8e9776 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -4,6 +4,7 @@ unsetopt menu_complete # do not autoselect the first completion entry unsetopt flowcontrol setopt auto_menu # show completion menu on succesive tab press setopt complete_in_word +setopt complete_aliases setopt always_to_end WORDCHARS='' From a2d0bd7c296706b3a2f6b0125ab79748a95bb90c Mon Sep 17 00:00:00 2001 From: Alessandro Ghedini Date: Sat, 12 Mar 2011 16:23:55 +0100 Subject: [PATCH 345/518] add 'lol' plugin (based on lolbash) --- plugins/lol/lol.plugin.zsh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 plugins/lol/lol.plugin.zsh diff --git a/plugins/lol/lol.plugin.zsh b/plugins/lol/lol.plugin.zsh new file mode 100644 index 0000000..a7153bb --- /dev/null +++ b/plugins/lol/lol.plugin.zsh @@ -0,0 +1,26 @@ +# LOL!!1 +# Source: http://aur.archlinux.org/packages/lolbash/lolbash/lolbash.sh + +alias wtf='dmesg' +alias onoz='cat /var/log/errors.log' +alias rtfm='man' + +alias visible='echo' +alias invisible='cat' +alias moar='more' + +alias icanhas='mkdir' +alias donotwant='rm' +alias dowant='cp' +alias gtfo='mv' + +alias hai='cd' +alias plz='pwd' + +alias inur='locate' + +alias nomz='ps -aux' +alias nomnom='killall' + +alias cya='reboot' +alias kthxbai='halt' From a6b8bec8ecdb48a059f73e82a1df0bf3387beccc Mon Sep 17 00:00:00 2001 From: Alessandro Ghedini Date: Sat, 12 Mar 2011 16:24:20 +0100 Subject: [PATCH 346/518] add completion plugin 'cpanm' for cpanminus --- plugins/cpanm/_cpanm | 67 ++++++++++++++++++++++++++++++++++ plugins/cpanm/cpanm.plugin.zsh | 4 ++ 2 files changed, 71 insertions(+) create mode 100644 plugins/cpanm/_cpanm create mode 100644 plugins/cpanm/cpanm.plugin.zsh diff --git a/plugins/cpanm/_cpanm b/plugins/cpanm/_cpanm new file mode 100644 index 0000000..58451d3 --- /dev/null +++ b/plugins/cpanm/_cpanm @@ -0,0 +1,67 @@ +#compdef cpanm + +## +# cpanminus Z Shell completion script +## +# +# Current supported cpanm version: 1.4000 (Tue Mar 8 01:00:49 PST 2011) +# +# The latest code is always located at: +# https://github.com/rshhh/cpanminus/blob/master/etc/_cpanm +# + +local arguments curcontext="$curcontext" +typeset -A opt_args + + +arguments=( + +# Commands +# '(--install -i)'{--install,-i}'[Installs the modules]' + '(- :)--self-upgrade[Upgrades itself]' + '(- :)--info[Displays distribution info on CPAN]' + '(--installdeps)--installdeps[Only install dependencies]' + '(--look)--look[Download/unpack the distribution and then open the directory with your shell]' + '(- :)'{--help,-h}'[Displays help information]' + '(- :)'{--version,-V}'[Displays software version]' + +# Options + {--force,-f}'[Force install]' + {--notest,-n}'[Do not run unit tests]' + {--sudo,-S}'[sudo to run install commands]' + '(-v --verbose --quiet -q)'{--verbose,-v}'[Turns on chatty output]' + '(-q --quiet --verbose -v)'{--quiet,-q}'[Turns off all output]' + {--local-lib,-l}'[Specify the install base to install modules]' + {--local-lib-contained,-L}'[Specify the install base to install all non-core modules]' + '--mirror[Specify the base URL for the mirror (e.g. http://cpan.cpantesters.org/)]:URLs:_urls' + '--mirror-only[Use the mirror\''s index file instead of the CPAN Meta DB]' + '--prompt[Prompt when configure/build/test fails]' + '--reinstall[Reinstall the distribution even if you already have the latest version installed]' + '--interactive[Turn on interactive configure]' + + '--scandeps[Scan the depencencies of given modules and output the tree in a text format]' + '--format[Specify what format to display the scanned dependency tree]:scandeps format:(tree json yaml dists)' + + '--save-dists[Specify the optional directory path to copy downloaded tarballs]' +# '--uninst-shadows[Uninstalls the shadow files of the distribution that you\''re installing]' + + '--auto-cleanup[Number of days that cpanm\''s work directories expire in. Defaults to 7]' + '(--no-man-pages)--man-pages[Generates man pages for executables (man1) and libraries (man3)]' + '(--man-pages)--no-man-pages[Do not generate man pages]' + + + # Note: Normally with "--lwp", "--wget" and "--curl" options set to true (which is the default) cpanm tries LWP, + # Wget, cURL and HTTP::Tiny (in that order) and uses the first one available. + # (So that the exclusions are not enabled here for the completion) + '(--lwp)--lwp[Use LWP module to download stuff]' + '(--wget)--wget[Use GNU Wget (if available) to download stuff]' + '(--curl)--curl[Use cURL (if available) to download stuff]' + +# Other completions + '*:Local directory or archive:_files -/ -g "*.(tar.gz|tgz|tar.bz2|zip)(-.)"' + # '*::args: _normal' # this looks for default files (any files) +) +_arguments -s $arguments \ + && return 0 + +return 1 diff --git a/plugins/cpanm/cpanm.plugin.zsh b/plugins/cpanm/cpanm.plugin.zsh new file mode 100644 index 0000000..af52d3e --- /dev/null +++ b/plugins/cpanm/cpanm.plugin.zsh @@ -0,0 +1,4 @@ +# add cpanm completion function to path +fpath=($ZSH/plugins/cpanm $fpath) +autoload -U compinit +compinit -i From f90cb7e7b9f8a3743071d6d15ca441f293379517 Mon Sep 17 00:00:00 2001 From: Alessandro Ghedini Date: Sat, 12 Mar 2011 16:25:27 +0100 Subject: [PATCH 347/518] add 'deb' plugin with Debian's apt aliases --- plugins/deb/deb.plugin.zsh | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 plugins/deb/deb.plugin.zsh diff --git a/plugins/deb/deb.plugin.zsh b/plugins/deb/deb.plugin.zsh new file mode 100644 index 0000000..732294a --- /dev/null +++ b/plugins/deb/deb.plugin.zsh @@ -0,0 +1,12 @@ +# Aliases +alias as="aptitude -F \"* %p -> %d \n(%v/%V)\" \ + --no-gui --disable-columns search" # search package +alias ad="sudo apt-get update" # update packages lists +alias au="sudo apt-get update && \ + sudo apt-get dselect-upgrade" # upgrade packages +alias ai="sudo apt-get install" # install package +alias ar="sudo apt-get remove --purge && \ + sudo apt-get autoremove --purge" # remove package +alias ap="apt-cache policy" # apt policy +alias av="apt-cache show" # show package info +alias ac="sudo apt-get clean && sudo apt-get autoclean" # clean apt cache From fa344733e5d7cee33e4c3ba6a9a7241c7b6377ca Mon Sep 17 00:00:00 2001 From: Matt Cable Date: Sun, 13 Mar 2011 16:08:12 -0600 Subject: [PATCH 348/518] Add completion for port command --- plugins/macports/_port | 89 ++++++++++++++++++++++++++++ plugins/macports/macports.plugin.zsh | 5 ++ 2 files changed, 94 insertions(+) create mode 100644 plugins/macports/_port diff --git a/plugins/macports/_port b/plugins/macports/_port new file mode 100644 index 0000000..06d7fb4 --- /dev/null +++ b/plugins/macports/_port @@ -0,0 +1,89 @@ +#compdef port + +local subcmds + +# we cache the list of ports +# we shall use some cache policy to avoid problems with new ports +if (( ! $+portlist )); then + portlist=($(port echo all; echo "all current active inactive installed uninstalled outdated")) +fi + +subcmds=( +'activate' +'archive' +'build' +'cat' +'clean' +'configure' +'contents' +'deactivate' +'dependents' +'deps' +'destroot' +'dir' +'distcheck' +'distclean' +'dmg' +'echo' +'edit' +'extract' +'fetch' +'file' +'help' +'info' +'install' +'installed' +'list' +'livecheck' +'location' +'mpkg' +'outdated' +'patch' +'pkg' +'provides' +'rpmpackage' +'search' +'selfupdate' +'sync' +'test' +'unarchive' +'uninstall' +'upgrade' +'variants' +'version' +) + +_arguments -C \ +'-v[verbose mode (generate verbose messages)]' \ +'-d[debug mode (generate debugging messages)]' \ +'-q[quiet mode (suppress messages)]' \ +'-D[specify portdir]' \ +'-k[keep mode (do not autoclean after install)]' \ +'-n[dont follow dependencies in upgrade (only for upgrading)]' \ +'-a[upgrade all installed ports (only for upgrading)]' \ +'-u[uninstall non-active ports when upgrading and uninstalling]' \ +'-f[force mode (ignore state file)]' \ +'-s[source-only mode]' \ +'-b[binary-only mode]' \ +'-o[honor state files older than Portfile]' \ +'*::command:->command' \ +&& return 0 + +case $state in + command) + if ((CURRENT == 1)); then + state=subcommands + else + state=portname + fi + ;; +esac + +case $state in + subcommands) + _describe -t commands 'port commands' subcmds + ;; + portname) + _describe -t commands 'available ports' portlist + ;; +esac diff --git a/plugins/macports/macports.plugin.zsh b/plugins/macports/macports.plugin.zsh index 9564829..cbbc492 100644 --- a/plugins/macports/macports.plugin.zsh +++ b/plugins/macports/macports.plugin.zsh @@ -5,3 +5,8 @@ alias psu="sudo port selfupdate" alias puni="sudo port uninstall inactive" alias puo="sudo port upgrade outdated" alias pup="psu && puo" + +# add macports completion function to path +fpath=($ZSH/plugins/macports $fpath) +autoload -U compinit +compinit -i From d4ea399b04ef57dd31097eadc316305d1e42a194 Mon Sep 17 00:00:00 2001 From: Matt Cable Date: Sun, 13 Mar 2011 17:10:13 -0600 Subject: [PATCH 349/518] Re-order title/tab setting to make window titles work on OSX terminal which doesn't support tabs titles. --- lib/termsupport.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh index e1e5366..2843eb0 100644 --- a/lib/termsupport.zsh +++ b/lib/termsupport.zsh @@ -6,8 +6,8 @@ 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 - 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) + print -Pn "\e]2;$2\a" #set window name fi } From 5bbd87a33380ab4fb9cab6688b11cb98faa61cd7 Mon Sep 17 00:00:00 2001 From: Daniel Bolton Date: Mon, 14 Mar 2011 01:43:33 -0400 Subject: [PATCH 350/518] add Perl plugins file --- plugins/perl/perl.plugin.zsh | 62 ++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 plugins/perl/perl.plugin.zsh diff --git a/plugins/perl/perl.plugin.zsh b/plugins/perl/perl.plugin.zsh new file mode 100644 index 0000000..f94c419 --- /dev/null +++ b/plugins/perl/perl.plugin.zsh @@ -0,0 +1,62 @@ +# https://github.com/dbbolton +# +# Below are some useful Perl-related aliases/functions that I use with zsh. + + +# Aliases ################################################################### + +# perlbrew ######## +alias pbi='perlbrew install' +alias pbl='perlbrew list' +alias pbo='perlbrew off' +alias pbs='perlbrew switch' +alias pbu='perlbrew use' + +# Perl ############ + +# perldoc` +alias pd='perldoc' + +# use perl like awk/sed +alias ple='perl -wlne' + +# show the latest stable release of Perl +alias latest-perl='curl -s http://www.perl.org/get.html | perl -wlne '\''if (/perl\-([\d\.]+)\.tar\.gz/) { print $1; exit;}'\' + + + +# Functions ################################################################# + +# newpl - creates a basic Perl script file and opens it with $EDITOR +newpl () { + # set $EDITOR to 'vim' if it is undefined + [[ -z $EDITOR ]] && EDITOR=vim + + # if the file exists, just open it + [[ -e $1 ]] && print "$1 exists; not modifying.\n" && $EDITOR $1 + + # if it doesn't, make it, and open it + [[ ! -e $1 ]] && print '#!/usr/bin/perl'"\n"'use strict;'"\n"'use warnings;'\ + "\n\n" > $1 && $EDITOR $1 +} + + +# pgs - Perl Global Substitution +# find pattern = 1st arg +# replace pattern = 2nd arg +# filename = 3rd arg +pgs() { # [find] [replace] [filename] + perl -i.orig -pe 's/'"$1"'/'"$2"'/g' "$3" +} + + +# Perl grep, because 'grep -P' is terrible. Lets you work with pipes or files. +prep() { # [pattern] [filename unless STDOUT] + perl -nle 'print if /'"$1"'/;' $2 +} + +# say - append a newline to 'print' +say() { + print "$1\n" +} + From 6654d5dd9982fb2f67c49e87b8b242c3964537b7 Mon Sep 17 00:00:00 2001 From: Tom Kirchner Date: Tue, 15 Mar 2011 00:41:51 +0000 Subject: [PATCH 351/518] Make personal theme based on dst --- themes/tjkirch.zsh-theme | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 themes/tjkirch.zsh-theme diff --git a/themes/tjkirch.zsh-theme b/themes/tjkirch.zsh-theme new file mode 100644 index 0000000..3e2539d --- /dev/null +++ b/themes/tjkirch.zsh-theme @@ -0,0 +1,16 @@ + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}!" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +function prompt_char { + if [ $UID -eq 0 ]; then echo "%{$fg[red]%}#%{$reset_color%}"; else echo $; fi +} + +PROMPT='%(?, ,%{$fg[red]%}FAIL%{$reset_color%} +) +%{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}%m%{$reset_color%}: %{$fg_bold[blue]%}%~%{$reset_color%}$(git_prompt_info) +%_ $(prompt_char) ' + +RPROMPT='%{$fg[green]%}[%*]%{$reset_color%}' From 1b7868adca07d4a77b0d5b15d305eb6e15be9fe7 Mon Sep 17 00:00:00 2001 From: Tom Kirchner Date: Tue, 15 Mar 2011 00:42:12 +0000 Subject: [PATCH 352/518] Remove unnecessary whitespace --- themes/tjkirch.zsh-theme | 1 - 1 file changed, 1 deletion(-) diff --git a/themes/tjkirch.zsh-theme b/themes/tjkirch.zsh-theme index 3e2539d..5c53640 100644 --- a/themes/tjkirch.zsh-theme +++ b/themes/tjkirch.zsh-theme @@ -1,4 +1,3 @@ - ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[green]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}!" From e1f37e311fe895916a5e821266617ddb3f26fef1 Mon Sep 17 00:00:00 2001 From: Tom Kirchner Date: Tue, 15 Mar 2011 00:42:51 +0000 Subject: [PATCH 353/518] Sweet lightning bolt on uncommitted git changes --- themes/tjkirch.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/tjkirch.zsh-theme b/themes/tjkirch.zsh-theme index 5c53640..1a93502 100644 --- a/themes/tjkirch.zsh-theme +++ b/themes/tjkirch.zsh-theme @@ -1,6 +1,6 @@ ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[green]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}!" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}⚡" ZSH_THEME_GIT_PROMPT_CLEAN="" function prompt_char { From cb2362c006b25f8f2c655a50999c57ae48597c6b Mon Sep 17 00:00:00 2001 From: Tom Kirchner Date: Tue, 15 Mar 2011 00:43:22 +0000 Subject: [PATCH 354/518] Actually show return code on failure --- themes/tjkirch.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/tjkirch.zsh-theme b/themes/tjkirch.zsh-theme index 1a93502..458ee17 100644 --- a/themes/tjkirch.zsh-theme +++ b/themes/tjkirch.zsh-theme @@ -7,7 +7,7 @@ function prompt_char { if [ $UID -eq 0 ]; then echo "%{$fg[red]%}#%{$reset_color%}"; else echo $; fi } -PROMPT='%(?, ,%{$fg[red]%}FAIL%{$reset_color%} +PROMPT='%(?, ,%{$fg[red]%}FAIL: $?%{$reset_color%} ) %{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}%m%{$reset_color%}: %{$fg_bold[blue]%}%~%{$reset_color%}$(git_prompt_info) %_ $(prompt_char) ' From 92cacc9552e720b7b29d788fdb24bd46548f5846 Mon Sep 17 00:00:00 2001 From: Tom Kirchner Date: Tue, 15 Mar 2011 00:43:37 +0000 Subject: [PATCH 355/518] No space before prompt char at beginning of line --- themes/tjkirch.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/tjkirch.zsh-theme b/themes/tjkirch.zsh-theme index 458ee17..446cde7 100644 --- a/themes/tjkirch.zsh-theme +++ b/themes/tjkirch.zsh-theme @@ -10,6 +10,6 @@ function prompt_char { PROMPT='%(?, ,%{$fg[red]%}FAIL: $?%{$reset_color%} ) %{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}%m%{$reset_color%}: %{$fg_bold[blue]%}%~%{$reset_color%}$(git_prompt_info) -%_ $(prompt_char) ' +%_$(prompt_char) ' RPROMPT='%{$fg[green]%}[%*]%{$reset_color%}' From ce41d0e5bdf7df7e4261ad6e5b3e3c0fa59dd890 Mon Sep 17 00:00:00 2001 From: Daniel Bolton Date: Tue, 15 Mar 2011 20:31:14 -0400 Subject: [PATCH 356/518] Add debian plugins file --- plugins/debian/debian.plugin.zsh | 60 ++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 plugins/debian/debian.plugin.zsh diff --git a/plugins/debian/debian.plugin.zsh b/plugins/debian/debian.plugin.zsh new file mode 100644 index 0000000..f8865a4 --- /dev/null +++ b/plugins/debian/debian.plugin.zsh @@ -0,0 +1,60 @@ +# https://github.com/dbbolton/ +# +# Debian-related zsh aliases and functions for zsh + + +# Aliases ################################################################### + +# Some self-explanatory aliases +alias afs='apt-file search --regexp' +alias aps='aptitude search' +alias apsrc='apt-get source' +alias apv='apt-cache policy' + +alias apdg='su -c "aptitude update && aptitude safe-upgrade"' +alias apud='su -c "aptitude update"' +alias apug='su -c "aptitude safe-upgrade"' + +# print all installed packages +alias allpkgs='aptitude search -F "%p" --disable-columns ~i' + +# Install all .deb files in the current directory. +# Warning: you will need to put the glob in single quotes if you use: +# glob_subst +alias di='su -c "dpkg -i ./*.deb"' + +# Create a basic .deb package +alias mydeb='time dpkg-buildpackage -rfakeroot -us -uc' + +# Remove ALL kernel images and headers EXCEPT the one in use +alias kclean='su -c '\''aptitude remove -P ?and(~i~nlinux-(ima|hea) ?not(~n`uname -r`))'\'' root' + + + +# Functions ################################################################# + +# create a simple script that can be used to 'duplicate' a system +apt-copy() { + print '#!/bin/sh'"\n" > apt-copy.sh + + list=$(perl -m'AptPkg::Cache' -e '$c=AptPkg::Cache->new; for (keys %$c){ push @a, $_ if $c->{$_}->{'CurrentState'} eq 'Installed';} print "$_ " for sort @a;') + + print 'aptitude install '"$list\n" >> apt-copy.sh + + chmod +x apt-copy.sh +} + + +# Kernel-package building shortcut +dbb-build () { + MAKEFLAGS='' # temporarily unset MAKEFLAGS ( '-j3' will fail ) + appendage='-custom' # this shows up in $ (uname -r ) + revision=$(date +"%Y%m%d") # this shows up in the .deb file name + + make-kpkg clean + + time fakeroot make-kpkg --append-to-version "$appendage" --revision \ + "$revision" kernel_image kernel_headers +} + + From 52df85440ee8ead8f17d3aa3e1fedf187162313c Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Wed, 16 Mar 2011 12:20:35 -0700 Subject: [PATCH 357/518] Revert "Re-order title/tab setting to make window titles work on OSX terminal which" Was causing iTerm title to disappear entirely.. This reverts commit d4ea399b04ef57dd31097eadc316305d1e42a194. --- lib/termsupport.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh index 2843eb0..e1e5366 100644 --- a/lib/termsupport.zsh +++ b/lib/termsupport.zsh @@ -6,8 +6,8 @@ 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 - print -Pn "\e]1;$1\a" #set icon (=tab) name (will override window name on broken terminal) 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 7cc4ab9b3f79ed2e56c8bebeb6fbd4b870b53de2 Mon Sep 17 00:00:00 2001 From: James Frasca Date: Thu, 17 Mar 2011 11:22:51 -0700 Subject: [PATCH 358/518] Added the Frisk theme --- themes/frisk.zsh-theme | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 themes/frisk.zsh-theme diff --git a/themes/frisk.zsh-theme b/themes/frisk.zsh-theme new file mode 100644 index 0000000..f181aec --- /dev/null +++ b/themes/frisk.zsh-theme @@ -0,0 +1,10 @@ +PROMPT=$' +%{$fg[blue]%}%/%{$reset_color%} $(git_prompt_info)%{$fg[white]%}[%n@%m]%{$reset_color%} %{$fg[white]%}[%T]%{$reset_color%} +%{$fg_bold[black]%}>%{$reset_color%} ' + +PROMPT2="%{$fg_blod[black]%}%_> %{$reset_color%}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}[" +ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}*%{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" From 4facba9824b7c3d0115c5f66e5b1517bd5674027 Mon Sep 17 00:00:00 2001 From: Joakim Ekberg Date: Thu, 17 Mar 2011 22:29:58 +0100 Subject: [PATCH 359/518] Added terminal party theme. --- themes/terminalparty.zsh-theme | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 themes/terminalparty.zsh-theme diff --git a/themes/terminalparty.zsh-theme b/themes/terminalparty.zsh-theme new file mode 100644 index 0000000..73653ac --- /dev/null +++ b/themes/terminalparty.zsh-theme @@ -0,0 +1,9 @@ +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_SUFFIX=")%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%} ⚡%{$fg[yellow]%}" + From d03a6176aacd583993c02c7e837d10751c431875 Mon Sep 17 00:00:00 2001 From: Sankara Rameswaran Date: Wed, 2 Mar 2011 15:20:43 +0530 Subject: [PATCH 360/518] Lein completion --- plugins/lein/lein.plugin.zsh | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 plugins/lein/lein.plugin.zsh diff --git a/plugins/lein/lein.plugin.zsh b/plugins/lein/lein.plugin.zsh new file mode 100644 index 0000000..19af355 --- /dev/null +++ b/plugins/lein/lein.plugin.zsh @@ -0,0 +1,27 @@ +function _lein_commands() { + local ret=1 state + _arguments ':subcommand:->subcommand' && ret=0 + + case $state in + subcommand) + subcommands=( + "clean:remove compiled files and dependencies from project" + "compile:ahead-of-time compile the project" + "deps:download and install all dependencies" + "help:display a list of tasks or help for a given task" + "install:install the project and its dependencies in your local repository" + "jar:create a jar file containing the compiled .class files" + "new:create a new project skeleton" + "pom:write a pom.xml file to disk for maven interop" + "test:run the project's tests" + "uberjar:Create a jar including the contents of each of deps" + "upgrade:upgrade leiningen to the latest stable release" + "version:print leiningen's version" + ) + _describe -t subcommands 'leiningen subcommands' subcommands && ret=0 + esac + + return ret +} + +compdef _lein_commands lein From 06063ab695ecfe6fa7737511a070b24412ee1b2a Mon Sep 17 00:00:00 2001 From: Lorrin Nelson Date: Wed, 23 Mar 2011 21:20:08 -0700 Subject: [PATCH 361/518] Introduce DISABLE_AUTO_TITLE option --- lib/termsupport.zsh | 10 +++++++--- templates/zshrc.zsh-template | 3 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh index e1e5366..b250833 100644 --- a/lib/termsupport.zsh +++ b/lib/termsupport.zsh @@ -16,11 +16,15 @@ ZSH_THEME_TERM_TITLE_IDLE="%n@%m: %~" #Appears when you have the prompt function precmd { - title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE + if [ "$DISABLE_AUTO_TITLE" != "true" ]; then + title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE + fi } #Appears at the beginning of (and during) of command execution function preexec { - local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd - title "$CMD" "%100>...>$2%<<" + if [ "$DISABLE_AUTO_TITLE" != "true" ]; then + local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd + title "$CMD" "%100>...>$2%<<" + fi } diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template index 8022b35..506daa9 100644 --- a/templates/zshrc.zsh-template +++ b/templates/zshrc.zsh-template @@ -14,6 +14,9 @@ export ZSH_THEME="robbyrussell" # Uncomment following line if you want to disable colors in ls # export DISABLE_LS_COLORS="true" +# Uncomment following line if you want to disable autosetting terminal title. +# export DISABLE_AUTO_TITLE="true" + # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) # Example format: plugins=(rails git textmate ruby lighthouse) plugins=(git) From 2497c57976b1e5002ebecd7ffa5c35bc87ada903 Mon Sep 17 00:00:00 2001 From: Simon Elsbrock Date: Thu, 24 Mar 2011 09:47:48 +0100 Subject: [PATCH 362/518] fixed wget command in readme github uses a wildcard certificate which is not accepted by wget --- README.textile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.textile b/README.textile index 0659ade..86d2652 100644 --- a/README.textile +++ b/README.textile @@ -8,7 +8,7 @@ h2. Setup h3. The automatic installer... (do you trust me?) -@wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh@ +@wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh@ h3. The manual way @@ -66,4 +66,4 @@ I'm far from being a zsh-expert and suspect there are many ways to improve. If y h3. Send us your theme! -I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory. \ No newline at end of file +I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory. From d5ce689a0c10f71967dcc163cd66ef9bd2778416 Mon Sep 17 00:00:00 2001 From: Daniel Wehner Date: Sat, 26 Mar 2011 15:06:30 +0100 Subject: [PATCH 363/518] Add a plugin to support kate the kde texteditor --- plugins/kate/kate.plugin.zsh | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 plugins/kate/kate.plugin.zsh diff --git a/plugins/kate/kate.plugin.zsh b/plugins/kate/kate.plugin.zsh new file mode 100644 index 0000000..eb16522 --- /dev/null +++ b/plugins/kate/kate.plugin.zsh @@ -0,0 +1,9 @@ + +# Kate +# Start kate always silent +alias kate='kate >/dev/null 2>&1' + +function kt () { + cd $1 + kate $1 +} \ No newline at end of file From 16f9dfb3aa6d301d4345df9af017bd6982273919 Mon Sep 17 00:00:00 2001 From: "Matthew M. Nelson" Date: Thu, 31 Mar 2011 13:51:29 -0500 Subject: [PATCH 364/518] Adding dogenpunk theme --- themes/dogenpunk.zsh-theme | 85 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 themes/dogenpunk.zsh-theme diff --git a/themes/dogenpunk.zsh-theme b/themes/dogenpunk.zsh-theme new file mode 100644 index 0000000..f4d65ab --- /dev/null +++ b/themes/dogenpunk.zsh-theme @@ -0,0 +1,85 @@ +# ----------------------------------------------------------------------------- +# FILE: dogenpunk.zsh-theme +# DESCRIPTION: oh-my-zsh theme file. +# AUTHOR: Matthew Nelson (dogenpunk@gmail.com) +# VERSION: 0.1 +# SCREENSHOT: coming soon +# ----------------------------------------------------------------------------- + +MODE_INDICATOR="%{$fg_bold[red]%}❮%{$reset_color%}%{$fg[red]%}❮❮%{$reset_color%}" +local return_status="%{$fg[red]%}%(?..⏎)%{$reset_color%}" + +PROMPT='%{$fg[blue]%}%m%{$reset_color%}%{$fg_bold[white]%} ओम् %{$reset_color%}%{$fg[cyan]%}%~:%{$reset_color%}$(git_time_since_commit)$(git_prompt_info) +%{$fg[red]%}%!%{$reset_color%} $(prompt_char) ' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[green]%}git%{$reset_color%}@%{$bg[white]%}%{$fg[black]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%})" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}!%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +RPROMPT='${return_status}$(git_prompt_status)%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭" + +function prompt_char() { + git branch >/dev/null 2>/dev/null && echo "%{$fg[green]%}±%{$reset_color%}" && return + hg root >/dev/null 2>/dev/null && echo "%{$fg_bold[red]%}☿%{$reset_color%}" && return + echo "%{$fg[cyan]%}◯ %{$reset_color%}" +} + +# Colors vary depending on time lapsed. +ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT="%{$fg[green]%}" +ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM="%{$fg[yellow]%}" +ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG="%{$fg[red]%}" +ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL="%{$fg[cyan]%}" + +# Determine the time since last commit. If branch is clean, +# use a neutral color, otherwise colors will vary according to time. +function git_time_since_commit() { + if git rev-parse --git-dir > /dev/null 2>&1; then + # Only proceed if there is actually a commit. + if [[ $(git log 2>&1 > /dev/null | grep -c "^fatal: bad default revision") == 0 ]]; then + # Get the last commit. + last_commit=`git log --pretty=format:'%at' -1 2> /dev/null` + now=`date +%s` + seconds_since_last_commit=$((now-last_commit)) + + # Totals + MINUTES=$((seconds_since_last_commit / 60)) + HOURS=$((seconds_since_last_commit/3600)) + + # Sub-hours and sub-minutes + DAYS=$((seconds_since_last_commit / 86400)) + SUB_HOURS=$((HOURS % 24)) + SUB_MINUTES=$((MINUTES % 60)) + + if [[ -n $(git status -s 2> /dev/null) ]]; then + if [ "$MINUTES" -gt 30 ]; then + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG" + elif [ "$MINUTES" -gt 10 ]; then + COLOR="$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM" + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT" + fi + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" + fi + + if [ "$HOURS" -gt 24 ]; then + echo "($COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|" + elif [ "$MINUTES" -gt 60 ]; then + echo "($COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|" + else + echo "($COLOR${MINUTES}m%{$reset_color%}|" + fi + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" + echo "($COLOR~|" + fi + fi +} From 57f55e69ed967e93c0fd44a6a7e470781eb38029 Mon Sep 17 00:00:00 2001 From: Jakub Nawalaniec Date: Sun, 3 Apr 2011 13:50:05 +0200 Subject: [PATCH 365/518] Zsh will now complete git aliases with git stuff --- plugins/git/git.plugin.zsh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 71a6281..fc4e56f 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -1,19 +1,34 @@ # Aliases alias g='git' +compdef g=git alias gst='git status' +compdef gst=git alias gl='git pull' +compdef gl=git alias gup='git fetch && git rebase' +compdef gup=git alias gp='git push' +compdef gp=git alias gd='git diff | mate' +compdef gd=git alias gdv='git diff -w "$@" | vim -R -' +compdef gdv=git alias gc='git commit -v' +compdef gc=git alias gca='git commit -v -a' +compdef gca=git alias gco='git checkout' +compdef gco=git alias gb='git branch' +compdef gb=git alias gba='git branch -a' +compdef gba=git alias gcount='git shortlog -sn' +compdef gcount=git alias gcp='git cherry-pick' +compdef gcp=git alias glg='git log --stat --max-count=5' +compdef glg=git # Git and svn mix alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' @@ -29,5 +44,8 @@ function current_branch() { # 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 From 2e9492969b0ea90932ad3f4298330b75ef8cf2ce Mon Sep 17 00:00:00 2001 From: Jakub Nawalaniec Date: Sun, 3 Apr 2011 15:43:39 +0200 Subject: [PATCH 366/518] Completions are git subdommand-aware now --- plugins/git/git.plugin.zsh | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index fc4e56f..8470c28 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -2,15 +2,16 @@ alias g='git' compdef g=git alias gst='git status' -compdef gst=git +compdef _git gst=git-status alias gl='git pull' -compdef gl=git +compdef _git gl=git-pull alias gup='git fetch && git rebase' compdef gup=git alias gp='git push' -compdef gp=git +compdef _git gp=git-push alias gd='git diff | mate' -compdef gd=git +# WTF is mate?? +compdef _git gd=git-diff alias gdv='git diff -w "$@" | vim -R -' compdef gdv=git alias gc='git commit -v' @@ -18,20 +19,21 @@ compdef gc=git alias gca='git commit -v -a' compdef gca=git alias gco='git checkout' -compdef gco=git +compdef _git gco=git-checkout alias gb='git branch' -compdef gb=git +compdef _git gb=git-branch alias gba='git branch -a' compdef gba=git alias gcount='git shortlog -sn' compdef gcount=git alias gcp='git cherry-pick' -compdef gcp=git +compdef _git gcp=git-cherry-pick alias glg='git log --stat --max-count=5' -compdef glg=git +compdef _git glg=git-log # Git and svn mix alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' +compdef git-svn-dcommit-push=git # # Will return the current branch name From 4cd4167c8d988656eed4896d6d1343e311ce078c Mon Sep 17 00:00:00 2001 From: Jakub Nawalaniec Date: Sun, 3 Apr 2011 21:28:19 +0200 Subject: [PATCH 367/518] Further git completion improovements In detail: gup - now completes with remotes like git fetch would gdv - got git diff completions gc/gca - now zsh will suggest files in staging area gba - suggestions as for git branch --- plugins/git/git.plugin.zsh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 8470c28..9fe7a64 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -6,24 +6,24 @@ compdef _git gst=git-status alias gl='git pull' compdef _git gl=git-pull alias gup='git fetch && git rebase' -compdef gup=git +compdef _git gup=git-fetch alias gp='git push' compdef _git gp=git-push alias gd='git diff | mate' # WTF is mate?? compdef _git gd=git-diff alias gdv='git diff -w "$@" | vim -R -' -compdef gdv=git +compdef _git gdv=git-diff alias gc='git commit -v' -compdef gc=git +compdef _git gc=git-commit alias gca='git commit -v -a' -compdef gca=git +compdef _git gca=git-commit alias gco='git checkout' compdef _git gco=git-checkout alias gb='git branch' compdef _git gb=git-branch alias gba='git branch -a' -compdef gba=git +compdef _git gba=git-branch alias gcount='git shortlog -sn' compdef gcount=git alias gcp='git cherry-pick' From d138751cbd721bf7036e88cb1a2bafc9ebb87366 Mon Sep 17 00:00:00 2001 From: "Renaud (Nel) Morvan" Date: Mon, 4 Apr 2011 13:30:39 +0200 Subject: [PATCH 368/518] Escape characters used in escape sequence to avoid triggering bugs in Apple Terminal Closes #45 #57 #58 #86. --- lib/termsupport.zsh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh index b250833..494ef89 100644 --- a/lib/termsupport.zsh +++ b/lib/termsupport.zsh @@ -4,10 +4,10 @@ #Limited support for Apple Terminal (Terminal can't set window or tab separately) function title { if [[ "$TERM" == "screen" ]]; then - print -Pn "\ek$1\e\\" #set screen hardstatus, usually truncated at 20 chars + print -Pn "\ek$1:q\e\\" #set screen hardstatus, usually truncated at 20 chars 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) + print -Pn "\e]2;$2:q\a" #set window name + print -Pn "\e]1;$1:q\a" #set icon (=tab) name (will override window name on broken terminal) fi } From a3e92892bbc95acc270d93b45be05c55348da55c Mon Sep 17 00:00:00 2001 From: "Renaud (Nel) Morvan" Date: Mon, 4 Apr 2011 13:44:48 +0200 Subject: [PATCH 369/518] Command title behavior no longer depend on local zsh configuration Fix by derekjw. closes #52. --- lib/termsupport.zsh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh index 494ef89..42bbb9e 100644 --- a/lib/termsupport.zsh +++ b/lib/termsupport.zsh @@ -3,7 +3,7 @@ #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 { - if [[ "$TERM" == "screen" ]]; then + 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 print -Pn "\e]2;$2:q\a" #set window name @@ -24,6 +24,8 @@ function precmd { #Appears at the beginning of (and during) of command execution function preexec { if [ "$DISABLE_AUTO_TITLE" != "true" ]; then + emulate -L zsh + setopt extended_glob local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd title "$CMD" "%100>...>$2%<<" fi From 0cc0915bf83c1915575182d1287abfc6dd3e6f3c Mon Sep 17 00:00:00 2001 From: "Renaud (Nel) Morvan" Date: Mon, 4 Apr 2011 14:02:50 +0200 Subject: [PATCH 370/518] Refactor DISABLE_AUTO_TITLE to be more DRY --- lib/termsupport.zsh | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh index 42bbb9e..3152751 100644 --- a/lib/termsupport.zsh +++ b/lib/termsupport.zsh @@ -3,6 +3,7 @@ #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 [[ $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 @@ -16,17 +17,13 @@ ZSH_THEME_TERM_TITLE_IDLE="%n@%m: %~" #Appears when you have the prompt function precmd { - if [ "$DISABLE_AUTO_TITLE" != "true" ]; then - title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE - fi + title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE } #Appears at the beginning of (and during) of command execution function preexec { - if [ "$DISABLE_AUTO_TITLE" != "true" ]; then - emulate -L zsh - setopt extended_glob - local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd - title "$CMD" "%100>...>$2%<<" - fi + emulate -L zsh + setopt extended_glob + local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd + title "$CMD" "%100>...>$2%<<" } From 993e05da50543b9c2dcc5e4fedb93afd1c8b020c Mon Sep 17 00:00:00 2001 From: Pat Regan Date: Fri, 8 Apr 2011 10:12:22 -0400 Subject: [PATCH 371/518] Replace redundant calls to compinit with a single call. --- lib/completion.zsh | 3 --- lib/key-bindings.zsh | 2 -- oh-my-zsh.sh | 4 ++++ plugins/brew/brew.plugin.zsh | 2 -- plugins/cpanm/cpanm.plugin.zsh | 2 -- plugins/gem/gem.plugin.zsh | 2 -- plugins/github/github.plugin.zsh | 2 -- plugins/macports/macports.plugin.zsh | 2 -- plugins/pip/pip.plugin.zsh | 2 -- plugins/vagrant/vagrant.plugin.zsh | 2 -- 10 files changed, 4 insertions(+), 19 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index e8e9776..3c5a41e 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -9,9 +9,6 @@ setopt always_to_end WORDCHARS='' -autoload -U compinit -compinit -i - zmodload -i zsh/complist ## case-insensitive (all),partial-word and then substring completion diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh index 7196a88..c7ad907 100644 --- a/lib/key-bindings.zsh +++ b/lib/key-bindings.zsh @@ -1,6 +1,4 @@ # TODO: Explain what some of this does.. -autoload -U compinit -compinit -i bindkey -e bindkey '\ew' kill-region diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 291772d..805e924 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -17,6 +17,10 @@ for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh # Load the theme source "$ZSH/themes/$ZSH_THEME.zsh-theme" +# Load and run compinit +autoload -U compinit +compinit -i + # Check for updates on initial load... if [ "$DISABLE_AUTO_UPDATE" = "true" ] then diff --git a/plugins/brew/brew.plugin.zsh b/plugins/brew/brew.plugin.zsh index 353a189..079c0fb 100644 --- a/plugins/brew/brew.plugin.zsh +++ b/plugins/brew/brew.plugin.zsh @@ -1,4 +1,2 @@ # add brew completion function to path fpath=($ZSH/plugins/brew $fpath) -autoload -U compinit -compinit -i diff --git a/plugins/cpanm/cpanm.plugin.zsh b/plugins/cpanm/cpanm.plugin.zsh index af52d3e..8425b5a 100644 --- a/plugins/cpanm/cpanm.plugin.zsh +++ b/plugins/cpanm/cpanm.plugin.zsh @@ -1,4 +1,2 @@ # add cpanm completion function to path fpath=($ZSH/plugins/cpanm $fpath) -autoload -U compinit -compinit -i diff --git a/plugins/gem/gem.plugin.zsh b/plugins/gem/gem.plugin.zsh index d4e5c65..cdfad7a 100644 --- a/plugins/gem/gem.plugin.zsh +++ b/plugins/gem/gem.plugin.zsh @@ -1,4 +1,2 @@ # add gem completion function to path fpath=($ZSH/plugins/gem $fpath) -autoload -U compinit -compinit -i diff --git a/plugins/github/github.plugin.zsh b/plugins/github/github.plugin.zsh index c23504b..0858783 100644 --- a/plugins/github/github.plugin.zsh +++ b/plugins/github/github.plugin.zsh @@ -1,4 +1,2 @@ # add github completion function to path fpath=($ZSH/plugins/github $fpath) -autoload -U compinit -compinit -i diff --git a/plugins/macports/macports.plugin.zsh b/plugins/macports/macports.plugin.zsh index cbbc492..492a665 100644 --- a/plugins/macports/macports.plugin.zsh +++ b/plugins/macports/macports.plugin.zsh @@ -8,5 +8,3 @@ alias pup="psu && puo" # add macports completion function to path fpath=($ZSH/plugins/macports $fpath) -autoload -U compinit -compinit -i diff --git a/plugins/pip/pip.plugin.zsh b/plugins/pip/pip.plugin.zsh index bf9f239..740f962 100644 --- a/plugins/pip/pip.plugin.zsh +++ b/plugins/pip/pip.plugin.zsh @@ -1,4 +1,2 @@ # add brew completion function to path fpath=($ZSH/plugins/pip $fpath) -autoload -U compinit -compinit -i diff --git a/plugins/vagrant/vagrant.plugin.zsh b/plugins/vagrant/vagrant.plugin.zsh index 5e9bcf1..98d2d70 100644 --- a/plugins/vagrant/vagrant.plugin.zsh +++ b/plugins/vagrant/vagrant.plugin.zsh @@ -1,3 +1 @@ fpath=($ZSH/plugins/vagrant $fpath) -autoload -U compinit -compinit -i From ef4175981b78ca6ef24f7776ab213f3b71488472 Mon Sep 17 00:00:00 2001 From: Pat Regan Date: Fri, 8 Apr 2011 11:10:14 -0400 Subject: [PATCH 372/518] Moved the single compinit call from oh-my-zsh.sh to lib/completion.zsh --- lib/completion.zsh | 4 ++++ oh-my-zsh.sh | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index 3c5a41e..21735e7 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -60,3 +60,7 @@ zstyle ':completion:*:*:*:users' ignored-patterns \ # ... unless we really want to. zstyle '*' single-ignored show +# Load and run compinit +autoload -U compinit +compinit -i + diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 805e924..3970a49 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -18,8 +18,8 @@ for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh source "$ZSH/themes/$ZSH_THEME.zsh-theme" # Load and run compinit -autoload -U compinit -compinit -i +#autoload -U compinit +#compinit -i # Check for updates on initial load... if [ "$DISABLE_AUTO_UPDATE" = "true" ] From 235733e5e224539cf5002a02694d021902fd9550 Mon Sep 17 00:00:00 2001 From: Pat Regan Date: Fri, 8 Apr 2011 11:12:21 -0400 Subject: [PATCH 373/518] Removed commented out code. --- oh-my-zsh.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 3970a49..291772d 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -17,10 +17,6 @@ for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh # Load the theme source "$ZSH/themes/$ZSH_THEME.zsh-theme" -# Load and run compinit -#autoload -U compinit -#compinit -i - # Check for updates on initial load... if [ "$DISABLE_AUTO_UPDATE" = "true" ] then From 91e4f3d667cc04148fafc4675174424daf5f6b5a Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Mon, 4 Apr 2011 00:54:43 +0200 Subject: [PATCH 374/518] Fix `gdv`: make it a function, and use `view`. I've changed it to use `view` instead of `vim -R` to make it hopefully more editor-agnostic. --- plugins/git/git.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 8470c28..b21c6a8 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -12,7 +12,7 @@ compdef _git gp=git-push alias gd='git diff | mate' # WTF is mate?? compdef _git gd=git-diff -alias gdv='git diff -w "$@" | vim -R -' +gdv() { git diff -w "$@" | view - } compdef gdv=git alias gc='git commit -v' compdef gc=git From b3a78d2b287cc9789d1c791a91448c40dcab2e23 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Tue, 12 Apr 2011 10:19:15 +0200 Subject: [PATCH 375/518] Using git-diff instead of git diff --- plugins/git/git.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 85eabce..bc340e8 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -9,7 +9,7 @@ alias gup='git fetch && git rebase' compdef _git gup=git-fetch alias gp='git push' compdef _git gp=git-push -gdv() { git diff -w "$@" | view - } +gdv() { git-diff -w "$@" | view - } compdef _git gdv=git-diff alias gc='git commit -v' compdef _git gc=git-commit From f9282283822771a7f471547569de481a66a70b0f Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 20 Mar 2011 16:29:00 -0400 Subject: [PATCH 376/518] Added npm plugin. --- plugins/npm/_npm | 19 +++++++++++++++++++ plugins/npm/npm.plugin.zsh | 4 ++++ 2 files changed, 23 insertions(+) create mode 100644 plugins/npm/_npm create mode 100644 plugins/npm/npm.plugin.zsh diff --git a/plugins/npm/_npm b/plugins/npm/_npm new file mode 100644 index 0000000..24b5361 --- /dev/null +++ b/plugins/npm/_npm @@ -0,0 +1,19 @@ +#compdef npm + +# Node Package Manager 0.3.15 completion, letting npm do all the completion work + +_npm() { + compadd -- $(_npm_complete $words) +} + +# We want to show all errors of any substance, but never the "npm (not )ok" one. +# (Also doesn't consider "ERR! no match found" worth breaking the terminal for.) +_npm_complete() { + local ask_npm + ask_npm=(npm completion --color false --loglevel error -- $@) + { _call_program npm $ask_npm 2>&1 >&3 \ + | egrep -v '^(npm (not |)ok|ERR! no match found)$' >&2; \ + } 3>&1 +} + +_npm "$@" diff --git a/plugins/npm/npm.plugin.zsh b/plugins/npm/npm.plugin.zsh new file mode 100644 index 0000000..826f0f7 --- /dev/null +++ b/plugins/npm/npm.plugin.zsh @@ -0,0 +1,4 @@ +# add npm completion function to path +fpath=($ZSH/plugins/npm $fpath) +autoload -U compinit +compinit -i From 8883ace767997d1a629c165780af303f715ee78d Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Tue, 12 Apr 2011 10:24:06 +0200 Subject: [PATCH 377/518] Revert "Enable alias completion, do not limit completion to just files" This reverts commit c3a58b00040018743ead1e6672910433fc1ca7c2. --- lib/completion.zsh | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index e8e9776..9c2dfec 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -4,7 +4,6 @@ unsetopt menu_complete # do not autoselect the first completion entry unsetopt flowcontrol setopt auto_menu # show completion menu on succesive tab press setopt complete_in_word -setopt complete_aliases setopt always_to_end WORDCHARS='' From 0447a0ec11ad56d24ad391e9149c8d7e0429b205 Mon Sep 17 00:00:00 2001 From: Theodore Robert Campbell Jr Date: Tue, 1 Mar 2011 01:04:10 -0500 Subject: [PATCH 378/518] added hub plugin from defunkt --- plugins/hub/hub.plugin.zsh | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 plugins/hub/hub.plugin.zsh diff --git a/plugins/hub/hub.plugin.zsh b/plugins/hub/hub.plugin.zsh new file mode 100644 index 0000000..e82a0ec --- /dev/null +++ b/plugins/hub/hub.plugin.zsh @@ -0,0 +1,5 @@ +# hub alias from defunkt +# https://github.com/defunkt/hub +if [ $( which hub > /dev/null 2>&1 ; echo -n $? ) -lt 1 ]; then + eval $( hub alias -s $( ps -o comm= -p $$ ) ) +fi From 8ed33a8ccc5e926e84bf522951ecf80e97e2a8e6 Mon Sep 17 00:00:00 2001 From: Theodore Robert Campbell Jr Date: Tue, 1 Mar 2011 21:34:25 -0500 Subject: [PATCH 379/518] no need for an extra fork --- plugins/hub/hub.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/hub/hub.plugin.zsh b/plugins/hub/hub.plugin.zsh index e82a0ec..9f95c63 100644 --- a/plugins/hub/hub.plugin.zsh +++ b/plugins/hub/hub.plugin.zsh @@ -1,5 +1,5 @@ # hub alias from defunkt # https://github.com/defunkt/hub if [ $( which hub > /dev/null 2>&1 ; echo -n $? ) -lt 1 ]; then - eval $( hub alias -s $( ps -o comm= -p $$ ) ) + eval $( hub alias -s zsh ) fi From 2717e147b303beef0f84e6dfbb2db562c8fc6740 Mon Sep 17 00:00:00 2001 From: Theodore Robert Campbell Jr Date: Wed, 2 Mar 2011 20:00:40 -0500 Subject: [PATCH 380/518] blueyed's ZSH-fu is much stronger than mine. --- plugins/hub/hub.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/hub/hub.plugin.zsh b/plugins/hub/hub.plugin.zsh index 9f95c63..48e1fa4 100644 --- a/plugins/hub/hub.plugin.zsh +++ b/plugins/hub/hub.plugin.zsh @@ -1,5 +1,5 @@ # hub alias from defunkt # https://github.com/defunkt/hub -if [ $( which hub > /dev/null 2>&1 ; echo -n $? ) -lt 1 ]; then - eval $( hub alias -s zsh ) +if which hub > /dev/null; then + eval $(hub alias -s zsh) fi From 277057cb6399769340d41bba9421464c58742026 Mon Sep 17 00:00:00 2001 From: Theodore Robert Campbell Jr Date: Thu, 3 Mar 2011 21:36:35 -0500 Subject: [PATCH 381/518] Moved this to the existing github plugin --- plugins/hub/hub.plugin.zsh | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 plugins/hub/hub.plugin.zsh diff --git a/plugins/hub/hub.plugin.zsh b/plugins/hub/hub.plugin.zsh deleted file mode 100644 index 48e1fa4..0000000 --- a/plugins/hub/hub.plugin.zsh +++ /dev/null @@ -1,5 +0,0 @@ -# hub alias from defunkt -# https://github.com/defunkt/hub -if which hub > /dev/null; then - eval $(hub alias -s zsh) -fi From 9406ae7929bc1d3a063b65e7559a28268aaf0a7a Mon Sep 17 00:00:00 2001 From: Theodore Robert Campbell Jr Date: Thu, 3 Mar 2011 21:38:56 -0500 Subject: [PATCH 382/518] Whoops, this was supposed to be in the last commit! --- plugins/github/github.plugin.zsh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plugins/github/github.plugin.zsh b/plugins/github/github.plugin.zsh index c23504b..72e9b07 100644 --- a/plugins/github/github.plugin.zsh +++ b/plugins/github/github.plugin.zsh @@ -1,3 +1,9 @@ +# hub alias from defunkt +# https://github.com/defunkt/hub +if which hub > /dev/null; then + eval $(hub alias -s zsh) +fi + # add github completion function to path fpath=($ZSH/plugins/github $fpath) autoload -U compinit From f0922006aba68e485480a81d83ba53b201270a69 Mon Sep 17 00:00:00 2001 From: Theodore Robert Campbell Jr Date: Sat, 19 Mar 2011 10:29:22 -0400 Subject: [PATCH 383/518] changes recommended by blueyed --- plugins/github/github.plugin.zsh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/github/github.plugin.zsh b/plugins/github/github.plugin.zsh index 72e9b07..8d45806 100644 --- a/plugins/github/github.plugin.zsh +++ b/plugins/github/github.plugin.zsh @@ -1,7 +1,8 @@ # hub alias from defunkt # https://github.com/defunkt/hub -if which hub > /dev/null; then - eval $(hub alias -s zsh) +if [ "$commands[(I)hub]" ]; then + # eval `hub alias -s zsh` + function git(){hub "$@"} fi # add github completion function to path From 7d71148490511ae2ef849a9d95de07ec4a751121 Mon Sep 17 00:00:00 2001 From: Dmitry Maksimov Date: Sat, 26 Feb 2011 10:04:45 +0300 Subject: [PATCH 384/518] kolo.zsh-theme --- themes/kolo.zsh-theme | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 themes/kolo.zsh-theme diff --git a/themes/kolo.zsh-theme b/themes/kolo.zsh-theme new file mode 100644 index 0000000..6e04e15 --- /dev/null +++ b/themes/kolo.zsh-theme @@ -0,0 +1,21 @@ +autoload -U colors && colors + +autoload -Uz vcs_info + +zstyle ':vcs_info:*' stagedstr '%F{green}●' +zstyle ':vcs_info:*' unstagedstr '%F{yellow}●' +zstyle ':vcs_info:*' check-for-changes true +zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{11}%r' +zstyle ':vcs_info:*' enable git svn +precmd () { + if [[ -z $(git ls-files --other --exclude-standard 2> /dev/null) ]] { + zstyle ':vcs_info:*' formats ' [%b%c%u%B%F{green}]' + } else { + zstyle ':vcs_info:*' formats ' [%b%c%u%B%F{red}●%F{green}]' + } + + vcs_info +} + +setopt prompt_subst +PROMPT='%B%F{magenta}%c%B%F{green}${vcs_info_msg_0_}%B%F{magenta} %{$reset_color%}%% ' From 849e2834fb1e4fe27a0b5f997733fd2ae4d8f9b7 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Tue, 12 Apr 2011 10:36:45 +0200 Subject: [PATCH 385/518] Updating the README... now links to contributors page --- README.textile | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.textile b/README.textile index 86d2652..d01c331 100644 --- a/README.textile +++ b/README.textile @@ -54,12 +54,6 @@ h3. Uninstalling If you want to uninstall it, just run @uninstall_oh_my_zsh@ from the command line and it'll remove itself and revert you to bash (or your previous zsh config). -h2. Thanks - -* Rick Olson (technoweenie) might remember some of the configuration, which I took from a pastie a few years ago. -* Marcel (noradio) provided Rick the original zsh configuration. -* Nicholas (ulysses) for the "rake autocompletion code":http://weblog.rubyonrails.org/2006/3/9/fast-rake-task-completion-for-zsh. - 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! @@ -67,3 +61,11 @@ I'm far from being a zsh-expert and suspect there are many ways to improve. If y h3. Send us your theme! I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory. + +h2. Contributors + +This project wouldn't exist without all of our awesome users and contributors. + +* "View our growing list of contributors":https://github.com/robbyrussell/oh-my-zsh/contributors + +Thank you so much! \ No newline at end of file From 6cbd15f4035ffd79e6e325a256f87443c106c2c6 Mon Sep 17 00:00:00 2001 From: James Frasca Date: Thu, 17 Mar 2011 11:22:51 -0700 Subject: [PATCH 386/518] Added the Frisk theme --- themes/frisk.zsh-theme | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 themes/frisk.zsh-theme diff --git a/themes/frisk.zsh-theme b/themes/frisk.zsh-theme new file mode 100644 index 0000000..f181aec --- /dev/null +++ b/themes/frisk.zsh-theme @@ -0,0 +1,10 @@ +PROMPT=$' +%{$fg[blue]%}%/%{$reset_color%} $(git_prompt_info)%{$fg[white]%}[%n@%m]%{$reset_color%} %{$fg[white]%}[%T]%{$reset_color%} +%{$fg_bold[black]%}>%{$reset_color%} ' + +PROMPT2="%{$fg_blod[black]%}%_> %{$reset_color%}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}[" +ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}*%{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" From 971b071dc67f423d8b2a6f476e1dd58819049f41 Mon Sep 17 00:00:00 2001 From: kphoen Date: Mon, 7 Mar 2011 15:15:46 +0100 Subject: [PATCH 387/518] Add: new theme --- themes/kphoen.zsh-theme | 50 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 themes/kphoen.zsh-theme diff --git a/themes/kphoen.zsh-theme b/themes/kphoen.zsh-theme new file mode 100644 index 0000000..0e9b5e7 --- /dev/null +++ b/themes/kphoen.zsh-theme @@ -0,0 +1,50 @@ +# ------------------------------------------------------------------------------ +# FILE: kphoen.zsh-theme +# DESCRIPTION: oh-my-zsh theme file. +# AUTHOR: Kévin Gomez (geek63@gmail.com) +# VERSION: 1.0.0 +# SCREENSHOT: +# ------------------------------------------------------------------------------ + + +if [[ "$TERM" != "dumb" ]] && [[ "$DISABLE_LS_COLORS" != "true" ]]; then + PROMPT='[%{$fg[red]%}%n%{$reset_color%}@%{$fg[magenta]%}%m%{$reset_color%}:%{$fg[blue]%}%~%{$reset_color%}$(git_prompt_info)] +%# ' + + ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[green]%}" + ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" + ZSH_THEME_GIT_PROMPT_DIRTY="" + ZSH_THEME_GIT_PROMPT_CLEAN="" + + # display exitcode on the right when >0 + return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + + RPROMPT='${return_code}$(git_prompt_status)%{$reset_color%}' + + ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚" + ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹" + ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖" + ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜" + ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═" + ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭" +else + PROMPT='[%n@%m:%~$(git_prompt_info)] +%# ' + + ZSH_THEME_GIT_PROMPT_PREFIX=" on" + ZSH_THEME_GIT_PROMPT_SUFFIX="" + ZSH_THEME_GIT_PROMPT_DIRTY="" + ZSH_THEME_GIT_PROMPT_CLEAN="" + + # display exitcode on the right when >0 + return_code="%(?..%? ↵)" + + RPROMPT='${return_code}$(git_prompt_status)' + + ZSH_THEME_GIT_PROMPT_ADDED=" ✚" + ZSH_THEME_GIT_PROMPT_MODIFIED=" ✹" + ZSH_THEME_GIT_PROMPT_DELETED=" ✖" + ZSH_THEME_GIT_PROMPT_RENAMED=" ➜" + ZSH_THEME_GIT_PROMPT_UNMERGED=" ═" + ZSH_THEME_GIT_PROMPT_UNTRACKED=" ✭" +fi From 16ac094a43052fb57eda9503174006a84a61a414 Mon Sep 17 00:00:00 2001 From: Pat Regan Date: Tue, 12 Apr 2011 09:28:15 -0400 Subject: [PATCH 388/518] Moved compinit call back to oh-my-zsh.sh, after plugins are loaded --- lib/completion.zsh | 4 ---- oh-my-zsh.sh | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index 21735e7..3c5a41e 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -60,7 +60,3 @@ zstyle ':completion:*:*:*:users' ignored-patterns \ # ... unless we really want to. zstyle '*' single-ignored show -# Load and run compinit -autoload -U compinit -compinit -i - diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 291772d..84a850c 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -14,6 +14,10 @@ for config_file ($ZSH/custom/*.zsh) source $config_file plugin=${plugin:=()} for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh +# Load and run compinit +autoload -U compinit +compinit -i + # Load the theme source "$ZSH/themes/$ZSH_THEME.zsh-theme" From 6bf906a2622ddea1e9aae5d23c544d37fc4b6a76 Mon Sep 17 00:00:00 2001 From: Pat Regan Date: Tue, 12 Apr 2011 17:41:09 -0400 Subject: [PATCH 389/518] Optimize plugin loading so that only one call to compinit is required --- oh-my-zsh.sh | 13 +++++++++++-- plugins/brew/brew.plugin.zsh | 2 -- plugins/cpanm/cpanm.plugin.zsh | 2 -- plugins/gem/gem.plugin.zsh | 2 -- plugins/github/github.plugin.zsh | 2 -- plugins/macports/macports.plugin.zsh | 2 -- plugins/pip/pip.plugin.zsh | 2 -- plugins/vagrant/vagrant.plugin.zsh | 1 - 8 files changed, 11 insertions(+), 15 deletions(-) delete mode 100644 plugins/brew/brew.plugin.zsh delete mode 100644 plugins/cpanm/cpanm.plugin.zsh delete mode 100644 plugins/gem/gem.plugin.zsh delete mode 100644 plugins/github/github.plugin.zsh delete mode 100644 plugins/pip/pip.plugin.zsh delete mode 100644 plugins/vagrant/vagrant.plugin.zsh diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 84a850c..0c85de7 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -10,14 +10,23 @@ for config_file ($ZSH/lib/*.zsh) source $config_file # Load all of your custom configurations from custom/ for config_file ($ZSH/custom/*.zsh) source $config_file -# Load all of the plugins that were defined in ~/.zshrc +# Add all defined plugins to fpath plugin=${plugin:=()} -for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh +for plugin ($plugins) fpath=($ZSH/plugins/$plugin $fpath) # Load and run compinit autoload -U compinit compinit -i +# Load all of the plugins that were defined in ~/.zshrc +for plugin ($plugins) +do + if [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ] + then + source $ZSH/plugins/$plugin/$plugin.plugin.zsh + fi +done + # Load the theme source "$ZSH/themes/$ZSH_THEME.zsh-theme" diff --git a/plugins/brew/brew.plugin.zsh b/plugins/brew/brew.plugin.zsh deleted file mode 100644 index 079c0fb..0000000 --- a/plugins/brew/brew.plugin.zsh +++ /dev/null @@ -1,2 +0,0 @@ -# add brew completion function to path -fpath=($ZSH/plugins/brew $fpath) diff --git a/plugins/cpanm/cpanm.plugin.zsh b/plugins/cpanm/cpanm.plugin.zsh deleted file mode 100644 index 8425b5a..0000000 --- a/plugins/cpanm/cpanm.plugin.zsh +++ /dev/null @@ -1,2 +0,0 @@ -# add cpanm completion function to path -fpath=($ZSH/plugins/cpanm $fpath) diff --git a/plugins/gem/gem.plugin.zsh b/plugins/gem/gem.plugin.zsh deleted file mode 100644 index cdfad7a..0000000 --- a/plugins/gem/gem.plugin.zsh +++ /dev/null @@ -1,2 +0,0 @@ -# add gem completion function to path -fpath=($ZSH/plugins/gem $fpath) diff --git a/plugins/github/github.plugin.zsh b/plugins/github/github.plugin.zsh deleted file mode 100644 index 0858783..0000000 --- a/plugins/github/github.plugin.zsh +++ /dev/null @@ -1,2 +0,0 @@ -# add github completion function to path -fpath=($ZSH/plugins/github $fpath) diff --git a/plugins/macports/macports.plugin.zsh b/plugins/macports/macports.plugin.zsh index 492a665..277352e 100644 --- a/plugins/macports/macports.plugin.zsh +++ b/plugins/macports/macports.plugin.zsh @@ -6,5 +6,3 @@ alias puni="sudo port uninstall inactive" alias puo="sudo port upgrade outdated" alias pup="psu && puo" -# add macports completion function to path -fpath=($ZSH/plugins/macports $fpath) diff --git a/plugins/pip/pip.plugin.zsh b/plugins/pip/pip.plugin.zsh deleted file mode 100644 index 740f962..0000000 --- a/plugins/pip/pip.plugin.zsh +++ /dev/null @@ -1,2 +0,0 @@ -# add brew completion function to path -fpath=($ZSH/plugins/pip $fpath) diff --git a/plugins/vagrant/vagrant.plugin.zsh b/plugins/vagrant/vagrant.plugin.zsh deleted file mode 100644 index 98d2d70..0000000 --- a/plugins/vagrant/vagrant.plugin.zsh +++ /dev/null @@ -1 +0,0 @@ -fpath=($ZSH/plugins/vagrant $fpath) From 757ebfcbd20b0893d8c9529eed2dfd428868f431 Mon Sep 17 00:00:00 2001 From: Pat Regan Date: Tue, 12 Apr 2011 17:50:15 -0400 Subject: [PATCH 390/518] Moved the plugin fpath loop and compinit so they happen before custom scripts are loaded. --- oh-my-zsh.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 0c85de7..ad4b268 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -7,9 +7,6 @@ fpath=($ZSH/functions $fpath) # TIP: Add files you don't want in git to .gitignore for config_file ($ZSH/lib/*.zsh) source $config_file -# Load all of your custom configurations from custom/ -for config_file ($ZSH/custom/*.zsh) source $config_file - # Add all defined plugins to fpath plugin=${plugin:=()} for plugin ($plugins) fpath=($ZSH/plugins/$plugin $fpath) @@ -18,6 +15,9 @@ for plugin ($plugins) fpath=($ZSH/plugins/$plugin $fpath) autoload -U compinit compinit -i +# Load all of your custom configurations from custom/ +for config_file ($ZSH/custom/*.zsh) source $config_file + # Load all of the plugins that were defined in ~/.zshrc for plugin ($plugins) do From 796f5164f306da2f4e6ab7cbadc17b78f5f683af Mon Sep 17 00:00:00 2001 From: Pat Regan Date: Tue, 12 Apr 2011 19:53:55 -0400 Subject: [PATCH 391/518] Minor reformatting --- oh-my-zsh.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index ad4b268..c7a4c32 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -19,10 +19,8 @@ compinit -i for config_file ($ZSH/custom/*.zsh) source $config_file # Load all of the plugins that were defined in ~/.zshrc -for plugin ($plugins) -do - if [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ] - then +for plugin ($plugins); do + if [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then source $ZSH/plugins/$plugin/$plugin.plugin.zsh fi done From 60bae66bbfebe7bf78378564ffe9aed00c3342b4 Mon Sep 17 00:00:00 2001 From: Simon Date: Thu, 7 Apr 2011 10:23:06 +0200 Subject: [PATCH 392/518] new yum plugin with useful aliases --- plugins/yum/yum.plugin.zsh | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 plugins/yum/yum.plugin.zsh diff --git a/plugins/yum/yum.plugin.zsh b/plugins/yum/yum.plugin.zsh new file mode 100644 index 0000000..d6ba7ed --- /dev/null +++ b/plugins/yum/yum.plugin.zsh @@ -0,0 +1,12 @@ +## Aliases + +alias ys="yum search" # search package +alias yp="yum info" # show package info +alias yl="yum list" # list packages +alias yli="yum list installed" # print all installed packages + +alias yu="sudo yum update" # upgrate packages +alias yi="sudo yum install" # install package +alias yr="sudo yum remove" # remove package +alias yrl="sudo yum remove --remove-leaves" # remove package and leaves +alias yc="sudo yum clean all" # clean cache From 14f07ebc68da8b06cdb0a4fdb435ac928ff419f1 Mon Sep 17 00:00:00 2001 From: alexandru Date: Thu, 14 Apr 2011 16:22:18 -0700 Subject: [PATCH 393/518] redis-cli completion plugin --- plugins/redis-cli/_redis-cli | 142 +++++++++++++++++++++++++ plugins/redis-cli/redis-cli.plugin.zsh | 4 + 2 files changed, 146 insertions(+) create mode 100644 plugins/redis-cli/_redis-cli create mode 100644 plugins/redis-cli/redis-cli.plugin.zsh diff --git a/plugins/redis-cli/_redis-cli b/plugins/redis-cli/_redis-cli new file mode 100644 index 0000000..3789add --- /dev/null +++ b/plugins/redis-cli/_redis-cli @@ -0,0 +1,142 @@ +#compdef redis-cli rec +#autoload + +#redis cli completion, based off homebrew completion (ref. 2011-04-14) + +local -a _1st_arguments +_1st_arguments=( + 'append:append a value to a key' + 'auth:authenticate to the server' + 'bgrewriteeaof:asynchronously rewrite the append-only file' + 'bgsave:asynchornously save the dataset to disk' + 'blpop:remove and get the first element in a list, or block until one is available' + 'brpop:remove and get the last element in a list, or block until one is available' + 'brpoplpush:pop a value from a list, push it to another list and return it; or block until one is available' + # 'config get:get the value of a configuration parameter' + # 'config set:set a configuration parameter to the given value' + # 'config resetstat: reset the stats returned by INFO' + 'dbsize:return the number of keys in the selected database' + # 'debug object:get debugging information about a key' + # 'debug setgfault:make the server crash' + 'decr:decrement the integer value of a key by one' + 'decrby:decrement the integet value of a key by the given number' + 'del:delete a key' + 'discard:discard all commands issued after MULTI' + 'echo:echo the given string' + 'exec:execute all commands issued after a MULTI' + 'exists:determine if a key exists' + 'expire:set the time to live for a key, in seconds' + 'expireat:set the expiration for a key as a UNIX timestamp' + 'flushall:remove all keys from all databases' + 'flushdb:remove all keys from the current database' + 'get:get the value of a key' + 'getbit:returns the bit value at offset in the string value stored at key' + 'getrange:get a substring of the string stored at a key' + 'getset:set the string value of a key and return its old value' + 'hdel:delete a hash field' + 'hexists:determine if a hash field exists' + 'hget:get the value of a hash field' + 'hgetall:get all the fields and values in a hash' + 'hincrby:increment the integer value of a hash field by the given number' + 'hkeys:get all the fields in a hash' + 'hlen:get the number of fields in a hash' + 'hmget:get the values of all the given hash fields' + 'hmset:set multiple hash fields to multiple values' + 'hset:set the string value of a hash field' + 'hsetnx:set the value of a hash field, only if the field does not exist' + 'hvals:get all the values in a hash' + 'incr:increment the integer value of a key by one' + 'incrby:increment the integer value of a key by the given number' + 'info:get information and statistics about the server' + 'keys:find all keys matching the given pattern' + 'lastsave:get the UNIX timestamp of the last successful save to disk' + 'lindex:get an element from a list by its index' + 'linset:insert an element before or after another element in a list' + 'llen:get the length of a list' + 'lpop:remove and get the first element in a list' + 'lpush:prepend a value to a list' + 'lpushx:prepend a value to a list, only if the list exists' + 'lrange:get a range of elements from a list' + 'lrem:remove elements from a list' + 'lset:set the value of an element in a list by its index' + 'ltrim:trim a list to the specified range' + 'mget:get the values of all the given keys' + 'monitor:listen for all requests received by the server in real time' + 'move:move a key to another database' + 'mset:set multiple keys to muliple values' + 'msetnx:set multiple keys tom ultiple values, only if none of the keys exist' + 'multi:mark the start of a transaction block' + 'object:inspect the internals of Redis objects' + 'persist:remove the expiration from a key' + 'ping:ping the server' + 'psubscribe:listen for messages published to channels matching the given patterns' + 'publish:post a message to a channel' + 'punsubscribe:stop listening for messages posted to channels matching the given patterns' + 'quit:close the connection' + 'randomkey:return a random key from the keyspace' + 'rename:rename a key' + 'renamenx:rename a key, only if the new key does not exist' + 'rpop:remove and get the last element in a list' + 'rpoplpush:remove the last element in a list, append it to another list and return it' + 'rpush:append a value to a list' + 'rpushx:append a value to a list, only if the list exists' + 'sadd:add a member to a set' + 'save:synchronously save the dataset to disk' + 'scard:get the number of members in a set' + 'sdiff:subtract multiple sets' + 'sdiffstore:subtract multiple sets and store the resulting set in a key' + 'select:change the selected database for the current connection' + 'set:set the string value of a key' + 'setbit:sets or clears the bit at offset in the string value stored at key' + 'setex:set the value and expiration of a key' + 'setnx:set the value of a key, only if the key does not exist' + 'setrange:overwrite part of a string at key starting at the specified offset' + 'shutdown:synchronously save the dataset to disk and then shut down the server' + 'sinter:intersect multiple sets' + 'sinterstore:intersect multiple sets and store the resulting set in a key' + 'sismember:determine if a given value is a member of a set' + 'slaveof:make the server a slave of another instance, or promote it as master' + 'smembers:get all the members in a set' + 'smove:move a member from one set to another' + 'sort:sort the elements in a list, set or sorted set' + 'spop:remove and return a random member from a set' + 'srandmember:get a random member from a set' + 'srem:remove a member from a set' + 'strlen:get the length of the value stored in a key' + 'subscribe:listen for messages published to the given channels' + 'sunion:add multiple sets' + 'sunionstore:add multiple sets and store the resulting set in a key' + 'ttl:get the time to live for a key' + 'type:determine the type stored at key' + 'unsubscribe:stop listening for messages posted to the given channels' + 'unwatch:forget about all watched keys' + 'watch:watch the given keys to determine execution of the MULTI/EXEC block' + 'zadd:add a member to a sorted set, or update its score if it already exists' + 'zcard:get the number of members in a sorted set' + 'zcount:count the members in a sorted set with scores within the given values' + 'zincrby:increment the score of a member in a sorted set' + 'zinterstore:intersect multiple sorted sets and store the resulting sorted set in a new key' + 'zrange:return a range of members in a sorted set, by index' + 'zrangebyscore:return a range of members in a sorted set, by score' + 'zrank:determine the index of a member in a sorted set' + 'zrem:remove a member from a sorted set' + 'zremrangebyrank:remove all members in a sorted set within the given indexes' + 'zremrangebyscore:remove all members in a sorted set within the given scores' + 'zrevrange:return a range of membrs in a sorted set, by index, with scores ordered from high to low' + 'zrevrangebyscore:return a range of members in a sorted set, by score, with scores ordered from high to low' + 'zrevrank:determine the index of a member in a sorted set, with scores ordered from high to low' + 'zscore:get the score associated with the given member in a sorted set' + 'zunionstore:add multiple sorted sets and store te resulting sorted set in a new key' +) + +local expl + +_arguments \ + '(-v --version)'{-v,--version}'[show version]' \ + '(-h --help)'{-h,--help}'[show help]' \ + '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "redis-cli subcommand" _1st_arguments + return +fi \ No newline at end of file diff --git a/plugins/redis-cli/redis-cli.plugin.zsh b/plugins/redis-cli/redis-cli.plugin.zsh new file mode 100644 index 0000000..af5a843 --- /dev/null +++ b/plugins/redis-cli/redis-cli.plugin.zsh @@ -0,0 +1,4 @@ +# add redis completion function to path +fpath=($ZSH/plugins/redis-cli $fpath) +autoload -U compinit +compinit -i From 5bcfab37312511a7ffc3e8242ba8b8a622ecf061 Mon Sep 17 00:00:00 2001 From: Jonathan Tron Date: Sat, 16 Apr 2011 14:44:38 +0200 Subject: [PATCH 394/518] Add new jonathan theme --- themes/jonathan.zsh-theme | 137 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 themes/jonathan.zsh-theme diff --git a/themes/jonathan.zsh-theme b/themes/jonathan.zsh-theme new file mode 100644 index 0000000..add4852 --- /dev/null +++ b/themes/jonathan.zsh-theme @@ -0,0 +1,137 @@ +function precmd { + local TERMWIDTH + (( TERMWIDTH = ${COLUMNS} - 1 )) + + + ### + # Truncate the path if it's too long. + + PR_FILLBAR="" + PR_PWDLEN="" + + local promptsize=${#${(%):---(%n@%m:%l)---()--}} + local rubyprompt=`rvm_prompt_info` + local rubypromptsize=${#${rubyprompt}} + local pwdsize=${#${(%):-%~}} + + if [[ "$promptsize + $rubypromptsize + $pwdsize" -gt $TERMWIDTH ]]; then + ((PR_PWDLEN=$TERMWIDTH - $promptsize)) + else + PR_FILLBAR="\${(l.(($TERMWIDTH - ($promptsize + $rubypromptsize + $pwdsize)))..${PR_HBAR}.)}" + fi + +} + + +setopt extended_glob +preexec () { + if [[ "$TERM" == "screen" ]]; then + local CMD=${1[(wr)^(*=*|sudo|-*)]} + echo -n "\ek$CMD\e\\" + fi +} + + +setprompt () { + ### + # Need this so the prompt will work. + + setopt prompt_subst + + + ### + # See if we can use colors. + + autoload colors zsh/terminfo + if [[ "$terminfo[colors]" -ge 8 ]]; then + colors + fi + for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE GREY; do + eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}' + eval PR_LIGHT_$color='%{$fg[${(L)color}]%}' + (( count = $count + 1 )) + done + PR_NO_COLOUR="%{$terminfo[sgr0]%}" + + ### + # Modify Git prompt + ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[green]%}" + ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" + ZSH_THEME_GIT_PROMPT_DIRTY="" + ZSH_THEME_GIT_PROMPT_CLEAN="" + + ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚" + ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹" + ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖" + ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜" + ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═" + ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭" + + ### + # See if we can use extended characters to look nicer. + + typeset -A altchar + set -A altchar ${(s..)terminfo[acsc]} + PR_SET_CHARSET="%{$terminfo[enacs]%}" + PR_SHIFT_IN="%{$terminfo[smacs]%}" + PR_SHIFT_OUT="%{$terminfo[rmacs]%}" + PR_HBAR=${altchar[q]:--} + PR_ULCORNER=${altchar[l]:--} + PR_LLCORNER=${altchar[m]:--} + PR_LRCORNER=${altchar[j]:--} + PR_URCORNER=${altchar[k]:--} + + + ### + # Decide if we need to set titlebar text. + + case $TERM in + xterm*) + PR_TITLEBAR=$'%{\e]0;%(!.-=*[ROOT]*=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\a%}' + ;; + screen) + PR_TITLEBAR=$'%{\e_screen \005 (\005t) | %(!.-=[ROOT]=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\e\\%}' + ;; + *) + PR_TITLEBAR='' + ;; + esac + + + ### + # Decide whether to set a screen title + if [[ "$TERM" == "screen" ]]; then + PR_STITLE=$'%{\ekzsh\e\\%}' + else + PR_STITLE='' + fi + + + ### + # Finally, the prompt. + + PROMPT='$PR_SET_CHARSET$PR_STITLE${(e)PR_TITLEBAR}\ +$PR_CYAN$PR_SHIFT_IN$PR_ULCORNER$PR_HBAR$PR_SHIFT_OUT$PR_GREY(\ +$PR_GREEN%$PR_PWDLEN<...<%~%<<\ +$PR_GREY)`rvm_prompt_info`$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_HBAR${(e)PR_FILLBAR}$PR_HBAR$PR_SHIFT_OUT$PR_GREY(\ +$PR_CYAN%(!.%SROOT%s.%n)$PR_GREY@$PR_GREEN%m:%l\ +$PR_GREY)$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_URCORNER$PR_SHIFT_OUT\ + +$PR_CYAN$PR_SHIFT_IN$PR_LLCORNER$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\ +$PR_YELLOW%D{%H:%M:%S}\ +$PR_LIGHT_BLUE%{$reset_color%}`git_prompt_info``git_prompt_status`$PR_BLUE)$PR_CYAN$PR_SHIFT_IN$PR_HBAR\ +$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\ +>$PR_NO_COLOUR ' + + # display exitcode on the right when >0 + return_code="%(?..%{$fg[red]%}%? ↵ %{$reset_color%})" + RPROMPT=' $return_code$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_BLUE$PR_HBAR$PR_SHIFT_OUT\ +($PR_YELLOW%D{%a,%b%d}$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_LRCORNER$PR_SHIFT_OUT$PR_NO_COLOUR' + + PS2='$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\ +$PR_BLUE$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT(\ +$PR_LIGHT_GREEN%_$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\ +$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT$PR_NO_COLOUR ' +} + +setprompt From 1e2152fcf3103c3acbae49caa0f6184b55c7bb17 Mon Sep 17 00:00:00 2001 From: Arthur Kalmenson Date: Mon, 18 Apr 2011 07:48:35 -0400 Subject: [PATCH 395/518] Make the chsh more reliable. --- tools/install.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/install.sh b/tools/install.sh index 6e3872b..2d5fde4 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -22,7 +22,12 @@ echo "Copying your current PATH and adding it to the end of ~/.zshrc for you." echo "export PATH=$PATH" >> ~/.zshrc echo "Time to change your default shell to zsh!" -chsh -s "/usr/bin/env zsh" +if [ -f /bin/zsh ] +then + chsh -s /bin/zsh +else + chsh -s "/usr/bin/env zsh" +fi echo ' __ __ ' echo ' ____ / /_ ____ ___ __ __ ____ _____/ /_ ' From 5f415c465a576a78d7e1577e472309fdd4c7621f Mon Sep 17 00:00:00 2001 From: Arthur Kalmenson Date: Mon, 18 Apr 2011 07:50:14 -0400 Subject: [PATCH 396/518] Change URL to https since most corporate environments block git port. --- tools/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/install.sh b/tools/install.sh index 2d5fde4..1b8c80f 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -5,7 +5,7 @@ then fi echo "Cloning Oh My Zsh..." -/usr/bin/env git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh +/usr/bin/env git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh echo "Looking for an existing zsh config..." if [ -f ~/.zshrc ] || [ -h ~/.zshrc ] From 1354eb124893df9c8f60f668550efcafb94eb05f Mon Sep 17 00:00:00 2001 From: Arthur Kalmenson Date: Mon, 18 Apr 2011 22:51:28 -0400 Subject: [PATCH 397/518] Changed to use which. --- tools/install.sh | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/tools/install.sh b/tools/install.sh index 1b8c80f..8ed1403 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -22,12 +22,7 @@ echo "Copying your current PATH and adding it to the end of ~/.zshrc for you." echo "export PATH=$PATH" >> ~/.zshrc echo "Time to change your default shell to zsh!" -if [ -f /bin/zsh ] -then - chsh -s /bin/zsh -else - chsh -s "/usr/bin/env zsh" -fi +chsh -s `which zsh` echo ' __ __ ' echo ' ____ / /_ ____ ___ __ __ ____ _____/ /_ ' From c7c959de60add8371e08926d642b2bbb7406ce84 Mon Sep 17 00:00:00 2001 From: Arthur Kalmenson Date: Tue, 19 Apr 2011 19:01:18 -0400 Subject: [PATCH 398/518] Make the delete key work correctly, instead of outputting a ~ --- lib/key-bindings.zsh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh index 7196a88..e12d801 100644 --- a/lib/key-bindings.zsh +++ b/lib/key-bindings.zsh @@ -22,6 +22,10 @@ bindkey ' ' magic-space # also do history expansion on space bindkey '^[[Z' reverse-menu-complete +# Make the delete key (or Fn + Delete on the Mac) work instead of outputting a ~ +bindkey "^[[3~" delete-char +bindkey "^[3;5~" delete-char + # consider emacs keybindings: #bindkey -e ## emacs key bindings From 7d9628b2dcccb5627c59380de331e3c906c8164d Mon Sep 17 00:00:00 2001 From: Arthur Kalmenson Date: Tue, 19 Apr 2011 22:40:46 -0400 Subject: [PATCH 399/518] Added bindings for Gnome terminal. --- lib/key-bindings.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh index e12d801..a7d5095 100644 --- a/lib/key-bindings.zsh +++ b/lib/key-bindings.zsh @@ -25,6 +25,7 @@ bindkey '^[[Z' reverse-menu-complete # Make the delete key (or Fn + Delete on the Mac) work instead of outputting a ~ bindkey "^[[3~" delete-char bindkey "^[3;5~" delete-char +bindkey "\e[3~" delete-char # consider emacs keybindings: From 886af72125a108c2f928474c7f817dd2c164795e Mon Sep 17 00:00:00 2001 From: Pat Regan Date: Wed, 20 Apr 2011 01:30:52 -0400 Subject: [PATCH 400/518] Remove fpath/compinit code from github and npm plugins --- plugins/github/github.plugin.zsh | 4 ---- plugins/npm/npm.plugin.zsh | 4 ---- 2 files changed, 8 deletions(-) delete mode 100644 plugins/npm/npm.plugin.zsh diff --git a/plugins/github/github.plugin.zsh b/plugins/github/github.plugin.zsh index 8d45806..df7053b 100644 --- a/plugins/github/github.plugin.zsh +++ b/plugins/github/github.plugin.zsh @@ -5,7 +5,3 @@ if [ "$commands[(I)hub]" ]; then function git(){hub "$@"} fi -# add github completion function to path -fpath=($ZSH/plugins/github $fpath) -autoload -U compinit -compinit -i diff --git a/plugins/npm/npm.plugin.zsh b/plugins/npm/npm.plugin.zsh deleted file mode 100644 index 826f0f7..0000000 --- a/plugins/npm/npm.plugin.zsh +++ /dev/null @@ -1,4 +0,0 @@ -# add npm completion function to path -fpath=($ZSH/plugins/npm $fpath) -autoload -U compinit -compinit -i From 96ec1e12498fb2c3200fef941ad6eadece723a0d Mon Sep 17 00:00:00 2001 From: Alexander Rinass Date: Wed, 20 Apr 2011 15:50:55 +0200 Subject: [PATCH 401/518] Fixed folder naming for mysql-macports plugin and improved start/stop scripts. --- plugins/mysql-macports/mysql-macports.plugin.zsh | 8 ++++++++ plugins/mysql/mysql-macports.plugin.zsh | 6 ------ 2 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 plugins/mysql-macports/mysql-macports.plugin.zsh delete mode 100644 plugins/mysql/mysql-macports.plugin.zsh diff --git a/plugins/mysql-macports/mysql-macports.plugin.zsh b/plugins/mysql-macports/mysql-macports.plugin.zsh new file mode 100644 index 0000000..c39563f --- /dev/null +++ b/plugins/mysql-macports/mysql-macports.plugin.zsh @@ -0,0 +1,8 @@ +# commands to control local mysql-server installation +# paths are for osx installation via macports + +alias mysqlstart='sudo /opt/local/share/mysql5/mysql/mysql.server start' +alias mysqlstop='sudo /opt/local/share/mysql5/mysql/mysql.server stop' +alias mysqlrestart='sudo /opt/local/share/mysql5/mysql/mysql.server restart' + +alias mysqlstatus='mysqladmin5 -u root -p ping' diff --git a/plugins/mysql/mysql-macports.plugin.zsh b/plugins/mysql/mysql-macports.plugin.zsh deleted file mode 100644 index 63b881c..0000000 --- a/plugins/mysql/mysql-macports.plugin.zsh +++ /dev/null @@ -1,6 +0,0 @@ -# commands to control local mysql-server installation -# paths are for osx installtion via macports - -alias mysqlstart='sudo /opt/local/bin/mysqld_safe5' -alias mysqlstop='/opt/local/bin/mysqladmin5 -u root -p shutdown' -alias mysqlstatus='mysqladmin5 -u root -p ping' \ No newline at end of file From 34f1944016a7671fe47aca99f18f25d19f6ff5dc Mon Sep 17 00:00:00 2001 From: Alexander Rinass Date: Wed, 20 Apr 2011 15:54:51 +0200 Subject: [PATCH 402/518] Added start/stop aliases for Apache 2 installation via macports. --- plugins/apache2-macports/apache2-macports.plugin.zsh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 plugins/apache2-macports/apache2-macports.plugin.zsh diff --git a/plugins/apache2-macports/apache2-macports.plugin.zsh b/plugins/apache2-macports/apache2-macports.plugin.zsh new file mode 100644 index 0000000..1caa4cf --- /dev/null +++ b/plugins/apache2-macports/apache2-macports.plugin.zsh @@ -0,0 +1,6 @@ +# commands to control local apache2 server installation +# paths are for osx installation via macports + +alias apache2start='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper start' +alias apache2stop='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper stop' +alias apache2restart='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper restart' From eb3d1576bf593c900d0e0fd9465ca3a076779fe0 Mon Sep 17 00:00:00 2001 From: Christopher Chow Date: Thu, 21 Apr 2011 21:40:34 +1000 Subject: [PATCH 403/518] Made my them display the current rvm gemset and check for detached head state in git. --- themes/Soliah.zsh-theme | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/themes/Soliah.zsh-theme b/themes/Soliah.zsh-theme index 1c0ab3c..237e70f 100644 --- a/themes/Soliah.zsh-theme +++ b/themes/Soliah.zsh-theme @@ -1,4 +1,4 @@ -PROMPT='%{$fg[blue]%}%n%{$reset_color%} on %{$fg[red]%}%M%{$reset_color%} in %{$fg[blue]%}%~%b%{$reset_color%}$(git_time_since_commit)$(git_prompt_info) +PROMPT='%{$fg[blue]%}%n%{$reset_color%} on %{$fg[red]%}%M%{$reset_color%} in %{$fg[blue]%}%~%b%{$reset_color%}$(git_time_since_commit)$(check_git_prompt_info) $ ' ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[white]%}" @@ -16,6 +16,29 @@ ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM="%{$fg[yellow]%}" ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG="%{$fg[red]%}" ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL="%{$fg[cyan]%}" + +# Git sometimes goes into a detached head state. git_prompt_info doesn't +# return anything in this case. So wrap it in another function and check +# for an empty string. +function check_git_prompt_info() { + if git rev-parse --git-dir > /dev/null 2>&1; then + if [[ -z $(git_prompt_info) ]]; then + echo "%{$fg[magenta]%}detached-head%{$reset_color%})" + else + echo "$(git_prompt_info)" + fi + fi +} + +# Determine if we are using a gemset. +function rvm_gemset() { + GEMSET=`rvm gemset list | grep '=>' | cut -b4-` + if [[ -n $GEMSET ]]; then + echo "%{$fg[yellow]%}$GEMSET%{$reset_color%}|" + fi + +} + # Determine the time since last commit. If branch is clean, # use a neutral color, otherwise colors will vary according to time. function git_time_since_commit() { @@ -49,15 +72,15 @@ function git_time_since_commit() { fi if [ "$HOURS" -gt 24 ]; then - echo "($COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|" + echo "($(rvm_gemset)$COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|" elif [ "$MINUTES" -gt 60 ]; then - echo "($COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|" + echo "($(rvm_gemset)$COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|" else - echo "($COLOR${MINUTES}m%{$reset_color%}|" + echo "($(rvm_gemset)$COLOR${MINUTES}m%{$reset_color%}|" fi else COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" - echo "($COLOR~|" + echo "($(rvm_gemset)$COLOR~|" fi fi } From 6f53b3130d5aee8461b0be30e5589e5673929318 Mon Sep 17 00:00:00 2001 From: Ilmari Vacklin Date: Fri, 22 Apr 2011 00:16:29 +0300 Subject: [PATCH 404/518] Add 'upgrade' to brew completions. --- plugins/brew/_brew | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/brew/_brew b/plugins/brew/_brew index 4e590ac..cee1e25 100644 --- a/plugins/brew/_brew +++ b/plugins/brew/_brew @@ -31,6 +31,7 @@ _1st_arguments=( 'search:search for a formula (/regex/ or string)' 'unlink:unlink a formula' 'update:freshen up links' + 'upgrade:upgrade outdated formulae' 'uses:show formulas which depend on a formula' ) From 5a957c4d2ecc12e90304d13b3ae724843f0fcb7b Mon Sep 17 00:00:00 2001 From: Corey Donohoe Date: Thu, 21 Apr 2011 15:53:44 -0700 Subject: [PATCH 405/518] support non-standard rvm install prefixes --- themes/bira.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/bira.zsh-theme b/themes/bira.zsh-theme index f0ee6a5..5642eae 100644 --- a/themes/bira.zsh-theme +++ b/themes/bira.zsh-theme @@ -3,7 +3,7 @@ local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" local user_host='%{$terminfo[bold]$fg[green]%}%n@%m%{$reset_color%}' local current_dir='%{$terminfo[bold]$fg[blue]%} %~%{$reset_color%}' -local rvm_ruby='%{$fg[red]%}‹$(~/.rvm/bin/rvm-prompt i v g)›%{$reset_color%}' +local rvm_ruby='%{$fg[red]%}‹$(rvm-prompt i v g)›%{$reset_color%}' local git_branch='$(git_prompt_info)%{$reset_color%}' PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby} ${git_branch} From 07cee28e31753f8cf424e413aa5f9754720d367b Mon Sep 17 00:00:00 2001 From: Felipe Gallois Date: Sat, 23 Apr 2011 17:31:15 -0300 Subject: [PATCH 406/518] added custom theme, based on eastwood --- themes/gallois.zsh-theme | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 themes/gallois.zsh-theme diff --git a/themes/gallois.zsh-theme b/themes/gallois.zsh-theme new file mode 100644 index 0000000..259640b --- /dev/null +++ b/themes/gallois.zsh-theme @@ -0,0 +1,19 @@ +ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}%{$fg[green]%}[" +ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +#Customized git status, oh-my-zsh currently does not allow render dirty status before branch +git_custom_status() { + local cb=$(current_branch) + if [ -n "$cb" ]; then + echo "$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_PREFIX$(current_branch)$ZSH_THEME_GIT_PROMPT_SUFFIX" + fi +} + +#RVM and git settings +if [[ -s ~/.rvm/scripts/rvm ]] ; then + RPS1='$(git_custom_status)%{$fg[red]%}[`~/.rvm/bin/rvm-prompt`]%{$reset_color%} $EPS1' +fi + +PROMPT='%{$fg[cyan]%}[%~% ]%(?.%{$fg[green]%}.%{$fg[red]%})%B$%b ' From 1783b16d25029b72bdd1aa164f3e76fd29702e70 Mon Sep 17 00:00:00 2001 From: Florian Adamsky Date: Tue, 26 Apr 2011 23:22:42 +0200 Subject: [PATCH 407/518] added alias for apt-cache search --- plugins/deb/deb.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/deb/deb.plugin.zsh b/plugins/deb/deb.plugin.zsh index 732294a..1b35a06 100644 --- a/plugins/deb/deb.plugin.zsh +++ b/plugins/deb/deb.plugin.zsh @@ -9,4 +9,5 @@ alias ar="sudo apt-get remove --purge && \ sudo apt-get autoremove --purge" # remove package alias ap="apt-cache policy" # apt policy alias av="apt-cache show" # show package info +alias acs="apt-cache search" # search package alias ac="sudo apt-get clean && sudo apt-get autoclean" # clean apt cache From 57d699ee33e5d4673d8c6a2a9ba42bd25d7b737c Mon Sep 17 00:00:00 2001 From: Pat Regan Date: Wed, 27 Apr 2011 19:46:23 -0400 Subject: [PATCH 408/518] redis-cli.plugin.zsh removed, adding to the fpath isn't needed now --- plugins/redis-cli/redis-cli.plugin.zsh | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 plugins/redis-cli/redis-cli.plugin.zsh diff --git a/plugins/redis-cli/redis-cli.plugin.zsh b/plugins/redis-cli/redis-cli.plugin.zsh deleted file mode 100644 index af5a843..0000000 --- a/plugins/redis-cli/redis-cli.plugin.zsh +++ /dev/null @@ -1,4 +0,0 @@ -# add redis completion function to path -fpath=($ZSH/plugins/redis-cli $fpath) -autoload -U compinit -compinit -i From 14404eb7a00dcbafcaf81402844f0eb24243cbbb Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Thu, 28 Apr 2011 15:29:27 -0400 Subject: [PATCH 409/518] add my custom zsh prompt --- themes/jtriley.zsh-theme | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 themes/jtriley.zsh-theme diff --git a/themes/jtriley.zsh-theme b/themes/jtriley.zsh-theme new file mode 100644 index 0000000..ec62a22 --- /dev/null +++ b/themes/jtriley.zsh-theme @@ -0,0 +1,8 @@ +#PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' +PROMPT="%{$fg_bold[cyan]%}%T%{$fg_bold[green]%} %{$fg_bold[white]%}%n%{$fg[magenta]%}@%{$fg_bold[white]%}%m %{$fg_bold[green]%}%d +%{$fg_bold[yellow]%}%% $(git_prompt_info)%{$reset_color%}" + +#ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" +#ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +#ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}" +#ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" From 58a7cf19b7af136c5f59ee706ffe4772871f00fa Mon Sep 17 00:00:00 2001 From: Pat Regan Date: Thu, 28 Apr 2011 19:12:05 -0400 Subject: [PATCH 410/518] Move sourcing of custom to below plugins --- oh-my-zsh.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index c7a4c32..bf108af 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -15,9 +15,6 @@ for plugin ($plugins) fpath=($ZSH/plugins/$plugin $fpath) autoload -U compinit compinit -i -# Load all of your custom configurations from custom/ -for config_file ($ZSH/custom/*.zsh) source $config_file - # Load all of the plugins that were defined in ~/.zshrc for plugin ($plugins); do if [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then @@ -25,6 +22,9 @@ for plugin ($plugins); do fi done +# Load all of your custom configurations from custom/ +for config_file ($ZSH/custom/*.zsh) source $config_file + # Load the theme source "$ZSH/themes/$ZSH_THEME.zsh-theme" From 077baa7bb1aba75d3005b7c6e5df4f53e0ea15d1 Mon Sep 17 00:00:00 2001 From: "Juan G. Hurtado" Date: Fri, 29 Apr 2011 09:22:56 +0200 Subject: [PATCH 411/518] Adds new prompt methods on Git lib Modifies the Git lib file (lib/git.zsh), adding three new prompt methods: - git_prompt_ahead(): Shows the content of the custom var $ZSH_THEME_GIT_PROMPT_AHEAD if the local repository has commits ahead from the remote origin repository - git_prompt_short_sha(): Shows last commit SHA hash in short mode wrapped between the content of the custom vars $ZSH_THEME_GIT_PROMPT_SHA_BEFORE and $ZSH_THEME_GIT_PROMPT_SHA_AFTER - git_prompt_long_sha(): Shows last commit SHA hash in long mode wrapped between the content of the custom vars $ZSH_THEME_GIT_PROMPT_SHA_BEFORE and $ZSH_THEME_GIT_PROMPT_SHA_AFTER --- lib/git.zsh | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/lib/git.zsh b/lib/git.zsh index 8512de8..e96f075 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -4,7 +4,8 @@ function git_prompt_info() { echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX" } -parse_git_dirty () { +# Checks if working tree is dirty +parse_git_dirty() { if [[ -n $(git status -s 2> /dev/null) ]]; then echo "$ZSH_THEME_GIT_PROMPT_DIRTY" else @@ -12,7 +13,24 @@ parse_git_dirty () { fi } -# get the status of the working tree +# Checks if there are commits ahead from remote +function git_prompt_ahead() { + if $(echo "$(git log origin/master..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then + echo "$ZSH_THEME_GIT_PROMPT_AHEAD" + fi +} + +# Formats prompt string for current git commit short SHA +function git_prompt_short_sha() { + SHA=$(git rev-parse --short HEAD 2> /dev/null) && echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER" +} + +# Formats prompt string for current git commit long SHA +function git_prompt_long_sha() { + SHA=$(git rev-parse HEAD 2> /dev/null) && echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER" +} + +# Get the status of the working tree git_prompt_status() { INDEX=$(git status --porcelain 2> /dev/null) STATUS="" @@ -41,4 +59,4 @@ git_prompt_status() { STATUS="$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS" fi echo $STATUS -} +} \ No newline at end of file From 6f7d51c68d4de102f295d3b543ccb5c61dea2c3c Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Fri, 29 Apr 2011 11:24:29 +0200 Subject: [PATCH 412/518] Feature: Random themes now supported. Just set your theme to 'random' and it'll load a different theme each time oh-my-zsh is started. Closes #309 --- oh-my-zsh.sh | 14 +++++++++++++- templates/zshrc.zsh-template | 4 +++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 291772d..1e735b0 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -15,7 +15,19 @@ plugin=${plugin:=()} for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh # Load the theme -source "$ZSH/themes/$ZSH_THEME.zsh-theme" +# Check for updates on initial load... +if [ "$ZSH_THEME" = "random" ] +then + themes=($ZSH/themes/*zsh-theme) + N=${#themes[@]} + ((N=RANDOM%N)) + RANDOM_THEME=${themes[$N]} + source "$RANDOM_THEME" + echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..." +else + source "$ZSH/themes/$ZSH_THEME.zsh-theme" +fi + # Check for updates on initial load... if [ "$DISABLE_AUTO_UPDATE" = "true" ] diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template index 506daa9..576d45e 100644 --- a/templates/zshrc.zsh-template +++ b/templates/zshrc.zsh-template @@ -1,8 +1,10 @@ # Path to your oh-my-zsh configuration. export ZSH=$HOME/.oh-my-zsh -# Set to the name theme to load. +# Set name of the theme to load. # Look in ~/.oh-my-zsh/themes/ +# Optionally, if you set this to "random", it'll load a random theme each +# time that oh-my-zsh is loaded. export ZSH_THEME="robbyrussell" # Set to this to use case-sensitive completion From 7377ba3f7a08bb11114ddae1b421599e4073da96 Mon Sep 17 00:00:00 2001 From: Kevin Daudt Date: Fri, 29 Apr 2011 11:54:31 +0200 Subject: [PATCH 413/518] Added git-flow plugin --- .gitignore | 3 +- plugins/git-flow/git-flow.plugin.zsh | 332 +++++++++++++++++++++++++++ 2 files changed, 334 insertions(+), 1 deletion(-) create mode 100644 plugins/git-flow/git-flow.plugin.zsh diff --git a/.gitignore b/.gitignore index 8d19d10..4b55506 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.zsh +cache diff --git a/plugins/git-flow/git-flow.plugin.zsh b/plugins/git-flow/git-flow.plugin.zsh new file mode 100644 index 0000000..270bcbe --- /dev/null +++ b/plugins/git-flow/git-flow.plugin.zsh @@ -0,0 +1,332 @@ +#!zsh +# +# Installation +# ------------ +# +# To achieve git-flow completion nirvana: +# +# 0. Update your zsh's git-completion module to the newest verion. +# From here. http://zsh.git.sourceforge.net/git/gitweb.cgi?p=zsh/zsh;a=blob_plain;f=Completion/Unix/Command/_git;hb=HEAD +# +# 1. Install this file. Either: +# +# a. Place it in your .zshrc: +# +# b. Or, copy it somewhere (e.g. ~/.git-flow-completion.zsh) and put the following line in +# your .zshrc: +# +# source ~/.git-flow-completion.zsh +# +# c. Or, use this file as a oh-my-zsh plugin. +# + +_git-flow () +{ + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + + local -a subcommands + subcommands=( + 'init:Initialize a new git repo with support for the branching model.' + 'feature:Manage your feature branches.' + 'release:Manage your release branches.' + 'hotfix:Manage your hotfix branches.' + 'support:Manage your support branches.' + 'version:Shows version information.' + ) + _describe -t commands 'git flow' subcommands + ;; + + (options) + case $line[1] in + + (init) + _arguments \ + -f'[Force setting of gitflow branches, even if already configured]' + ;; + + (version) + ;; + + (hotfix) + __git-flow-hotfix + ;; + + (release) + __git-flow-release + ;; + + (feature) + __git-flow-feature + ;; + esac + ;; + esac +} + +__git-flow-release () +{ + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + + local -a subcommands + subcommands=( + 'start:Start a new release branch.' + 'finish:Finish a release branch.' + 'list:List all your release branches. (Alias to `git flow release`)' + ) + _describe -t commands 'git flow release' subcommands + _arguments \ + -v'[Verbose (more) output]' + ;; + + (options) + case $line[1] in + + (start) + _arguments \ + -F'[Fetch from origin before performing finish]'\ + ':version:__git_flow_version_list' + ;; + + (finish) + _arguments \ + -F'[Fetch from origin before performing finish]' \ + -s'[Sign the release tag cryptographically]'\ + -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]'\ + ':version:__git_flow_version_list' + ;; + + *) + _arguments \ + -v'[Verbose (more) output]' + ;; + esac + ;; + esac +} + +__git-flow-hotfix () +{ + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + + local -a subcommands + subcommands=( + 'start:Start a new hotfix branch.' + 'finish:Finish a hotfix branch.' + 'list:List all your hotfix branches. (Alias to `git flow hotfix`)' + ) + _describe -t commands 'git flow hotfix' subcommands + _arguments \ + -v'[Verbose (more) output]' + ;; + + (options) + case $line[1] in + + (start) + _arguments \ + -F'[Fetch from origin before performing finish]'\ + ':hotfix:__git_flow_version_list'\ + ':branch-name:__git_branch_names' + ;; + + (finish) + _arguments \ + -F'[Fetch from origin before performing finish]' \ + -s'[Sign the release tag cryptographically]'\ + -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]'\ + ':hotfix:__git_flow_hotfix_list' + ;; + + *) + _arguments \ + -v'[Verbose (more) output]' + ;; + esac + ;; + esac +} + +__git-flow-feature () +{ + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + + local -a subcommands + subcommands=( + 'start:Start a new feature branch.' + 'finish:Finish a feature branch.' + 'list:List all your feature branches. (Alias to `git flow feature`)' + 'publish: public' + 'track: track' + 'diff: diff' + 'rebase: rebase' + 'checkout: checkout' + 'pull: pull' + ) + _describe -t commands 'git flow feature' subcommands + _arguments \ + -v'[Verbose (more) output]' + ;; + + (options) + case $line[1] in + + (start) + _arguments \ + -F'[Fetch from origin before performing finish]'\ + ':feature:__git_flow_feature_list'\ + ':branch-name:__git_branch_names' + ;; + + (finish) + _arguments \ + -F'[Fetch from origin before performing finish]' \ + -r'[Rebase instead of merge]'\ + ':feature:__git_flow_feature_list' + ;; + + (publish) + _arguments \ + ':feature:__git_flow_feature_list'\ + ;; + + (track) + _arguments \ + ':feature:__git_flow_feature_list'\ + ;; + + (diff) + _arguments \ + ':branch:__git_branch_names'\ + ;; + + (rebase) + _arguments \ + -i'[Do an interactive rebase]' \ + ':branch:__git_branch_names' + ;; + + (checkout) + _arguments \ + ':branch:__git_flow_feature_list'\ + ;; + + (pull) + _arguments \ + ':remote:__git_remotes'\ + ':branch:__git_branch_names' + ;; + + *) + _arguments \ + -v'[Verbose (more) output]' + ;; + esac + ;; + esac +} + +__git_flow_version_list () +{ + local expl + declare -a versions + + versions=(${${(f)"$(_call_program versions git flow release list 2> /dev/null | tr -d ' |*')"}}) + __git_command_successful || return + + _wanted versions expl 'version' compadd $versions +} + +__git_flow_feature_list () +{ + local expl + declare -a features + + features=(${${(f)"$(_call_program features git flow feature list 2> /dev/null | tr -d ' |*')"}}) + __git_command_successful || return + + _wanted features expl 'feature' compadd $features +} + +__git_remotes () { + local expl gitdir remotes + + gitdir=$(_call_program gitdir git rev-parse --git-dir 2>/dev/null) + __git_command_successful || return + + remotes=(${${(f)"$(_call_program remotes git config --get-regexp '"^remote\..*\.url$"')"}//#(#b)remote.(*).url */$match[1]}) + __git_command_successful || return + + # TODO: Should combine the two instead of either or. + if (( $#remotes > 0 )); then + _wanted remotes expl remote compadd $* - $remotes + else + _wanted remotes expl remote _files $* - -W "($gitdir/remotes)" -g "$gitdir/remotes/*" + fi +} + +__git_flow_hotfix_list () +{ + local expl + declare -a hotfixes + + hotfixes=(${${(f)"$(_call_program hotfixes git flow hotfix list 2> /dev/null | tr -d ' |*')"}}) + __git_command_successful || return + + _wanted hotfixes expl 'hotfix' compadd $hotfixes +} + +__git_branch_names () { + local expl + declare -a branch_names + + branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads 2>/dev/null)"}#refs/heads/}) + __git_command_successful || return + + _wanted branch-names expl branch-name compadd $* - $branch_names +} + +__git_command_successful () { + if (( ${#pipestatus:#0} > 0 )); then + _message 'not a git repository' + return 1 + fi + return 0 +} + +zstyle ':completion:*:*:git:*' user-commands flow:'description for foo' \ No newline at end of file From 86fa4385c51d6778b1358d6f7134c1243feace87 Mon Sep 17 00:00:00 2001 From: Hakan Ensari Date: Fri, 29 Apr 2011 10:59:59 +0100 Subject: [PATCH 414/518] Rails 3 aliases now work with Rails 2 as well. --- plugins/rails3/rails3.plugin.zsh | 34 +++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/plugins/rails3/rails3.plugin.zsh b/plugins/rails3/rails3.plugin.zsh index 6bf2ba0..f669ef0 100644 --- a/plugins/rails3/rails3.plugin.zsh +++ b/plugins/rails3/rails3.plugin.zsh @@ -1,10 +1,30 @@ -alias rs='ruby script/rails server' -alias rg='ruby script/rails generate' -alias rd='ruby script/rails destroy' -alias rp='ruby script/rails plugin' +# Rails 3 aliases, backwards-compatible with Rails 2. + +function _bundle_command { + if command -v bundle && [ -e "Gemfile" ]; then + bundle exec $@ + else + $@ + fi +} + +function _rails_command () { + if [ -e "script/server" ]; then + ruby script/$@ + else + ruby script/rails $@ + fi +} + +alias rc='_rails_command console' +alias rd='_rails_command destroy' +alias rdb='_rails_command dbconsole' alias rdbm='rake db:migrate db:test:clone' -alias rdbmr='rake db:migrate && rake db:migrate:redo' -alias rc='ruby script/rails console' -alias rd='ruby script/rails server --debugger' +alias rg='_rails_command generate' +alias rp='_rails_command plugin' +alias rs='_rails_command server' +alias rsd='_rails_command server --debugger' alias devlog='tail -f log/development.log' +alias rspec='_bundle_command rspec' +alias cuke='_bundle_command cucumber' From 208b225a2f12076099255c329abbb3569723b39b Mon Sep 17 00:00:00 2001 From: "Juan G. Hurtado" Date: Fri, 29 Apr 2011 13:11:38 +0200 Subject: [PATCH 415/518] Custom theme with Git support This is my personal oh-my-zsh theme. It has Git support through methods found in Git lib file of oh-my-zsh. It uses: - parse_git_dirty() - git_prompt_ahead() - current_branch() - git_prompt_short_sha() - git_prompt_status() It also shows user name, machine name and current path. You can take a look at a screenshot at http://goo.gl/ZVoyk --- themes/juanghurtado.zsh-theme | 46 +++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 themes/juanghurtado.zsh-theme diff --git a/themes/juanghurtado.zsh-theme b/themes/juanghurtado.zsh-theme new file mode 100644 index 0000000..2f715cc --- /dev/null +++ b/themes/juanghurtado.zsh-theme @@ -0,0 +1,46 @@ +# ------------------------------------------------------------------------ +# Juan G. Hurtado oh-my-zsh theme +# (Needs Git plugin for current_branch method) +# ------------------------------------------------------------------------ + +# Color shortcuts +RED=$fg[red] +YELLOW=$fg[yellow] +GREEN=$fg[green] +WHITE=$fg[white] +BLUE=$fg[blue] +RED_BOLD=$fg_bold[red] +YELLOW_BOLD=$fg_bold[yellow] +GREEN_BOLD=$fg_bold[green] +WHITE_BOLD=$fg_bold[white] +BLUE_BOLD=$fg_bold[blue] +RESET_COLOR=$reset_color + +# Format for git_prompt_info() +ZSH_THEME_GIT_PROMPT_PREFIX="" +ZSH_THEME_GIT_PROMPT_SUFFIX="" + +# Format for parse_git_dirty() +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$RED%}(*)" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +# Format for git_prompt_status() +ZSH_THEME_GIT_PROMPT_UNMERGED=" %{$RED%}unmerged" +ZSH_THEME_GIT_PROMPT_DELETED=" %{$RED%}deleted" +ZSH_THEME_GIT_PROMPT_RENAMED=" %{$YELLOW%}renamed" +ZSH_THEME_GIT_PROMPT_MODIFIED=" %{$YELLOW%}modified" +ZSH_THEME_GIT_PROMPT_ADDED=" %{$GREEN%}added" +ZSH_THEME_GIT_PROMPT_UNTRACKED=" %{$WHITE%}untracked" + +# Format for git_prompt_ahead() +ZSH_THEME_GIT_PROMPT_AHEAD=" %{$RED%}(!)" + +# Format for git_prompt_long_sha() and git_prompt_short_sha() +ZSH_THEME_GIT_PROMPT_SHA_BEFORE=" %{$WHITE%}[%{$YELLOW%}" +ZSH_THEME_GIT_PROMPT_SHA_AFTER="%{$WHITE%}]" + +# Prompt format +PROMPT=' +%{$GREEN_BOLD%}%n@%m%{$WHITE%}:%{$YELLOW%}%~%u$(parse_git_dirty)$(git_prompt_ahead)%{$RESET_COLOR%} +%{$BLUE%}>%{$RESET_COLOR%} ' +RPROMPT='%{$GREEN_BOLD%}$(current_branch)$(git_prompt_short_sha)$(git_prompt_status)%{$RESET_COLOR%}' \ No newline at end of file From 6d899e23917ea9278b06f60df6b5cc4fcd5b60c3 Mon Sep 17 00:00:00 2001 From: Matt Sacks Date: Fri, 29 Apr 2011 08:28:46 -0400 Subject: [PATCH 416/518] Add muse theme for 256 color terminals --- themes/muse.zsh-theme | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 themes/muse.zsh-theme diff --git a/themes/muse.zsh-theme b/themes/muse.zsh-theme new file mode 100644 index 0000000..4bd8fb8 --- /dev/null +++ b/themes/muse.zsh-theme @@ -0,0 +1,30 @@ +#!/usr/bin/env zsh +#local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +setopt promptsubst + +autoload -U add-zsh-hook + +PROMPT_SUCCESS_COLOR=$FG[117] +PROMPT_FAILURE_COLOR=$FG[124] +PROMPT_VCS_INFO_COLOR=$FG[242] +PROMPT_PROMPT=$FG[077] +GIT_DIRTY_COLOR=$FG[133] +GIT_CLEAN_COLOR=$FG[118] +GIT_PROMPT_INFO=$FG[012] + +PROMPT='%{$PROMPT_SUCCESS_COLOR%}%~%{$reset_color%} %{$GIT_PROMPT_INFO%}$(git_prompt_info)%{$GIT_DIRTY_COLOR%}$(git_prompt_status) %{$reset_color%}%{$PROMPT_PROMPT%}ᐅ%{$reset_color%} ' + +#RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="(" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$GIT_PROMPT_INFO%})" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$GIT_DIRTY_COLOR%}✘" +ZSH_THEME_GIT_PROMPT_CLEAN=" %{$GIT_CLEAN_COLOR%}✔" + +ZSH_THEME_GIT_PROMPT_ADDED="%{$FG[082]%}✚%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$FG[166]%}✹%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DELETED="%{$FG[160]%}✖%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$FG[220]%}➜%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$FG[082]%}═%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$FG[190]%}✭%{$reset_color%}" From 626fa5b1d83abb145452deaa610fc8f7a59293c1 Mon Sep 17 00:00:00 2001 From: nebirhos Date: Fri, 29 Apr 2011 17:12:40 +0200 Subject: [PATCH 417/518] fixed autoupdate --- tools/check_for_upgrade.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh index 4643739..e1e4eb9 100644 --- a/tools/check_for_upgrade.sh +++ b/tools/check_for_upgrade.sh @@ -25,10 +25,11 @@ then if [ "$line" = Y ] || [ "$line" = y ] then /bin/sh $ZSH/tools/upgrade.sh + # update the zsh file + _update_zsh_update fi fi +else + # create the zsh file + _update_zsh_update fi - -# update the zsh file -_update_zsh_update - From 5f103c750891b926aab9f24f896853ea2a0493d5 Mon Sep 17 00:00:00 2001 From: Luke Randall Date: Wed, 13 Oct 2010 16:54:12 +0200 Subject: [PATCH 418/518] Add fine-grained git prompt status to lukerandall.zsh-theme --- themes/lukerandall.zsh-theme | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/themes/lukerandall.zsh-theme b/themes/lukerandall.zsh-theme index 24a0612..f4045bd 100644 --- a/themes/lukerandall.zsh-theme +++ b/themes/lukerandall.zsh-theme @@ -3,8 +3,22 @@ local return_code="%(?..%{$fg_bold[red]%}%? ↵%{$reset_color%})" -PROMPT='%{$fg_bold[green]%}%n@%m%{$reset_color%} %{$fg_bold[blue]%}%2~%{$reset_color%} $(git_prompt_info)%{$reset_color%}%B»%b ' +function my_git_prompt_info() { + ref=$(git symbolic-ref HEAD 2> /dev/null) || return + GIT_STATUS=$(git_prompt_status) + [[ -n $GIT_STATUS ]] && GIT_STATUS=" $GIT_STATUS" + echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$GIT_STATUS$ZSH_THEME_GIT_PROMPT_SUFFIX" +} + +PROMPT='%{$fg_bold[green]%}%n@%m%{$reset_color%} %{$fg_bold[blue]%}%2~%{$reset_color%} $(my_git_prompt_info)%{$reset_color%}%B»%b ' RPS1="${return_code}" ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}(" ZSH_THEME_GIT_PROMPT_SUFFIX=") %{$reset_color%}" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%%" +ZSH_THEME_GIT_PROMPT_ADDED="+" +ZSH_THEME_GIT_PROMPT_MODIFIED="*" +ZSH_THEME_GIT_PROMPT_RENAMED="~" +ZSH_THEME_GIT_PROMPT_DELETED="!" +ZSH_THEME_GIT_PROMPT_UNMERGED="?" + From e3cede37a0ac1ef427fb07b6f79839b8c6a64780 Mon Sep 17 00:00:00 2001 From: "Renaud (Nel) Morvan" Date: Mon, 2 May 2011 13:51:16 +0200 Subject: [PATCH 419/518] Relax pattern matching on TERM. Closes #320. --- lib/termsupport.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh index 3152751..22e7f37 100644 --- a/lib/termsupport.zsh +++ b/lib/termsupport.zsh @@ -4,9 +4,9 @@ #Limited support for Apple Terminal (Terminal can't set window or tab separately) function title { [ "$DISABLE_AUTO_TITLE" != "true" ] || return - if [[ $TERM =~ "^screen" ]]; then + 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 + elif [[ "$TERM" == xterm* ]] || [[ $TERM == rxvt* ]] || [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then print -Pn "\e]2;$2:q\a" #set window name print -Pn "\e]1;$1:q\a" #set icon (=tab) name (will override window name on broken terminal) fi From e1210cdfaab6baba2eeb62599fea832ea446af85 Mon Sep 17 00:00:00 2001 From: Jonas Huckestein Date: Tue, 3 May 2011 14:07:35 -0700 Subject: [PATCH 420/518] added my theme --- themes/jispwoso.zsh-theme | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 themes/jispwoso.zsh-theme diff --git a/themes/jispwoso.zsh-theme b/themes/jispwoso.zsh-theme new file mode 100644 index 0000000..cdfef38 --- /dev/null +++ b/themes/jispwoso.zsh-theme @@ -0,0 +1,4 @@ +PROMPT=$'%{$fg[green]%}%n@%m: %{$reset_color%}%{$fg[blue]%}%/%{$reset_color%} +%{$fg_bold[red]%}➜ %{$reset_color%} ' + +PROMPT2="%{$fg_blod[black]%}%_> %{$reset_color%}" From bd1a78ae34cc3ce81a7b858f459ad0ad8da2cf62 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Thu, 5 May 2011 18:41:05 -0400 Subject: [PATCH 421/518] Added Compleat - Completion for Human Beings plugin. --- plugins/compleat/compleat.plugin.zsh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 plugins/compleat/compleat.plugin.zsh diff --git a/plugins/compleat/compleat.plugin.zsh b/plugins/compleat/compleat.plugin.zsh new file mode 100644 index 0000000..8d16a56 --- /dev/null +++ b/plugins/compleat/compleat.plugin.zsh @@ -0,0 +1,22 @@ +# ------------------------------------------------------------------------------ +# FILE: compleat.plugin.zsh +# DESCRIPTION: oh-my-zsh plugin file. +# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com) +# VERSION: 1.0.0 +# ------------------------------------------------------------------------------ + + +if (( ${+commands[compleat]} )); then + local prefix="${commands[compleat]:h:h}" + local setup="${prefix}/share/compleat-1.0/compleat_setup" + + if [[ -f "$setup" ]]; then + if ! bashcompinit >/dev/null 2>&1; then + autoload -U bashcompinit + bashcompinit -i + fi + + source "$setup" + fi +fi + From e129fc5a285ccc8ff3c6ae9770908a0b5c2836e7 Mon Sep 17 00:00:00 2001 From: "Juan G. Hurtado" Date: Mon, 9 May 2011 13:32:42 +0200 Subject: [PATCH 422/518] Adds support for $(current_branch) on git_parse_ahead() Changes method git_parse_ahead() on git.zsh lib file. Before this change it checked directly against origin/master branch. Now it uses $(current_branch) to check for not pushed changes against the current remote branch. --- lib/git.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/git.zsh b/lib/git.zsh index e96f075..2ace3d0 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -15,7 +15,7 @@ parse_git_dirty() { # Checks if there are commits ahead from remote function git_prompt_ahead() { - if $(echo "$(git log origin/master..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then + if $(echo "$(git log origin/$(current_branch)..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then echo "$ZSH_THEME_GIT_PROMPT_AHEAD" fi } From 5440815c8303e715f04da48fb85e5d05400afb7d Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Mon, 9 May 2011 10:19:10 -0400 Subject: [PATCH 423/518] remove git status from prompt --- themes/jtriley.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/jtriley.zsh-theme b/themes/jtriley.zsh-theme index ec62a22..15d77ed 100644 --- a/themes/jtriley.zsh-theme +++ b/themes/jtriley.zsh-theme @@ -1,6 +1,6 @@ #PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' PROMPT="%{$fg_bold[cyan]%}%T%{$fg_bold[green]%} %{$fg_bold[white]%}%n%{$fg[magenta]%}@%{$fg_bold[white]%}%m %{$fg_bold[green]%}%d -%{$fg_bold[yellow]%}%% $(git_prompt_info)%{$reset_color%}" +%{$fg_bold[yellow]%}%% %{$reset_color%}" #ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" #ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" From 31ef6199675be846e473c20681da339b6ea864cd Mon Sep 17 00:00:00 2001 From: Jacob Atzen Date: Thu, 19 May 2011 16:20:30 +0200 Subject: [PATCH 424/518] Add autojump plugin --- plugins/autojump/autojump.plugin.zsh | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 plugins/autojump/autojump.plugin.zsh diff --git a/plugins/autojump/autojump.plugin.zsh b/plugins/autojump/autojump.plugin.zsh new file mode 100644 index 0000000..da0a127 --- /dev/null +++ b/plugins/autojump/autojump.plugin.zsh @@ -0,0 +1,3 @@ +if [ -f `brew --prefix`/etc/autojump ]; then + . `brew --prefix`/etc/autojump +fi From bde77af40d28ed7a308a843d8bcad556d8115f84 Mon Sep 17 00:00:00 2001 From: Jacob Atzen Date: Thu, 19 May 2011 16:33:29 +0200 Subject: [PATCH 425/518] TextMate automatically forks into the background --- plugins/textmate/textmate.plugin.zsh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/textmate/textmate.plugin.zsh b/plugins/textmate/textmate.plugin.zsh index 7b73e27..7c4c14a 100644 --- a/plugins/textmate/textmate.plugin.zsh +++ b/plugins/textmate/textmate.plugin.zsh @@ -1,9 +1,9 @@ # TextMate -alias et='mate . &' -alias ett='mate app config lib db public spec test Rakefile Capfile Todo &' -alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' -alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' +alias et='mate .' +alias ett='mate app config lib db public spec test Rakefile Capfile Todo' +alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo' +alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo' # Editor Ruby file in TextMate alias mr='mate CHANGELOG app config db lib public script spec test' From 210c1ef86deed805b3c5b25833d4b128f758b610 Mon Sep 17 00:00:00 2001 From: Jan-Oliver Jahner Date: Fri, 20 May 2011 15:14:10 +0200 Subject: [PATCH 426/518] Added 'simple' theme. --- themes/simple.zsh-theme | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 themes/simple.zsh-theme diff --git a/themes/simple.zsh-theme b/themes/simple.zsh-theme new file mode 100644 index 0000000..a88d9d7 --- /dev/null +++ b/themes/simple.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{$fg[green]%}%~%{$fg_bold[blue]%}$(git_prompt_info)%{$reset_color%} ' + +ZSH_THEME_GIT_PROMPT_PREFIX="(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")" +ZSH_THEME_GIT_PROMPT_DIRTY=" ✗" +ZSH_THEME_GIT_PROMPT_CLEAN=" ✔" From 093f9077f5b358803a810d65fb0d4729477905cf Mon Sep 17 00:00:00 2001 From: Oliver Braun Date: Fri, 20 May 2011 22:26:45 +0200 Subject: [PATCH 427/518] Added obraun theme which is a slightly modified version of an already existing theme. --- themes/obraun.zsh-theme | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 themes/obraun.zsh-theme diff --git a/themes/obraun.zsh-theme b/themes/obraun.zsh-theme new file mode 100644 index 0000000..08d1376 --- /dev/null +++ b/themes/obraun.zsh-theme @@ -0,0 +1,11 @@ +if [ "$(whoami)" = "root" ]; then CARETCOLOR="red"; else CARETCOLOR="blue"; fi + +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +PROMPT='%{$fg[green]%}[%*]%{$reset_color%} %{$fg_no_bold[cyan]%}%n %{${fg_bold[blue]}%}::%{$reset_color%} %{$fg[yellow]%}%m%{$reset_color%} %{$fg_no_bold[magenta]%} ➜ %{$reset_color%} %{${fg[green]}%}%3~ $(git_prompt_info)%{${fg_bold[$CARETCOLOR]}%}»%{${reset_color}%} ' + +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[red]%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" + From 1aacb74caf6800fe895ab3a40584c08bfded451e Mon Sep 17 00:00:00 2001 From: Guten Date: Sun, 22 May 2011 21:27:30 +0800 Subject: [PATCH 428/518] add custom completion support --- 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 3ea88e9..a3d276d 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -1,7 +1,7 @@ # Initializes Oh My Zsh # add a function path -fpath=($ZSH/functions $fpath) +fpath=($ZSH/functions $ZSH/completions $fpath) # Load all of the config files in ~/oh-my-zsh that end in .zsh # TIP: Add files you don't want in git to .gitignore From 5c1b341132119f08047a506e2c2b06fa0c0db52e Mon Sep 17 00:00:00 2001 From: Casey Watson Date: Tue, 24 May 2011 12:15:58 -0600 Subject: [PATCH 429/518] Fix to random theme selection - themes array is 1-based - theme files names are located in indicies 1 through N inclusive - this resolves an issue where you would occasionally see: "no such file or directory. Random theme '' loaded..." --- 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 3ea88e9..2a20679 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -31,7 +31,7 @@ if [ "$ZSH_THEME" = "random" ] then themes=($ZSH/themes/*zsh-theme) N=${#themes[@]} - ((N=RANDOM%N)) + ((N=(RANDOM%N)+1)) RANDOM_THEME=${themes[$N]} source "$RANDOM_THEME" echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..." From f78218f625846afe2b6a487d18b0d7c65daa4edf Mon Sep 17 00:00:00 2001 From: Pete Clark Date: Tue, 24 May 2011 15:25:18 -0400 Subject: [PATCH 430/518] Adds compl .swp caches to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 4b55506..ecb8e46 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ projects.zsh custom/* !custom/example.zsh cache +*.swp From 5da609e2c96c100c3c862e83f96e618d693c934f Mon Sep 17 00:00:00 2001 From: Pete Clark Date: Tue, 24 May 2011 15:28:42 -0400 Subject: [PATCH 431/518] Adds the _task script included with TaskWarrior On my Ubuntu system this file was found in /usr/share/doc/task/scripts/zsh/_task.gz --- plugins/taskwarrior/_task | 280 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 280 insertions(+) create mode 100644 plugins/taskwarrior/_task diff --git a/plugins/taskwarrior/_task b/plugins/taskwarrior/_task new file mode 100644 index 0000000..5bffa91 --- /dev/null +++ b/plugins/taskwarrior/_task @@ -0,0 +1,280 @@ +#compdef task +# +# zsh completion for taskwarrior +# +# Copyright 2010 - 2011 Johannes Schlatow +# Copyright 2009 P.C. Shyamshankar +# All rights reserved. +# +# This script is part of the taskwarrior project. +# +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the +# +# Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, +# Boston, MA +# 02110-1301 +# USA +# +typeset -g _task_cmds _task_projects _task_tags _task_config _task_modifiers +_task_projects=($(task _projects)) +_task_tags=($(task _tags)) +_task_ids=($(task _ids)) +_task_config=($(task _config)) +_task_modifiers=( + 'before' \ + 'after' \ + 'none' \ + 'any' \ + 'is' \ + 'isnt' \ + 'has' \ + 'hasnt' \ + 'startswith' \ + 'endswith' \ + 'word' \ + 'noword' +) +_task_cmds=($(task _commands)) +_task_zshcmds=( ${(f)"$(task _zshcommands)"} ) + + +_task_idCmds=( + 'append' \ + 'prepend' \ + 'annotate' \ + 'denotate' \ + 'edit' \ + 'duplicate' \ + 'info' \ + 'start' \ + 'stop' \ + 'done' +) + +_task_idCmdsDesc=( + 'append:Appends more description to an existing task.' \ + 'prepend:Prepends more description to an existing task.' \ + 'annotate:Adds an annotation to an existing task.' \ + 'denotate:Deletes an annotation of an existing task.' \ + 'edit:Launches an editor to let you modify a task directly.' \ + 'duplicate:Duplicates the specified task, and allows modifications.' \ + 'info:Shows all data, metadata for specified task.' \ + 'start:Marks specified task as started.' \ + 'stop:Removes the start time from a task.' \ + 'done:Marks the specified task as completed.' +) + +_task() { + _arguments -s -S \ + "*::task command:_task_commands" + return 0 +} + +local -a reply args word +word=$'[^\0]#\0' + +# priorities +local -a task_priorities +_regex_words values 'task priorities' \ + 'H:High' \ + 'M:Middle' \ + 'L:Low' +task_priorities=("$reply[@]") + +# projects +local -a task_projects +task_projects=( + /"$word"/ + ":values:task projects:compadd -a _task_projects" +) + +local -a _task_dates +_regex_words values 'task dates' \ + 'tod*ay:Today' \ + 'yes*terday:Yesterday' \ + 'tom*orrow:Tomorrow' \ + 'sow:Start of week' \ + 'soww:Start of work week' \ + 'socw:Start of calendar week' \ + 'som:Start of month' \ + 'soy:Start of year' \ + 'eow:End of week' \ + 'eoww:End of work week' \ + 'eocw:End of calendar week' \ + 'eom:End of month' \ + 'eoy:End of year' \ + 'mon:Monday' \ + 'tue:Tuesday'\ + 'wed:Wednesday' \ + 'thu:Thursday' \ + 'fri:Friday' \ + 'sat:Saturday' \ + 'sun:Sunday' +_task_dates=("$reply[@]") + +local -a _task_reldates +_regex_words values 'task reldates' \ + 'hrs:n hours' \ + 'day:n days' \ + '1st:first' \ + '2nd:second' \ + '3rd:third' \ + 'th:4th, 5th, etc.' \ + 'wks:weeks' +_task_reldates=("$reply[@]") + +task_dates=( + \( "$_task_dates[@]" \| + \( /$'[0-9][0-9]#'/- \( "$_task_reldates[@]" \) \) + \) +) + +_regex_words values 'task frequencies' \ + 'daily:Every day' \ + 'day:Every day' \ + 'weekdays:Every day skipping weekend days' \ + 'weekly:Every week' \ + 'biweekly:Every two weeks' \ + 'fortnight:Every two weeks' \ + 'quarterly:Every three months' \ + 'semiannual:Every six months' \ + 'annual:Every year' \ + 'yearly:Every year' \ + 'biannual:Every two years' \ + 'biyearly:Every two years' +_task_freqs=("$reply[@]") + +local -a _task_frequencies +_regex_words values 'task frequencies' \ + 'd:days' \ + 'w:weeks' \ + 'q:quarters' \ + 'y:years' +_task_frequencies=("$reply[@]") + +task_freqs=( + \( "$_task_freqs[@]" \| + \( /$'[0-9][0-9]#'/- \( "$_task_frequencies[@]" \) \) + \) +) + +# attributes +local -a task_attributes +_regex_words -t ':' default 'task attributes' \ + 'pro*ject:Project name:$task_projects' \ + 'du*e:Due date:$task_dates' \ + 'wa*it:Date until task becomes pending:$task_dates' \ + 're*cur:Recurrence frequency:$task_freqs' \ + 'pri*ority:priority:$task_priorities' \ + 'un*til:Recurrence end date:$task_dates' \ + 'fg:Foreground color' \ + 'bg:Background color' \ + 'li*mit:Desired number of rows in report' +task_attributes=("$reply[@]") + +args=( + \( "$task_attributes[@]" \| + \( /'(project|due|wait|recur|priority|until|fg|bg|limit).'/- \( /$'[^:]#:'/ ":default:modifiers:compadd -S ':' -a _task_modifiers" \) \) \| + \( /'(rc).'/- \( /$'[^:]#:'/ ":arguments:config:compadd -S ':' -a _task_config" \) \) \| + \( /'(+|-)'/- \( /"$word"/ ":values:remove tag:compadd -a _task_tags" \) \) \| + \( /"$word"/ \) + \) \# +) +_regex_arguments _task_attributes "${args[@]}" + +## task commands + +# default completion +(( $+functions[_task_default] )) || +_task_default() { + _task_attributes "$@" +} + +# commands expecting an ID +(( $+functions[_task_id] )) || +_task_id() { + if (( CURRENT < 3 )); then + # update IDs + _task_zshids=( ${(f)"$(task _zshids)"} ) + _describe -t values 'task IDs' _task_zshids + else + _task_attributes "$@" + fi +} + +# merge completion +(( $+functions[_task_merge] )) || +_task_merge() { + # TODO match URIs in .taskrc + _files +} + +# push completion +(( $+functions[_task_push] )) || +_task_push() { + # TODO match URIs in .taskrc + _files +} + +# pull completion +(( $+functions[_task_pull] )) || +_task_pull() { + # TODO match URIs in .taskrc + _files +} + + +# modify (task [0-9]* ...) completion +(( $+functions[_task_modify] )) || +_task_modify() { + _describe -t commands 'task command' _task_idCmdsDesc + _task_attributes "$@" +} + +## first level completion => task sub-command completion +(( $+functions[_task_commands] )) || +_task_commands() { + local cmd ret=1 + if (( CURRENT == 1 )); then + # update IDs + _task_zshids=( ${(f)"$(task _zshids)"} ) + + _describe -t commands 'task command' _task_zshcmds + _describe -t values 'task IDs' _task_zshids + # TODO match more than one ID + elif [[ $words[1] =~ ^[0-9]*$ ]] then + _call_function ret _task_modify + return ret + else +# local curcontext="${curcontext}" +# cmd="${_task_cmds[(r)$words[1]:*]%%:*}" + cmd="${_task_cmds[(r)$words[1]]}" + idCmd="${(M)_task_idCmds[@]:#$words[1]}" + if (( $#cmd )); then +# curcontext="${curcontext%:*:*}:task-${cmd}" + + if (( $#idCmd )); then + _call_function ret _task_id + else + _call_function ret _task_${cmd} || + _call_function ret _task_default || + _message "No command remaining." + fi + else + _message "Unknown subcommand ${cmd}" + fi + return ret + fi +} From 1e86678f9d3c8c979ff8d3c8b5aac19e9e611441 Mon Sep 17 00:00:00 2001 From: Pete Clark Date: Tue, 24 May 2011 15:29:05 -0400 Subject: [PATCH 432/518] Adds oh-my-zsh plugin to load TaskWarrior completions --- plugins/taskwarrior/taskwarrior.plugin.zsh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 plugins/taskwarrior/taskwarrior.plugin.zsh diff --git a/plugins/taskwarrior/taskwarrior.plugin.zsh b/plugins/taskwarrior/taskwarrior.plugin.zsh new file mode 100644 index 0000000..c183004 --- /dev/null +++ b/plugins/taskwarrior/taskwarrior.plugin.zsh @@ -0,0 +1,21 @@ +################################################################################ +# Author: Pete Clark +# Email: pete[dot]clark[at]gmail[dot]com +# Version: 0.1 (05/24/2011) +# License: WTFPL +# +# This oh-my-zsh plugin adds smart tab completion for +# TaskWarrior. It uses the zsh tab completion +# script (_task) distributed with TaskWarrior for the completion definitions. +# +# Typing task[tabtab] will give you a list of current tasks, task 66[tabtab] +# gives a list of available modifications for that task, etc. +################################################################################ + +zstyle ':completion:*:*:task:*' verbose yes +zstyle ':completion:*:*:task:*:descriptions' format '%U%B%d%b%u' + +zstyle ':completion:*:*:task:*' group-name '' + +alias t=task +compdef _task t=task From 21276546e9614576ce6e1a6be1393abce393d04f Mon Sep 17 00:00:00 2001 From: "Suraj N. Kurapati" Date: Wed, 23 Feb 2011 00:38:15 -0800 Subject: [PATCH 433/518] fishy theme: text indicators for $? and git status The git status indicators were taken from sorin.zsh-theme and changed to use ASCII symbols instead of Unicode ones because my preferred terminal font, DejaVu Sans Mono, renders Unicode symbols poorly and also because Unicode rendering is not available in standard Linux virtual terminals. --- themes/fishy.zsh-theme | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/themes/fishy.zsh-theme b/themes/fishy.zsh-theme index f22eda8..f9e506c 100644 --- a/themes/fishy.zsh-theme +++ b/themes/fishy.zsh-theme @@ -3,7 +3,18 @@ local user_color='green'; [ $UID -eq 0 ] && user_color='red' PROMPT='%n@%m %{$fg[$user_color]%}%~%{$reset_color%}%(!.#.>) ' PROMPT2='%{$fg[red]%}\ %{$reset_color%}' -RPS1='%(?..%{$fg[red]%}%? ↵%{$reset_color%})$(git_prompt_info)' -ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[cyan]%}" -ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +local return_status="%{$fg_bold[red]%}%(?..%?)%{$reset_color%}" +RPROMPT='${return_status}$(git_prompt_info)$(git_prompt_status)%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX=" " +ZSH_THEME_GIT_PROMPT_SUFFIX="" +ZSH_THEME_GIT_PROMPT_DIRTY="" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg_bold[green]%}+" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg_bold[blue]%}!" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg_bold[red]%}-" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg_bold[magenta]%}>" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg_bold[yellow]%}#" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg_bold[cyan]%}?" From f8aae64e478066be7d05f5eb6970c356cafcfd36 Mon Sep 17 00:00:00 2001 From: Jake Bell Date: Thu, 26 May 2011 12:34:37 -0500 Subject: [PATCH 434/518] Adding ability to override plugins from the custom directory. --- .gitignore | 1 + README.textile | 6 ++++-- custom/example/example.plugin.zsh | 2 ++ oh-my-zsh.sh | 4 +++- 4 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 custom/example/example.plugin.zsh diff --git a/.gitignore b/.gitignore index 4b55506..8fdfae2 100644 --- a/.gitignore +++ b/.gitignore @@ -2,5 +2,6 @@ locals.zsh log/.zsh_history projects.zsh custom/* +!custom/example !custom/example.zsh cache diff --git a/README.textile b/README.textile index d01c331..2dbfbe5 100644 --- a/README.textile +++ b/README.textile @@ -48,7 +48,9 @@ the "refcard":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty tasty fo h3. Customization If you want to override any of the default behavior, just add a new file (ending in @.zsh@) into the @custom/@ directory. -If you have many functions which go good together you can put them as a *.plugin.zsh file in the @plugin/@ directory and then enable this plugin. +If you have many functions which go good together you can put them as a *.plugin.zsh file in the @custom/plugins/@ directory and then enable this plugin. +If you would like to override the functionality of a plugin distributed with oh-my-zsh, create a plugin of the same name in the @custom/plugins/@ directory and it will be loaded instead of the one in @plugins/@. + h3. Uninstalling @@ -68,4 +70,4 @@ This project wouldn't exist without all of our awesome users and contributors. * "View our growing list of contributors":https://github.com/robbyrussell/oh-my-zsh/contributors -Thank you so much! \ No newline at end of file +Thank you so much! diff --git a/custom/example/example.plugin.zsh b/custom/example/example.plugin.zsh new file mode 100644 index 0000000..406f274 --- /dev/null +++ b/custom/example/example.plugin.zsh @@ -0,0 +1,2 @@ +# Add your own custom plugins in the custom/plugins directory. Plugins placed +# here will override ones with the same name in the main plugins directory. diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index c8f1a33..dbff1ce 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -17,7 +17,9 @@ compinit -i # Load all of the plugins that were defined in ~/.zshrc for plugin ($plugins); do - if [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then + if [ -f $ZSH/custom/plugins/$plugin/$plugin.plugin.zsh ]; then + source $ZSH/custom/plugins/$plugin/$plugin.plugin.zsh + elif [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then source $ZSH/plugins/$plugin/$plugin.plugin.zsh fi done From 1816e957770f8e3f0ad22658f741c5f0492da982 Mon Sep 17 00:00:00 2001 From: alanpeabody Date: Thu, 26 May 2011 23:56:45 -0400 Subject: [PATCH 435/518] Added my own theme. --- themes/alanpeabody.zsh-theme | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 themes/alanpeabody.zsh-theme diff --git a/themes/alanpeabody.zsh-theme b/themes/alanpeabody.zsh-theme new file mode 100644 index 0000000..1f66f1e --- /dev/null +++ b/themes/alanpeabody.zsh-theme @@ -0,0 +1,22 @@ + +local user='%{$fg[magenta]%}%n@%{$fg[magenta]%}%m%{$reset_color%}' +local pwd='%{$fg[blue]%}%~%{$reset_color%}' +local rvm='%{$fg[green]%}‹$(rvm-prompt i v g)›%{$reset_color%}' +local return_code='%(?..%{$fg[red]%}%? ↵%{$reset_color%})' +local git_branch='$(git_prompt_status)%{$reset_color%}$(git_prompt_info)%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭" + +PROMPT="${user} ${pwd}$ " +RPROMPT="${return_code} ${git_branch} ${rvm}" + From 04573324d52aaadf947f3a80190e4f54d8580932 Mon Sep 17 00:00:00 2001 From: Martin Thurau Date: Fri, 27 May 2011 16:58:14 +0200 Subject: [PATCH 436/518] Added compatibility for the linux 'stat' command for the ant plugin --- plugins/ant/ant.plugin.zsh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/plugins/ant/ant.plugin.zsh b/plugins/ant/ant.plugin.zsh index 0544ac9..23bc775 100644 --- a/plugins/ant/ant.plugin.zsh +++ b/plugins/ant/ant.plugin.zsh @@ -1,8 +1,15 @@ +stat -f%m . > /dev/null 2>&1 +if [ "$?" = 0 ]; then + stat_cmd=(stat -f%m) +else + stat_cmd=(stat -L --format=%y) +fi + _ant_does_target_list_need_generating () { if [ ! -f .ant_targets ]; then return 0; else - accurate=$(stat -f%m .ant_targets) - changed=$(stat -f%m build.xml) + accurate=$($stat_cmd -f%m .ant_targets) + changed=$($stat_cmd -f%m build.xml) return $(expr $accurate '>=' $changed) fi } From 3e433165502a01028fcd0368161a2193eaeb386c Mon Sep 17 00:00:00 2001 From: Andrew Hodges Date: Sat, 28 May 2011 10:16:06 -0400 Subject: [PATCH 437/518] Ruby Switching Helpers Add helper functions to switch gemsets on ruby-1.8.7-p334 and ruby-1.9.2-p180. Add completion definitions for helper functions. --- plugins/rvm/rvm.plugin.zsh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/plugins/rvm/rvm.plugin.zsh b/plugins/rvm/rvm.plugin.zsh index ef934d5..2741238 100644 --- a/plugins/rvm/rvm.plugin.zsh +++ b/plugins/rvm/rvm.plugin.zsh @@ -1,3 +1,28 @@ fpath=($ZSH/plugins/rvm $fpath) autoload -U compinit compinit -i + +local ruby18='ruby-1.8.7-p334' +local ruby19='ruby-1.9.2-p180' + +function rb18 { + if [ -z "$1" ]; then + rvm use "$ruby18" + else + rvm use "$ruby18@$1" + fi +} + +_rb18() {compadd `ls -1 $rvm_path/gems | grep "^$ruby18@" | sed -e "s/^$ruby18@//" | awk '{print $1}'`} +compdef _rb18 rb18 + +function rb19 { + if [ -z "$1" ]; then + rvm use "$ruby19" + else + rvm use "$ruby19@$1" + fi +} + +_rb19() {compadd `ls -1 $rvm_path/gems | grep "^$ruby19@" | sed -e "s/^$ruby19@//" | awk '{print $1}'`} +compdef _rb19 rb19 From e703c9591c64cd23bb0f0e1a892fbed0efe74fa7 Mon Sep 17 00:00:00 2001 From: Andrew Hodges Date: Sat, 28 May 2011 10:23:06 -0400 Subject: [PATCH 438/518] Helpful Listing Aliases Add alias to list installed rubies. Add alias to list gemsets in active ruby. --- plugins/rvm/rvm.plugin.zsh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/rvm/rvm.plugin.zsh b/plugins/rvm/rvm.plugin.zsh index 2741238..ba780c9 100644 --- a/plugins/rvm/rvm.plugin.zsh +++ b/plugins/rvm/rvm.plugin.zsh @@ -2,6 +2,9 @@ fpath=($ZSH/plugins/rvm $fpath) autoload -U compinit compinit -i +alias rubies='rvm list rubies' +alias gemsets='rvm gemset list' + local ruby18='ruby-1.8.7-p334' local ruby19='ruby-1.9.2-p180' From 9f34bbedc8d4843b0ed50f76d38b63e5aa48cc8b Mon Sep 17 00:00:00 2001 From: Andrew Hodges Date: Sat, 28 May 2011 10:35:54 -0400 Subject: [PATCH 439/518] RVM Update Helpers Add helper function to get rvm head. Add helper function to link zsh completion that comes with rvm into om-my-zsh plugin directory, but don't overwrite the completion that comes with oh-my-zsh (oh-my-zsh's completion is better, but I want to be able to compare). --- plugins/rvm/rvm.plugin.zsh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/plugins/rvm/rvm.plugin.zsh b/plugins/rvm/rvm.plugin.zsh index ba780c9..509dcbd 100644 --- a/plugins/rvm/rvm.plugin.zsh +++ b/plugins/rvm/rvm.plugin.zsh @@ -29,3 +29,12 @@ function rb19 { _rb19() {compadd `ls -1 $rvm_path/gems | grep "^$ruby19@" | sed -e "s/^$ruby19@//" | awk '{print $1}'`} compdef _rb19 rb19 + +function rvm-update { + rvm get head + rvm reload # TODO: Reload rvm completion? +} + +function rvm-link-completion { + ln -s "$rvm_path/scripts/zsh/Completion/_rvm" "$ZSH/plugins/rvm/_rvm.official" +} From 572b27b75724d00fbc99ef64de3dbd21a28c8194 Mon Sep 17 00:00:00 2001 From: Andrew Hodges Date: Sat, 28 May 2011 10:50:06 -0400 Subject: [PATCH 440/518] Gem List Helper Add helper function to list gems in a pretty way (only with rvm, for now). Add missng EOF newline and a todo to the ruby plugin. --- plugins/ruby/ruby.plugin.zsh | 4 +++- plugins/rvm/rvm.plugin.zsh | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/plugins/ruby/ruby.plugin.zsh b/plugins/ruby/ruby.plugin.zsh index 82bf5d4..08ca9c6 100644 --- a/plugins/ruby/ruby.plugin.zsh +++ b/plugins/ruby/ruby.plugin.zsh @@ -1,4 +1,6 @@ +# TODO: Make this compatible with rvm. +# Run sudo gem on the system ruby, not the active ruby. alias sgem='sudo gem' # Find ruby file -alias rfind='find . -name *.rb | xargs grep -n' \ No newline at end of file +alias rfind='find . -name *.rb | xargs grep -n' diff --git a/plugins/rvm/rvm.plugin.zsh b/plugins/rvm/rvm.plugin.zsh index 509dcbd..8a3ec78 100644 --- a/plugins/rvm/rvm.plugin.zsh +++ b/plugins/rvm/rvm.plugin.zsh @@ -38,3 +38,15 @@ function rvm-update { function rvm-link-completion { ln -s "$rvm_path/scripts/zsh/Completion/_rvm" "$ZSH/plugins/rvm/_rvm.official" } + +# TODO: Make this usable w/o rvm. +function gems { + local current_ruby=`rvm-prompt i v p` + local current_gemset=`rvm-prompt g` + + gem list $@ | sed \ + -Ee "s/\([0-9\.]+( .+)?\)/$fg[blue]&$reset_color/g" \ + -Ee "s|$(echo $rvm_path)|$fg[magenta]\$rvm_path$reset_color|g" \ + -Ee "s/$current_ruby@global/$fg[yellow]&$reset_color/g" \ + -Ee "s/$current_ruby$current_gemset$/$fg[green]&$reset_color/g" +} From e263f1f0057f6cac15ef588c681e6f49713c3975 Mon Sep 17 00:00:00 2001 From: Andrew Hodges Date: Sat, 28 May 2011 10:57:48 -0400 Subject: [PATCH 441/518] Brew Plugin Merge completion with official brew completion. Add a helper to link official completion into oh-my-zsh plugin (without overwriting). Add an alias to list installed brews. Add brews to the path (in a somewhat strange way). --- plugins/brew/_brew | 24 +++++++++++++++++------- plugins/brew/brew.plugin.zsh | 13 +++++++++++++ 2 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 plugins/brew/brew.plugin.zsh diff --git a/plugins/brew/_brew b/plugins/brew/_brew index cee1e25..1dcf0a4 100644 --- a/plugins/brew/_brew +++ b/plugins/brew/_brew @@ -25,10 +25,12 @@ _1st_arguments=( 'link:link a formula' 'list:list files in a formula or not-installed formulae' 'log:git commit log for a formula' + 'missing:check all installed formuale for missing dependencies.' 'outdated:list formulas for which a newer version is available' 'prune:remove dead links' 'remove:remove a formula' 'search:search for a formula (/regex/ or string)' + 'server:start a local web app that lets you browse formulae (requires Sinatra)' 'unlink:unlink a formula' 'update:freshen up links' 'upgrade:upgrade outdated formulae' @@ -36,10 +38,14 @@ _1st_arguments=( ) local expl -local -a formula installed_formulae +local -a formulae installed_formulae _arguments \ - '(-v --verbose)'{-v,--verbose}'[verbose]' \ + '(-v)-v[verbose]' \ + '(--cellar)--cellar[brew cellar]' \ + '(--config)--config[brew configuration]' \ + '(--env)--env[brew environment]' \ + '(--repository)--repository[brew repository]' \ '(--version)--version[version information]' \ '(--prefix)--prefix[where brew lives on this system]' \ '(--cache)--cache[brew cache]' \ @@ -51,20 +57,24 @@ if (( CURRENT == 1 )); then fi case "$words[1]" in - list) + search|-S) + _arguments \ + '(--macports)--macports[search the macports repository]' \ + '(--fink)--fink[search the fink repository]' ;; + list|ls) _arguments \ '(--unbrewed)--unbrewed[files in brew --prefix not controlled by brew]' \ + '(--versions)--versions[list all installed versions of a formula]' \ '1: :->forms' && return 0 if [[ "$state" == forms ]]; then _brew_installed_formulae - _requested installed_formulae expl 'installed formulae' compadd -a installed_formulae + _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae fi ;; - install|home|log|info|uses|cat|deps) + install|home|homepage|log|info|abv|uses|cat|deps|edit|options) _brew_all_formulae _wanted formulae expl 'all formulae' compadd -a formulae ;; - remove|edit|xo) + remove|rm|uninstall|unlink|cleanup|link|ln) _brew_installed_formulae _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae ;; esac - diff --git a/plugins/brew/brew.plugin.zsh b/plugins/brew/brew.plugin.zsh new file mode 100644 index 0000000..f584a46 --- /dev/null +++ b/plugins/brew/brew.plugin.zsh @@ -0,0 +1,13 @@ +# Move /usr/local/bin (path where brews are linked) to the front of the path +# This will allow us to override system binaries like ruby with our brews +# TODO: Do this in a more compatible way. +# What if someone doesn't have /usr/bin in their path? +export PATH=`echo $PATH | sed -e 's|/usr/local/bin||' -e 's|::|:|g'` # Remove /usr/local/bin +export PATH=`echo $PATH | sed -e 's|/usr/bin|/usr/local/bin:&|'` # Add it in front of /usr/bin +export PATH=`echo $PATH | sed -e 's|/usr/bin|/usr/local/sbin:&|'` # Add /usr/local/sbin + +alias brews='brew list -1' + +function brew-link-completion { + ln -s "$(brew --prefix)/Library/Contributions/brew_zsh_completion.zsh" "$ZSH/plugins/brew/_brew.official" +} From befb02e3da0573fa788114e1c18c70b75f787f1f Mon Sep 17 00:00:00 2001 From: Andrew Hodges Date: Sat, 28 May 2011 11:09:37 -0400 Subject: [PATCH 442/518] Pow! Restart Helper Add helper function to restart an app running on Pow! --- plugins/pow/pow.plugin.zsh | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 plugins/pow/pow.plugin.zsh diff --git a/plugins/pow/pow.plugin.zsh b/plugins/pow/pow.plugin.zsh new file mode 100644 index 0000000..6b2a6f2 --- /dev/null +++ b/plugins/pow/pow.plugin.zsh @@ -0,0 +1,10 @@ +# Thanks to Christopher Sexton +# https://gist.github.com/965032 +function kapow { + touch ~/.pow/$1/tmp/restart.txt + if [ $? -eq 0 ]; then + echo "$fg[yellow]Pow restarting $1...$reset_color" + fi +} + +compctl -W ~/.pow -/ kapow From d72b9c5ec5d55765998bb301b3425fbe84012c1f Mon Sep 17 00:00:00 2001 From: Andrew Hodges Date: Sat, 28 May 2011 11:20:48 -0400 Subject: [PATCH 443/518] Node.js Helpers Add helper function to open node api in browser. Add binaries installed via npm to path. Tell node where to find things (what things?). --- plugins/node/node.plugin.zsh | 8 ++++++++ plugins/npm/npm.plugin.zsh | 2 ++ 2 files changed, 10 insertions(+) create mode 100644 plugins/node/node.plugin.zsh create mode 100644 plugins/npm/npm.plugin.zsh diff --git a/plugins/node/node.plugin.zsh b/plugins/node/node.plugin.zsh new file mode 100644 index 0000000..18f3533 --- /dev/null +++ b/plugins/node/node.plugin.zsh @@ -0,0 +1,8 @@ +# This works if you installed node via homebrew. +export NODE_PATH="/usr/local/lib/node" + +# Open the node api for your current version to the optional section. +# TODO: Make the section part easier to use. +function node-api { + open "http://nodejs.org/docs/$(node --version)/api/all.html#$1" +} diff --git a/plugins/npm/npm.plugin.zsh b/plugins/npm/npm.plugin.zsh new file mode 100644 index 0000000..0b0a30e --- /dev/null +++ b/plugins/npm/npm.plugin.zsh @@ -0,0 +1,2 @@ +# TODO: Don't do this in such a weird way. +export PATH=`echo $PATH | sed -e 's|/usr/bin|/usr/local/share/npm/bin:&|'` From 18293cd724224282d6ca473fcbe6e7439d3eac0c Mon Sep 17 00:00:00 2001 From: Andrew Hodges Date: Sat, 28 May 2011 11:27:50 -0400 Subject: [PATCH 444/518] OS X Helpers Add helper aliases for show/hide files. Add helper alias to recursively delete .DS_Store files. --- plugins/osx/osx.plugin.zsh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh index 81eed5e..a65ca64 100644 --- a/plugins/osx/osx.plugin.zsh +++ b/plugins/osx/osx.plugin.zsh @@ -1,3 +1,9 @@ +alias showfiles='defaults write com.apple.finder AppleShowAllFiles TRUE; killall Finder' +alias hidefiles='defaults write com.apple.finder AppleShowAllFiles FALSE; killall Finder' + +# Recursively delete .DS_Store files +alias rm-dsstore="find . -name '*.DS_Store' -type f -delete" + function savepath() { pwd > ~/.current_path~ } From 18ab94bccd3cfe64f81ab2ea0e09ce4a630a21bc Mon Sep 17 00:00:00 2001 From: brian tse Date: Sat, 28 May 2011 23:57:32 +0800 Subject: [PATCH 445/518] Add new 'minimal' theme --- themes/minimal.zsh-theme | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 themes/minimal.zsh-theme diff --git a/themes/minimal.zsh-theme b/themes/minimal.zsh-theme new file mode 100644 index 0000000..ee3ab6b --- /dev/null +++ b/themes/minimal.zsh-theme @@ -0,0 +1,15 @@ +ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}%{$fg[white]%}[" +ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}●%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +#Customized git status, oh-my-zsh currently does not allow render dirty status before branch +git_custom_status() { + local cb=$(current_branch) + if [ -n "$cb" ]; then + echo "- $ZSH_THEME_GIT_PROMPT_PREFIX$(current_branch)$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX" + fi +} + + +PROMPT='%2~ $(git_custom_status) »%b ' \ No newline at end of file From ace84c8b7eb8b50842798bac9811d02928f58dd3 Mon Sep 17 00:00:00 2001 From: Andrew Hodges Date: Sat, 28 May 2011 13:06:03 -0400 Subject: [PATCH 446/518] Cleanup Add missing newlines at EOF. Remove redundant comment. Fix grammar in comment. --- plugins/cap/cap.plugin.zsh | 2 +- plugins/compleat/compleat.plugin.zsh | 2 -- plugins/github/github.plugin.zsh | 1 - plugins/textmate/textmate.plugin.zsh | 4 +--- 4 files changed, 2 insertions(+), 7 deletions(-) diff --git a/plugins/cap/cap.plugin.zsh b/plugins/cap/cap.plugin.zsh index a0fa21d..8336182 100644 --- a/plugins/cap/cap.plugin.zsh +++ b/plugins/cap/cap.plugin.zsh @@ -18,4 +18,4 @@ function _cap () { fi } -compctl -K _cap cap \ No newline at end of file +compctl -K _cap cap diff --git a/plugins/compleat/compleat.plugin.zsh b/plugins/compleat/compleat.plugin.zsh index 8d16a56..38f1b39 100644 --- a/plugins/compleat/compleat.plugin.zsh +++ b/plugins/compleat/compleat.plugin.zsh @@ -5,7 +5,6 @@ # VERSION: 1.0.0 # ------------------------------------------------------------------------------ - if (( ${+commands[compleat]} )); then local prefix="${commands[compleat]:h:h}" local setup="${prefix}/share/compleat-1.0/compleat_setup" @@ -19,4 +18,3 @@ if (( ${+commands[compleat]} )); then source "$setup" fi fi - diff --git a/plugins/github/github.plugin.zsh b/plugins/github/github.plugin.zsh index df7053b..1eb3381 100644 --- a/plugins/github/github.plugin.zsh +++ b/plugins/github/github.plugin.zsh @@ -4,4 +4,3 @@ if [ "$commands[(I)hub]" ]; then # eval `hub alias -s zsh` function git(){hub "$@"} fi - diff --git a/plugins/textmate/textmate.plugin.zsh b/plugins/textmate/textmate.plugin.zsh index 7c4c14a..aa2f75f 100644 --- a/plugins/textmate/textmate.plugin.zsh +++ b/plugins/textmate/textmate.plugin.zsh @@ -1,11 +1,9 @@ - -# TextMate alias et='mate .' alias ett='mate app config lib db public spec test Rakefile Capfile Todo' alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo' alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo' -# Editor Ruby file in TextMate +# Edit Ruby app in TextMate alias mr='mate CHANGELOG app config db lib public script spec test' function tm() { From 18bfb14a2f774b115c8634cdaa3864cbdee91a94 Mon Sep 17 00:00:00 2001 From: Andrew Hodges Date: Sat, 28 May 2011 13:12:03 -0400 Subject: [PATCH 447/518] Thor Add plugin with completion for thor. --- plugins/thor/_thor | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 plugins/thor/_thor diff --git a/plugins/thor/_thor b/plugins/thor/_thor new file mode 100644 index 0000000..9f7ed5a --- /dev/null +++ b/plugins/thor/_thor @@ -0,0 +1,4 @@ +#compdef thor +#autoload + +compadd `thor list | grep thor | cut -d " " -f 2` From 205e2f4842d1d1808b0d8d16bcfd1daeadb111d9 Mon Sep 17 00:00:00 2001 From: Magnus Woldrich Date: Sun, 29 May 2011 11:55:24 +0200 Subject: [PATCH 448/518] add trapd00r theme --- themes/trapd00r.zsh-theme | 95 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 themes/trapd00r.zsh-theme diff --git a/themes/trapd00r.zsh-theme b/themes/trapd00r.zsh-theme new file mode 100644 index 0000000..cba14c4 --- /dev/null +++ b/themes/trapd00r.zsh-theme @@ -0,0 +1,95 @@ +# Name: trapd00r zsh theme +# Author: Magnus Woldrich +# +# This theme needs a terminal supporting 256 colors as well as unicode. It also +# needs the script that splits up the current path and makes it fancy as located +# here: https://github.com/trapd00r/utils/blob/master/zsh_path +# +# By default it spans over two lines like so: +# +# scp1@shiva:pts/9-> /home » scp1 (0) +# > +# +# that's user@host:pts/-> splitted path (return status) +# +# If the current directory is a git repository, we span 3 lines; +# +# git❨ master ❩ DIRTY +# scp1@shiva:pts/4-> /home » scp1 » dev » utils (0) +# > + +autoload -U add-zsh-hook +autoload -Uz vcs_info + +local c0=$( printf "\e[m") +local c1=$( printf "\e[38;5;245m") +local c2=$( printf "\e[38;5;250m") +local c3=$( printf "\e[38;5;242m") +local c4=$( printf "\e[38;5;197m") +local c5=$( printf "\e[38;5;225m") +local c6=$( printf "\e[38;5;240m") +local c7=$( printf "\e[38;5;242m") +local c8=$( printf "\e[38;5;244m") +local c9=$( printf "\e[38;5;162m") +local c10=$(printf "\e[1m") +local c11=$(printf "\e[38;5;208m\e[1m") +local c12=$(printf "\e[38;5;142m\e[1m") +local c13=$(printf "\e[38;5;196m\e[1m") + + +# We dont want to use the extended colorset in the TTY / VC. +if [ "$TERM" = "linux" ]; then + c1=$( printf "\e[34;1m") + c2=$( printf "\e[35m") + c3=$( printf "\e[31m") + c4=$( printf "\e[31;1m") + c5=$( printf "\e[32m") + c6=$( printf "\e[32;1m") + c7=$( printf "\e[33m") + c8=$( printf "\e[33;1m") + c9=$( printf "\e[34m") + + c11=$(printf "\e[35;1m") + c12=$(printf "\e[36m") + c13=$(printf "\e[31;1m") +fi + +zstyle ':vcs_info:*' actionformats \ + '%{$c8%}(%f%s)%{$c7%}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f ' + +zstyle ':vcs_info:*' formats \ + "%{$c8%}%s%%{$c7%}❨ %{$c9%}%{$c11%}%b%{$c7%} ❩%{$reset_color%}%f " + +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 + +prompt_jnrowe_precmd () { + vcs_info + if [ "${vcs_info_msg_0_}" = "" ]; then + dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$(zsh_path)%} %{$c0%}(%{$c5%}%?%{$c0%})" + PROMPT='%{$fg_bold[green]%}%p%{$reset_color%}${vcs_info_msg_0_}${dir_status} ${ret_status}%{$reset_color%} +> ' + +# modified, to be commited + elif [[ $(git diff --cached --name-status 2>/dev/null ) != "" ]]; then + dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$(zsh_path)%} %{$c0%}(%{$c5%}%?%{$c0%})" + PROMPT='${vcs_info_msg_0_}%{$30%} %{$bg_bold[red]%}%{$fg_bold[cyan]%}C%{$fg_bold[black]%}OMMIT%{$reset_color%} +%{$fg_bold[green]%}%p%{$reset_color%}${dir_status}%{$reset_color%} +> ' + + elif [[ $(git diff --name-status 2>/dev/null ) != "" ]]; then + dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$(zsh_path)%} %{$c0%}(%{$c5%}%?%{$c0%})" + PROMPT='${vcs_info_msg_0_}%{$bg_bold[red]%}%{$fg_bold[blue]%}D%{$fg_bold[black]%}IRTY%{$reset_color%} +%{$fg_bold[green]%}%p%{$reset_color%}${dir_status}%{$reset_color%} +%{$c13%}>%{$c0%} ' + else + dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$(zsh_path)%} %{$c0%}(%{$c5%}%?%{$c0%})" + PROMPT='${vcs_info_msg_0_} +%{$fg_bold[green]%}%p%{$reset_color%}${dir_status} ${vcs_info_msg_0_}%{$reset_color%} +> ' +fi +} + +# vim: set ft=zsh sw=2 et tw=0: From 1c2eb40e876db3d2bfad22a0b52f0d410e1d51f3 Mon Sep 17 00:00:00 2001 From: nebirhos Date: Thu, 26 May 2011 20:00:23 +0200 Subject: [PATCH 449/518] Added nebirhos theme --- themes/nebirhos.zsh-theme | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 themes/nebirhos.zsh-theme diff --git a/themes/nebirhos.zsh-theme b/themes/nebirhos.zsh-theme new file mode 100644 index 0000000..c49df97 --- /dev/null +++ b/themes/nebirhos.zsh-theme @@ -0,0 +1,17 @@ +# Based on robbyrussell's theme, with host and rvm indicators. Example: +# @host ➜ currentdir rvm:(rubyversion@gemset) git:(branchname) + +# Get the current ruby version in use with RVM: +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%} " +fi + +# Get the host name (first 4 chars) +HOST_PROMPT_="%{$fg_bold[red]%}@$HOST[0,4] ➜ %{$fg_bold[cyan]%}%c " +GIT_PROMPT="%{$fg_bold[blue]%}\$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}" +PROMPT="$HOST_PROMPT_$RUBY_PROMPT_$GIT_PROMPT" + +ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" From 1e3b441ce7e0b8706867801c1e5e7ca6760ff17e Mon Sep 17 00:00:00 2001 From: Andrew Hodges Date: Mon, 30 May 2011 10:07:15 -0400 Subject: [PATCH 450/518] Rollback of Pull #366 sorin-ionescu had some good points. --- plugins/brew/brew.plugin.zsh | 12 ------------ plugins/node/node.plugin.zsh | 5 +---- plugins/npm/npm.plugin.zsh | 2 -- plugins/rvm/rvm.plugin.zsh | 9 ++------- 4 files changed, 3 insertions(+), 25 deletions(-) delete mode 100644 plugins/npm/npm.plugin.zsh diff --git a/plugins/brew/brew.plugin.zsh b/plugins/brew/brew.plugin.zsh index f584a46..c2e9588 100644 --- a/plugins/brew/brew.plugin.zsh +++ b/plugins/brew/brew.plugin.zsh @@ -1,13 +1 @@ -# Move /usr/local/bin (path where brews are linked) to the front of the path -# This will allow us to override system binaries like ruby with our brews -# TODO: Do this in a more compatible way. -# What if someone doesn't have /usr/bin in their path? -export PATH=`echo $PATH | sed -e 's|/usr/local/bin||' -e 's|::|:|g'` # Remove /usr/local/bin -export PATH=`echo $PATH | sed -e 's|/usr/bin|/usr/local/bin:&|'` # Add it in front of /usr/bin -export PATH=`echo $PATH | sed -e 's|/usr/bin|/usr/local/sbin:&|'` # Add /usr/local/sbin - alias brews='brew list -1' - -function brew-link-completion { - ln -s "$(brew --prefix)/Library/Contributions/brew_zsh_completion.zsh" "$ZSH/plugins/brew/_brew.official" -} diff --git a/plugins/node/node.plugin.zsh b/plugins/node/node.plugin.zsh index 18f3533..519bc18 100644 --- a/plugins/node/node.plugin.zsh +++ b/plugins/node/node.plugin.zsh @@ -1,8 +1,5 @@ -# This works if you installed node via homebrew. -export NODE_PATH="/usr/local/lib/node" - # Open the node api for your current version to the optional section. # TODO: Make the section part easier to use. -function node-api { +function node-docs { open "http://nodejs.org/docs/$(node --version)/api/all.html#$1" } diff --git a/plugins/npm/npm.plugin.zsh b/plugins/npm/npm.plugin.zsh deleted file mode 100644 index 0b0a30e..0000000 --- a/plugins/npm/npm.plugin.zsh +++ /dev/null @@ -1,2 +0,0 @@ -# TODO: Don't do this in such a weird way. -export PATH=`echo $PATH | sed -e 's|/usr/bin|/usr/local/share/npm/bin:&|'` diff --git a/plugins/rvm/rvm.plugin.zsh b/plugins/rvm/rvm.plugin.zsh index 8a3ec78..40fd88c 100644 --- a/plugins/rvm/rvm.plugin.zsh +++ b/plugins/rvm/rvm.plugin.zsh @@ -1,6 +1,5 @@ -fpath=($ZSH/plugins/rvm $fpath) -autoload -U compinit -compinit -i +# What does this really do? +# fpath=($ZSH/plugins/rvm $fpath) alias rubies='rvm list rubies' alias gemsets='rvm gemset list' @@ -35,10 +34,6 @@ function rvm-update { rvm reload # TODO: Reload rvm completion? } -function rvm-link-completion { - ln -s "$rvm_path/scripts/zsh/Completion/_rvm" "$ZSH/plugins/rvm/_rvm.official" -} - # TODO: Make this usable w/o rvm. function gems { local current_ruby=`rvm-prompt i v p` From 9801ad6453caa05925847f63401e6266378eb2de Mon Sep 17 00:00:00 2001 From: Andrew Hodges Date: Mon, 30 May 2011 11:10:08 -0400 Subject: [PATCH 451/518] Remove Uneeded Lines --- plugins/rvm/rvm.plugin.zsh | 3 --- 1 file changed, 3 deletions(-) diff --git a/plugins/rvm/rvm.plugin.zsh b/plugins/rvm/rvm.plugin.zsh index 40fd88c..24621fe 100644 --- a/plugins/rvm/rvm.plugin.zsh +++ b/plugins/rvm/rvm.plugin.zsh @@ -1,6 +1,3 @@ -# What does this really do? -# fpath=($ZSH/plugins/rvm $fpath) - alias rubies='rvm list rubies' alias gemsets='rvm gemset list' From 93dab36fcb7f138aba32e5102c621180055d67fe Mon Sep 17 00:00:00 2001 From: Second Planet Date: Mon, 30 May 2011 19:10:26 -0400 Subject: [PATCH 452/518] added humza.zsh-theme --- themes/humza.zsh-theme | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 themes/humza.zsh-theme diff --git a/themes/humza.zsh-theme b/themes/humza.zsh-theme new file mode 100644 index 0000000..1078862 --- /dev/null +++ b/themes/humza.zsh-theme @@ -0,0 +1,26 @@ +# ZSH THEME Preview: https://skitch.com/huyy/rk979/humza.zshtheme + +let TotalBytes=0 +for Bytes in $(ls -l | grep "^-" | awk '{ print $5 }') +do + let TotalBytes=$TotalBytes+$Bytes +done + # should it say b, kb, Mb, or Gb +if [ $TotalBytes -lt 1024 ]; then + TotalSize=$(echo -e "scale=3 \n$TotalBytes \nquit" | bc) + suffix="b" +elif [ $TotalBytes -lt 1048576 ]; then + TotalSize=$(echo -e "scale=3 \n$TotalBytes/1024 \nquit" | bc) + suffix="kb" +elif [ $TotalBytes -lt 1073741824 ]; then + TotalSize=$(echo -e "scale=3 \n$TotalBytes/1048576 \nquit" | bc) + suffix="Mb" +else + TotalSize=$(echo -e "scale=3 \n$TotalBytes/1073741824 \nquit" | bc) + suffix="Gb" +fi + +PROMPT='%{$reset_color%}%n %{$fg[green]%}{%{$reset_color%}%~%{$fg[green]%}}%{$reset_color%}$(git_prompt_info) greetings, earthling %{$fg[green]%}[%{$reset_color%}%{$TotalSize%}%{$suffix%}%{$fg[green]%}]%{$fg[red]%}$%{$reset_color%} ☞ ' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[red]%}±(" +ZSH_THEME_GIT_PROMPT_SUFFIX=");%{$reset_color%}" From 714cfb1db2966ddfc0330a09e620164189233b49 Mon Sep 17 00:00:00 2001 From: Adam Lindberg Date: Tue, 31 May 2011 11:46:26 +0200 Subject: [PATCH 453/518] Add guru theme --- themes/guru.zsh-theme | 98 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 themes/guru.zsh-theme diff --git a/themes/guru.zsh-theme b/themes/guru.zsh-theme new file mode 100644 index 0000000..2a22235 --- /dev/null +++ b/themes/guru.zsh-theme @@ -0,0 +1,98 @@ +#------------------------------------------------------------------------------- +# Guru theme for oh-my-zsh by Adam Lindberg +# (Needs Git plugin for current_branch method) +#------------------------------------------------------------------------------- + + +# Color shortcuts +R=$fg[red] +Y=$fg[yellow] +G=$fg[green] +M=$fg[magenta] +W=$fg[white] +B=$fg[black] +RB=$fg_bold[red] +YB=$fg_bold[yellow] +GB=$fg_bold[green] +MB=$fg_bold[magenta] +WB=$fg_bold[white] +BB=$fg_bold[black] +RESET=$reset_color + +if [ "$(whoami)" = "root" ]; then + PROMPTCOLOR="%{$RB%}" PREFIX="-!-"; +else + PROMPTCOLOR="%{$BB%}" PREFIX="---"; +fi + +local return_code="%(?..%{$R%}%? ↵%{$RESET%})" + +GIT_PREFIX="%{$YB%}‹" +GIT_SUFFIX="%{$YB%}›" + +# Get the status of the working tree (copied and modified from git.zsh) +custom_git_prompt_status() { + INDEX=$(git status --porcelain 2> /dev/null) + STATUS="" + # Non-staged + if $(echo "$INDEX" | grep '^?? ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS" + fi + if $(echo "$INDEX" | grep '^UU ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS" + fi + if $(echo "$INDEX" | grep '^ D ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS" + fi + if $(echo "$INDEX" | grep '^ M ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS" + elif $(echo "$INDEX" | grep '^AM ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS" + elif $(echo "$INDEX" | grep '^ T ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS" + fi + # Staged + if $(echo "$INDEX" | grep '^D ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_STAGED_DELETED$STATUS" + fi + if $(echo "$INDEX" | grep '^R ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_STAGED_RENAMED$STATUS" + fi + if $(echo "$INDEX" | grep '^M ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_STAGED_MODIFIED$STATUS" + fi + if $(echo "$INDEX" | grep '^A' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_STAGED_ADDED$STATUS" + fi + echo $STATUS +} + +# get the name of the branch we are on (copied and modified from git.zsh) +function custom_git_prompt() { + ref=$(git symbolic-ref HEAD 2> /dev/null) || return + echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(git_prompt_ahead)$(parse_git_dirty)$(custom_git_prompt_status)$ZSH_THEME_GIT_PROMPT_SUFFIX" +} + +PROMPT='${PROMPTCOLOR}$PREFIX %2~ $(custom_git_prompt)%{$M%}%B»%b%{$RESET%} ' +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$YB%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$YB%}›%{$RESET%} " + +ZSH_THEME_GIT_PROMPT_AHEAD="%{$BB%}➝" + +# Staged +ZSH_THEME_GIT_PROMPT_STAGED_ADDED="%{$G%}A" +ZSH_THEME_GIT_PROMPT_STAGED_MODIFIED="%{$G%}M" +ZSH_THEME_GIT_PROMPT_STAGED_RENAMED="%{$G%}R" +ZSH_THEME_GIT_PROMPT_STAGED_DELETED="%{$G%}D" + +# Not-staged +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$R%}??" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$R%}M" +ZSH_THEME_GIT_PROMPT_DELETED="%{$R%}D" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$R%}UU" + +ZSH_THEME_GIT_PROMPT_DIRTY="%{$R%}* " + +ZSH_THEME_GIT_PROMPT_CLEAN="" From 9c306670a73ec3e313666fc497952153bdc16220 Mon Sep 17 00:00:00 2001 From: Adam Lindberg Date: Tue, 31 May 2011 14:07:38 +0200 Subject: [PATCH 454/518] Improve unicode characters and git status --- themes/guru.zsh-theme | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/themes/guru.zsh-theme b/themes/guru.zsh-theme index 2a22235..c63f108 100644 --- a/themes/guru.zsh-theme +++ b/themes/guru.zsh-theme @@ -64,13 +64,18 @@ custom_git_prompt_status() { if $(echo "$INDEX" | grep '^A' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_STAGED_ADDED$STATUS" fi + + if $(echo "$STATUS" &> /dev/null); then + STATUS="$ZSH_THEME_GIT_STATUS_PREFIX$STATUS" + fi + echo $STATUS } # get the name of the branch we are on (copied and modified from git.zsh) function custom_git_prompt() { ref=$(git symbolic-ref HEAD 2> /dev/null) || return - echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(git_prompt_ahead)$(parse_git_dirty)$(custom_git_prompt_status)$ZSH_THEME_GIT_PROMPT_SUFFIX" + echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$(git_prompt_ahead)$(custom_git_prompt_status)$ZSH_THEME_GIT_PROMPT_SUFFIX" } PROMPT='${PROMPTCOLOR}$PREFIX %2~ $(custom_git_prompt)%{$M%}%B»%b%{$RESET%} ' @@ -79,7 +84,12 @@ RPS1="${return_code}" ZSH_THEME_GIT_PROMPT_PREFIX="%{$YB%}‹" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$YB%}›%{$RESET%} " -ZSH_THEME_GIT_PROMPT_AHEAD="%{$BB%}➝" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$R%}*" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +ZSH_THEME_GIT_PROMPT_AHEAD="%{$BB%}➔" + +ZSH_THEME_GIT_STATUS_PREFIX=" " # Staged ZSH_THEME_GIT_PROMPT_STAGED_ADDED="%{$G%}A" @@ -88,11 +98,7 @@ ZSH_THEME_GIT_PROMPT_STAGED_RENAMED="%{$G%}R" ZSH_THEME_GIT_PROMPT_STAGED_DELETED="%{$G%}D" # Not-staged -ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$R%}??" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$R%}⁇" ZSH_THEME_GIT_PROMPT_MODIFIED="%{$R%}M" ZSH_THEME_GIT_PROMPT_DELETED="%{$R%}D" ZSH_THEME_GIT_PROMPT_UNMERGED="%{$R%}UU" - -ZSH_THEME_GIT_PROMPT_DIRTY="%{$R%}* " - -ZSH_THEME_GIT_PROMPT_CLEAN="" From f4878971752b6d76743c29d6f478d20c84755b8e Mon Sep 17 00:00:00 2001 From: Brian Riddle Date: Tue, 31 May 2011 14:16:43 +0200 Subject: [PATCH 455/518] fix double -f and corrected format. -f%m was getting called twice in the stat_cmd corrected format of stat command from y to Y. --- plugins/ant/ant.plugin.zsh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/ant/ant.plugin.zsh b/plugins/ant/ant.plugin.zsh index 23bc775..691d4d2 100644 --- a/plugins/ant/ant.plugin.zsh +++ b/plugins/ant/ant.plugin.zsh @@ -2,14 +2,14 @@ stat -f%m . > /dev/null 2>&1 if [ "$?" = 0 ]; then stat_cmd=(stat -f%m) else - stat_cmd=(stat -L --format=%y) + stat_cmd=(stat -L --format=%Y) fi _ant_does_target_list_need_generating () { if [ ! -f .ant_targets ]; then return 0; else - accurate=$($stat_cmd -f%m .ant_targets) - changed=$($stat_cmd -f%m build.xml) + accurate=$($stat_cmd .ant_targets) + changed=$($stat_cmd build.xml) return $(expr $accurate '>=' $changed) fi } From c014dca141588737a13c4e3974adb4afd58c09bb Mon Sep 17 00:00:00 2001 From: Michael Hanson Date: Tue, 31 May 2011 15:13:23 -0700 Subject: [PATCH 456/518] Fix deleted in git.zsh --- lib/git.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/git.zsh b/lib/git.zsh index 2ace3d0..ce4de55 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -52,11 +52,11 @@ git_prompt_status() { if $(echo "$INDEX" | grep '^R ' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS" fi - if $(echo "$INDEX" | grep '^ D ' &> /dev/null); then + if $(echo "$INDEX" | grep '^D ' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS" fi if $(echo "$INDEX" | grep '^UU ' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS" fi echo $STATUS -} \ No newline at end of file +} From 23a082df129b12b6edf8ea04432b0cb2be0588fd Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Wed, 1 Jun 2011 09:33:12 +0200 Subject: [PATCH 457/518] Revert "Added my zsh theme file, heavily based on sjl's" as it relies on a dotfile to be in ~/bin. This reverts commit f2f34f5404e8ab674a0e345a709783b6c56a3b72. --- themes/thomasjbradley.zsh-theme | 29 ----------------------------- 1 file changed, 29 deletions(-) delete mode 100644 themes/thomasjbradley.zsh-theme diff --git a/themes/thomasjbradley.zsh-theme b/themes/thomasjbradley.zsh-theme deleted file mode 100644 index 857301d..0000000 --- a/themes/thomasjbradley.zsh-theme +++ /dev/null @@ -1,29 +0,0 @@ -function prompt_char { - git branch >/dev/null 2>/dev/null && echo '±' && return - hg root >/dev/null 2>/dev/null && echo '☿' && return - echo '○' -} - -function virtualenv_info { - [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' -} - -function hg_prompt_info { - hg prompt --angle-brackets "\ -< on %{$fg[magenta]%}%{$reset_color%}>\ -< at %{$fg[yellow]%}%{$reset_color%}>\ -%{$fg[green]%}%{$reset_color%}< -patches: >" 2>/dev/null -} - -PROMPT=' -%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(hg_prompt_info)$(git_prompt_info) -$(virtualenv_info)$(prompt_char) ' - -ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" -ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!" -ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?" -ZSH_THEME_GIT_PROMPT_CLEAN="" - -. ~/bin/dotfiles/zsh/aliases From a9b6f081b4a405dd1365df9c35aa3603196e3fc7 Mon Sep 17 00:00:00 2001 From: Adam Lindberg Date: Wed, 1 Jun 2011 10:11:06 +0200 Subject: [PATCH 458/518] Remove extra space when no status --- themes/guru.zsh-theme | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/themes/guru.zsh-theme b/themes/guru.zsh-theme index c63f108..aa7b28b 100644 --- a/themes/guru.zsh-theme +++ b/themes/guru.zsh-theme @@ -27,9 +27,6 @@ fi local return_code="%(?..%{$R%}%? ↵%{$RESET%})" -GIT_PREFIX="%{$YB%}‹" -GIT_SUFFIX="%{$YB%}›" - # Get the status of the working tree (copied and modified from git.zsh) custom_git_prompt_status() { INDEX=$(git status --porcelain 2> /dev/null) @@ -65,7 +62,7 @@ custom_git_prompt_status() { STATUS="$ZSH_THEME_GIT_PROMPT_STAGED_ADDED$STATUS" fi - if $(echo "$STATUS" &> /dev/null); then + if $(echo -n "$STATUS" | grep '.*' &> /dev/null); then STATUS="$ZSH_THEME_GIT_STATUS_PREFIX$STATUS" fi From 0d476e02cd1b5660b09acde25725191044f062ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Had=C5=BEi=C4=87?= Date: Wed, 1 Jun 2011 12:45:15 +0200 Subject: [PATCH 459/518] Adds my theme --- themes/miloshadzic.zsh-theme | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 themes/miloshadzic.zsh-theme diff --git a/themes/miloshadzic.zsh-theme b/themes/miloshadzic.zsh-theme new file mode 100644 index 0000000..ad53944 --- /dev/null +++ b/themes/miloshadzic.zsh-theme @@ -0,0 +1,8 @@ +# Yay! High voltage and arrows! + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}%{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}⚡%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +PROMPT='%{$fg[cyan]%}%1~%{$reset_color%}%{$fg[red]%}|%{$reset_color%}$(git_prompt_info)%{$fg[cyan]%}⇒%{$reset_color%} ' From f401d6ef78a94b723ce841b77151eaac477b8074 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Tue, 22 Feb 2011 23:32:50 -0500 Subject: [PATCH 460/518] Vastly improved osx plugin. --- plugins/osx/osx.plugin.zsh | 138 +++++++++++++++++++++++-------------- 1 file changed, 87 insertions(+), 51 deletions(-) diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh index a65ca64..682bb26 100644 --- a/plugins/osx/osx.plugin.zsh +++ b/plugins/osx/osx.plugin.zsh @@ -1,63 +1,99 @@ -alias showfiles='defaults write com.apple.finder AppleShowAllFiles TRUE; killall Finder' -alias hidefiles='defaults write com.apple.finder AppleShowAllFiles FALSE; killall Finder' +# ------------------------------------------------------------------------------ +# FILE: osx.plugin.zsh +# DESCRIPTION: oh-my-zsh plugin file. +# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com) +# VERSION: 1.0.1 +# ------------------------------------------------------------------------------ -# Recursively delete .DS_Store files -alias rm-dsstore="find . -name '*.DS_Store' -type f -delete" - -function savepath() { - pwd > ~/.current_path~ -} function tab() { -savepath -osascript >/dev/null < 0 )) && command="${command}; $*" + + the_app=$( + osascript 2>/dev/null </dev/null </dev/null </dev/null </dev/null </dev/null < 0 )) && qlmanage -p $* &>/dev/null & +} + +function man-preview() { + man -t "$@" | open -f -a Preview +} + +function trash() { + local trash_dir="${HOME}/.Trash" + local temp_ifs=$IFS + IFS=$'\n' + for item in "$@"; do + if [[ -e "$item" ]]; then + item_name="$(basename $item)" + if [[ -e "${trash_dir}/${item_name}" ]]; then + mv -f "$item" "${trash_dir}/${item_name} $(date "+%H-%M-%S")" + else + mv -f "$item" "${trash_dir}/" + fi + fi + done + IFS=$temp_ifs +} + From 5e5096dad60ef0f41aea384c1e249a3bf0377be6 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Fri, 22 Apr 2011 19:13:37 -0400 Subject: [PATCH 461/518] Added man-preview completion suggested by @webflo. --- plugins/osx/_man-preview | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 plugins/osx/_man-preview diff --git a/plugins/osx/_man-preview b/plugins/osx/_man-preview new file mode 100644 index 0000000..6cc344a --- /dev/null +++ b/plugins/osx/_man-preview @@ -0,0 +1,5 @@ +#compdef man-preview +#autoload + +_man + From 1db6575f14d07b9ed3b0ce530837a8a0713b69d0 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Thu, 3 Feb 2011 22:46:52 -0500 Subject: [PATCH 462/518] Added extract plugin. --- lib/aliases.zsh | 1 - lib/functions.zsh | 35 ------------- plugins/extract/_extract | 8 +++ plugins/extract/extract.plugin.zsh | 83 ++++++++++++++++++++++++++++++ 4 files changed, 91 insertions(+), 36 deletions(-) create mode 100644 plugins/extract/_extract create mode 100644 plugins/extract/extract.plugin.zsh diff --git a/lib/aliases.zsh b/lib/aliases.zsh index b47de5b..0555be2 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -22,4 +22,3 @@ alias sl=ls # often screw this up alias afind='ack-grep -il' -alias x=extract diff --git a/lib/functions.zsh b/lib/functions.zsh index b29d3e4..ef7cc63 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -15,38 +15,3 @@ function take() { cd $1 } -function extract() { - unset REMOVE_ARCHIVE - - if test "$1" = "-r"; then - REMOVE=1 - shift - fi - if [[ -f $1 ]]; then - case $1 in - *.tar.bz2) tar xvjf $1;; - *.tar.gz) tar xvzf $1;; - *.tar.xz) tar xvJf $1;; - *.tar.lzma) tar --lzma -xvf $1;; - *.bz2) bunzip $1;; - *.rar) unrar x $1;; - *.gz) gunzip $1;; - *.tar) tar xvf $1;; - *.tbz2) tar xvjf $1;; - *.tgz) tar xvzf $1;; - *.zip) unzip $1;; - *.Z) uncompress $1;; - *.7z) 7z x $1;; - *) echo "'$1' cannot be extracted via >extract<";; - esac - - if [[ $REMOVE_ARCHIVE -eq 1 ]]; then - echo removing "$1"; - /bin/rm "$1"; - fi - - else - echo "'$1' is not a valid file" - fi -} - diff --git a/plugins/extract/_extract b/plugins/extract/_extract new file mode 100644 index 0000000..dca8909 --- /dev/null +++ b/plugins/extract/_extract @@ -0,0 +1,8 @@ +#compdef extract +#autoload + +_arguments \ + '(-r --remove)'{-r,--remove}'[Remove archive.]' \ + "*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|rar|7z|deb)(-.)'" && return 0 + + diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh new file mode 100644 index 0000000..c58692f --- /dev/null +++ b/plugins/extract/extract.plugin.zsh @@ -0,0 +1,83 @@ +# ------------------------------------------------------------------------------ +# FILE: extract.plugin.zsh +# DESCRIPTION: oh-my-zsh plugin file. +# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com) +# VERSION: 1.0.0 +# ------------------------------------------------------------------------------ + + +function extract() { + local remove_archive + local success + local file_name + local extract_dir + + if (( $# == 0 )); then + echo "Usage: extract [-option] [file ...]" + echo + echo Options: + echo " -r, --remove Remove archive." + echo + echo "Report bugs to ." + fi + + remove_archive=1 + if [[ "$1" == "-r" ]] || [[ "$1" == "--remove" ]]; then + remove_archive=0 + shift + fi + + while (( $# > 0 )); do + if [[ ! -f "$1" ]]; then + echo "extract: '$1' is not a valid file" 1>&2 + shift + continue + fi + + success=0 + file_name="$( basename "$1" )" + extract_dir="$( echo "$file_name" | sed "s/\.${1##*.}//g" )" + case "$1" in + (*.tar.gz|*.tgz) tar xvzf "$1" ;; + (*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;; + (*.tar.xz|*.txz) tar xvJf "$1" ;; + # (*.tar.xz|*.txz) xzcat "$1" | tar xvf - ;; + (*.tar.lzma|*.tlz) tar --lzma -xvf "$1" ;; + # (*.tar.lzma|*.tlz) lzcat "$1" | tar xvf - ;; + (*.tar) tar xvf "$1" ;; + (*.gz) gunzip "$1" ;; + (*.bz2) bunzip2 "$1" ;; + (*.xz) unxz "$1" ;; + (*.lzma) unlzma "$1" ;; + (*.Z) uncompress "$1" ;; + (*.zip) unzip "$1" -d $extract_dir ;; + (*.rar) unrar e -ad "$1" ;; + (*.7z) 7za x "$1" ;; + (*.deb) + mkdir -p "$extract_dir/control" + mkdir -p "$extract_dir/data" + cd "$extract_dir"; ar vx "../${1}" > /dev/null + cd control; tar xzvf ../control.tar.gz + cd ../data; tar xzvf ../data.tar.gz + cd ..; rm *.tar.gz debian-binary + cd .. + ;; + (*) + echo "extract: '$1' cannot be extracted" 1>&2 + success=1 + ;; + esac + + (( success = $success > 0 ? $success : $? )) + (( $success == 0 )) && (( $remove_archive == 0 )) && rm "$1" + shift + done +} + +alias x=extract + +# add extract completion function to path +fpath=($ZSH/plugins/extract $fpath) +autoload -U compinit +compinit -i + From a5c383258b760ad1c34d550edb86d7d63e8f5877 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 17 Apr 2011 23:17:48 -0400 Subject: [PATCH 463/518] Handle tar.xz and tar.lzma better (credit: @gwjo). --- plugins/extract/extract.plugin.zsh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh index c58692f..8cc17f7 100644 --- a/plugins/extract/extract.plugin.zsh +++ b/plugins/extract/extract.plugin.zsh @@ -2,7 +2,7 @@ # FILE: extract.plugin.zsh # DESCRIPTION: oh-my-zsh plugin file. # AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com) -# VERSION: 1.0.0 +# VERSION: 1.0.1 # ------------------------------------------------------------------------------ @@ -40,10 +40,12 @@ function extract() { case "$1" in (*.tar.gz|*.tgz) tar xvzf "$1" ;; (*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;; - (*.tar.xz|*.txz) tar xvJf "$1" ;; - # (*.tar.xz|*.txz) xzcat "$1" | tar xvf - ;; - (*.tar.lzma|*.tlz) tar --lzma -xvf "$1" ;; - # (*.tar.lzma|*.tlz) lzcat "$1" | tar xvf - ;; + (*.tar.xz|*.txz) tar --xz --help &> /dev/null \ + && tar --xz -xvf "$1" \ + || xzcat "$1" | tar xvf - ;; + (*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \ + && tar --lzma -xvf "$1" \ + || lzcat "$1" | tar xvf - ;; (*.tar) tar xvf "$1" ;; (*.gz) gunzip "$1" ;; (*.bz2) bunzip2 "$1" ;; From c1b5d72830629c737f40abebf87fcca797bf730c Mon Sep 17 00:00:00 2001 From: "Suraj N. Kurapati" Date: Wed, 1 Jun 2011 20:38:25 -0700 Subject: [PATCH 464/518] add "sunaku" theme, see http://ompldr.org/vOHcwZg --- themes/sunaku.zsh-theme | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 themes/sunaku.zsh-theme diff --git a/themes/sunaku.zsh-theme b/themes/sunaku.zsh-theme new file mode 100644 index 0000000..440fa90 --- /dev/null +++ b/themes/sunaku.zsh-theme @@ -0,0 +1,26 @@ +# Git-centric variation of the "fishy" theme. +# See screenshot at http://ompldr.org/vOHcwZg + +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%}+" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[magenta]%}!" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%}-" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[blue]%}>" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[cyan]%}#" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[yellow]%}?" + +ZSH_THEME_GIT_PROMPT_PREFIX="" +ZSH_THEME_GIT_PROMPT_SUFFIX=" " +ZSH_THEME_GIT_PROMPT_DIRTY="" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +local user_color='green' +test $UID -eq 0 && user_color='red' + +PROMPT='%(?..%{$fg_bold[red]%}exit %? +%{$reset_color%})'\ +'%{$bold_color%}$(git_prompt_status)%{$reset_color%}'\ +'$(git_prompt_info)'\ +'%{$fg[$user_color]%}%~%{$reset_color%}'\ +'%(!.#.>) ' + +PROMPT2='%{$fg[red]%}\ %{$reset_color%}' From 9b63a03bcfb7a6c34281d7d905575c5647e9c8d2 Mon Sep 17 00:00:00 2001 From: Matt Doran Date: Sat, 4 Jun 2011 00:32:05 +1000 Subject: [PATCH 465/518] Fix typos in the svn plugin that would cause calls to 'svn' when not in an svn working copy. --- plugins/svn/svn.plugin.zsh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/svn/svn.plugin.zsh b/plugins/svn/svn.plugin.zsh index 45d4613..8605022 100644 --- a/plugins/svn/svn.plugin.zsh +++ b/plugins/svn/svn.plugin.zsh @@ -13,7 +13,7 @@ function in_svn() { } function svn_get_repo_name { - if [ is_svn ]; then + if [ in_svn ]; then svn info | sed -n 's/Repository\ Root:\ .*\///p' | read SVN_ROOT svn info | sed -n "s/URL:\ .*$SVN_ROOT\///p" | sed "s/\/.*$//" @@ -21,13 +21,13 @@ function svn_get_repo_name { } function svn_get_rev_nr { - if [ is_svn ]; then + if [ in_svn ]; then svn info 2> /dev/null | sed -n s/Revision:\ //p fi } function svn_dirty_choose { - if [ is_svn ]; then + if [ in_svn ]; then s=$(svn status 2>/dev/null) if [ $s ]; then echo $1 @@ -39,4 +39,4 @@ function svn_dirty_choose { function svn_dirty { svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN -} \ No newline at end of file +} From 0c41b1cdc3ff7b00ffb2310b91becb91b31704f7 Mon Sep 17 00:00:00 2001 From: Andrew Hodges Date: Fri, 3 Jun 2011 14:05:25 -0400 Subject: [PATCH 466/518] Colorize Install & Upgrade Scripts Make tools/install.sh and tools/upgrade.sh pretty. --- tools/install.sh | 28 ++++++++++++++-------------- tools/upgrade.sh | 21 +++++++++++---------- 2 files changed, 25 insertions(+), 24 deletions(-) diff --git a/tools/install.sh b/tools/install.sh index 8ed1403..aedb706 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -1,36 +1,36 @@ if [ -d ~/.oh-my-zsh ] then - echo "You already have Oh My Zsh installed. You'll need to remove ~/.oh-my-zsh if you want to install" + echo "\033[0;33mYou already have Oh My Zsh installed.\033[0m You'll need to remove ~/.oh-my-zsh if you want to install" exit fi -echo "Cloning Oh My Zsh..." +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 -echo "Looking for an existing zsh config..." +echo "\033[0;34mLooking for an existing zsh config...\033[0m" if [ -f ~/.zshrc ] || [ -h ~/.zshrc ] then - echo "Found ~/.zshrc. Backing up to ~/.zshrc.pre-oh-my-zsh"; + echo "\033[0;33mFound ~/.zshrc.\033[0m \033[0;32]Backing up to ~/.zshrc.pre-oh-my-zsh\033[0m"; cp ~/.zshrc ~/.zshrc.pre-oh-my-zsh; rm ~/.zshrc; fi -echo "Using the Oh My Zsh template file and adding it to ~/.zshrc" +echo "\033[0;34mUsing the Oh My Zsh template file and adding it to ~/.zshrc\033[0m" cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc -echo "Copying your current PATH and adding it to the end of ~/.zshrc for you." +echo "\033[0;34mCopying your current PATH and adding it to the end of ~/.zshrc for you.\033[0m" echo "export PATH=$PATH" >> ~/.zshrc -echo "Time to change your default shell to zsh!" +echo "\033[0;34mTime to change your default shell to zsh!\033[0m" chsh -s `which zsh` -echo ' __ __ ' -echo ' ____ / /_ ____ ___ __ __ ____ _____/ /_ ' -echo ' / __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \ ' -echo '/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / / ' -echo '\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ ' -echo ' /____/' +echo "\033[0;32m"' __ __ '"\033[0m" +echo "\033[0;32m"' ____ / /_ ____ ___ __ __ ____ _____/ /_ '"\033[0m" +echo "\033[0;32m"' / __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \ '"\033[0m" +echo "\033[0;32m"'/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / / '"\033[0m" +echo "\033[0;32m"'\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ '"\033[0m" +echo "\033[0;32m"' /____/ '"\033[0m" -echo "\n\n ....is now installed." +echo "\n\n \033[0;32m....is now installed.\033[0m" /usr/bin/env zsh source ~/.zshrc diff --git a/tools/upgrade.sh b/tools/upgrade.sh index 6bdd02e..7e5cc76 100644 --- a/tools/upgrade.sh +++ b/tools/upgrade.sh @@ -1,12 +1,13 @@ current_path=`pwd` -echo "Upgrading Oh My Zsh" +echo "\033[0;34mUpgrading Oh My Zsh\033[0m" ( cd $ZSH && git pull origin master ) -echo ' __ __ ' -echo ' ____ / /_ ____ ___ __ __ ____ _____/ /_ ' -echo ' / __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \ ' -echo '/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / / ' -echo '\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ ' -echo ' /____/' -echo "Hooray! Oh My Zsh has been updated and/or is at the current version. \nAny new updates will be reflected when you start your next terminal session." -echo "To keep up on the latest, be sure to follow Oh My Zsh on twitter: http://twitter.com/ohmyzsh" -cd $current_path \ No newline at end of file +echo "\033[0;32m"' __ __ '"\033[0m" +echo "\033[0;32m"' ____ / /_ ____ ___ __ __ ____ _____/ /_ '"\033[0m" +echo "\033[0;32m"' / __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \ '"\033[0m" +echo "\033[0;32m"'/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / / '"\033[0m" +echo "\033[0;32m"'\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ '"\033[0m" +echo "\033[0;32m"' /____/ '"\033[0m" +echo "\033[0;34mHooray! Oh My Zsh has been updated and/or is at the current version.\033[0m" +echo "\033[0;34mAny new updates will be reflected when you start your next terminal session.\033[0m" +echo "\033[0;34mTo keep up on the latest, be sure to follow Oh My Zsh on twitter: \033[1mhttp://twitter.com/ohmyzsh\033[0m" +cd $current_path From 7c9474508cade14102a2fe1c63ad845fda521bec Mon Sep 17 00:00:00 2001 From: vguerci Date: Sat, 4 Jun 2011 11:02:25 +0200 Subject: [PATCH 467/518] [upgrade] before init (no reload needed unless oh-my-zsh.sh has been modified) --- oh-my-zsh.sh | 17 ++++++++--------- tools/upgrade.sh | 1 - 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index dbff1ce..2157c38 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -1,3 +1,11 @@ +# Check for updates on initial load... +if [ "$DISABLE_AUTO_UPDATE" = "true" ] +then + return +else + /usr/bin/env zsh $ZSH/tools/check_for_upgrade.sh +fi + # Initializes Oh My Zsh # add a function path @@ -28,7 +36,6 @@ done for config_file ($ZSH/custom/*.zsh) source $config_file # Load the theme -# Check for updates on initial load... if [ "$ZSH_THEME" = "random" ] then themes=($ZSH/themes/*zsh-theme) @@ -41,11 +48,3 @@ else source "$ZSH/themes/$ZSH_THEME.zsh-theme" fi - -# Check for updates on initial load... -if [ "$DISABLE_AUTO_UPDATE" = "true" ] -then - return -else - /usr/bin/env zsh $ZSH/tools/check_for_upgrade.sh -fi diff --git a/tools/upgrade.sh b/tools/upgrade.sh index 7e5cc76..e304888 100644 --- a/tools/upgrade.sh +++ b/tools/upgrade.sh @@ -8,6 +8,5 @@ echo "\033[0;32m"'/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / / '"\033[0m echo "\033[0;32m"'\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ '"\033[0m" echo "\033[0;32m"' /____/ '"\033[0m" echo "\033[0;34mHooray! Oh My Zsh has been updated and/or is at the current version.\033[0m" -echo "\033[0;34mAny new updates will be reflected when you start your next terminal session.\033[0m" echo "\033[0;34mTo keep up on the latest, be sure to follow Oh My Zsh on twitter: \033[1mhttp://twitter.com/ohmyzsh\033[0m" cd $current_path From 9b4a89f327a045ed5e756ae4e75d1aac68803164 Mon Sep 17 00:00:00 2001 From: Michael Komitee Date: Sat, 4 Jun 2011 14:03:10 -0400 Subject: [PATCH 468/518] Fix bug from Pull request #395 #395 broke oh-my-zsh for users who disable check-for-updates --- oh-my-zsh.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 2157c38..d72d90c 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -1,8 +1,6 @@ # Check for updates on initial load... -if [ "$DISABLE_AUTO_UPDATE" = "true" ] +if [ "$DISABLE_AUTO_UPDATE" != "true" ] then - return -else /usr/bin/env zsh $ZSH/tools/check_for_upgrade.sh fi From 35b879a17b965b0ea28009c4561962c9ed17ef1f Mon Sep 17 00:00:00 2001 From: gwjo Date: Sat, 4 Jun 2011 21:07:55 -0400 Subject: [PATCH 469/518] Add support for agent forwarding --- plugins/ssh-agent/ssh-agent.plugin.zsh | 52 ++++++++++++++++++++------ 1 file changed, 40 insertions(+), 12 deletions(-) diff --git a/plugins/ssh-agent/ssh-agent.plugin.zsh b/plugins/ssh-agent/ssh-agent.plugin.zsh index 0efc454..0f5b03d 100644 --- a/plugins/ssh-agent/ssh-agent.plugin.zsh +++ b/plugins/ssh-agent/ssh-agent.plugin.zsh @@ -1,23 +1,51 @@ -# Based on code from Joseph M. Reagle -# http://www.cygwin.com/ml/cygwin/2001-06/msg00537.html +# +# INSTRUCTIONS +# +# To enabled agent forwarding support add the following to +# your .zshrc file: +# +# zstyle :omz:plugins:ssh-agent agent-forwarding on +# +# +# CREDITS +# +# Based on code from Joseph M. Reagle +# http://www.cygwin.com/ml/cygwin/2001-06/msg00537.html +# +# Agent forwarding support based on ideas from +# Florent Thoumie and Jonas Pfenniger +# -local SSH_ENV=$HOME/.ssh/environment-$HOST +local _plugin__ssh_env=$HOME/.ssh/environment-$HOST +local _plugin__forwarding -function start_agent { - /usr/bin/env ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV} - chmod 600 ${SSH_ENV} - . ${SSH_ENV} > /dev/null +function _plugin__start_agent() +{ + /usr/bin/env ssh-agent | sed 's/^echo/#echo/' > ${_plugin__ssh_env} + chmod 600 ${_plugin__ssh_env} + . ${_plugin__ssh_env} > /dev/null /usr/bin/ssh-add; } -# Source SSH settings, if applicable +# test if agent-forwarding is enabled +zstyle -b :omz:plugins:ssh-agent agent-forwarding _plugin__forwarding +if [[ ${_plugin__forwarding} == "yes" && -z $SSH_AGENT_PID && -n "$SSH_AUTH_SOCK" ]]; then + # No PID but a AUTH_SOCK means agent forwarding is enabled + # Add a nifty symlink for screen/tmux + [[ -L $SSH_AUTH_SOCK ]] || ln -sf "$SSH_AUTH_SOCK" /tmp/ssh-agent-$USER-screen -if [ -f "${SSH_ENV}" ]; then - . ${SSH_ENV} > /dev/null +elif [ -f "${_plugin__ssh_env}" ]; then + # Source SSH settings, if applicable + . ${_plugin__ssh_env} > /dev/null ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { - start_agent; + _plugin__start_agent; } else - start_agent; + _plugin__start_agent; fi +# tidy up after ourselves +unfunction _plugin__start_agent +unset _plugin__forwarding +unset _plugin__ssh_env + From 40b7f2099d393950e26d1a9720743e161b1abe49 Mon Sep 17 00:00:00 2001 From: gwjo Date: Sat, 4 Jun 2011 22:16:10 -0400 Subject: [PATCH 470/518] Add support for loading mulitple identities --- plugins/ssh-agent/ssh-agent.plugin.zsh | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/plugins/ssh-agent/ssh-agent.plugin.zsh b/plugins/ssh-agent/ssh-agent.plugin.zsh index 0f5b03d..c4e92a1 100644 --- a/plugins/ssh-agent/ssh-agent.plugin.zsh +++ b/plugins/ssh-agent/ssh-agent.plugin.zsh @@ -6,6 +6,11 @@ # # zstyle :omz:plugins:ssh-agent agent-forwarding on # +# To load multiple identies use the identities style, For +# example: +# +# zstyle :omz:plugins:ssh-agent id_rsa id_rsa2 id_github +# # # CREDITS # @@ -21,17 +26,23 @@ local _plugin__forwarding function _plugin__start_agent() { + local -a identities + + # start ssh-agent and setup environment /usr/bin/env ssh-agent | sed 's/^echo/#echo/' > ${_plugin__ssh_env} chmod 600 ${_plugin__ssh_env} . ${_plugin__ssh_env} > /dev/null - /usr/bin/ssh-add; + + # load identies + zstyle -a :omz:plugins:ssh-agent identities identities + echo starting... + /usr/bin/ssh-add $HOME/.ssh/${^identities} } # test if agent-forwarding is enabled zstyle -b :omz:plugins:ssh-agent agent-forwarding _plugin__forwarding -if [[ ${_plugin__forwarding} == "yes" && -z $SSH_AGENT_PID && -n "$SSH_AUTH_SOCK" ]]; then - # No PID but a AUTH_SOCK means agent forwarding is enabled - # Add a nifty symlink for screen/tmux +if [[ ${_plugin__forwarding} == "yes" && -n "$SSH_AUTH_SOCK" ]]; then + # Add a nifty symlink for screen/tmux if agent forwarding [[ -L $SSH_AUTH_SOCK ]] || ln -sf "$SSH_AUTH_SOCK" /tmp/ssh-agent-$USER-screen elif [ -f "${_plugin__ssh_env}" ]; then From 715be61966acecb4d30953e3dd4c9d8a3f8637eb Mon Sep 17 00:00:00 2001 From: Clement Girault Date: Mon, 6 Jun 2011 01:37:07 +1000 Subject: [PATCH 471/518] New theme, Read contents for further customising. --- themes/wedisagree.zsh-theme | 107 ++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 themes/wedisagree.zsh-theme diff --git a/themes/wedisagree.zsh-theme b/themes/wedisagree.zsh-theme new file mode 100644 index 0000000..7cb2793 --- /dev/null +++ b/themes/wedisagree.zsh-theme @@ -0,0 +1,107 @@ +# On a mac with snow leopard, for nicer terminal colours: + +# - Install SIMBL: http://www.culater.net/software/SIMBL/SIMBL.php +# - Download'Terminal-Colours': http://bwaht.net/code/TerminalColours.bundle.zip +# - Place that bundle in ~/Library/Application\ Support/SIMBL/Plugins (create that folder if it doesn't exist) +# - Open Terminal preferences. Go to Settings -> Text -> More +# - Change default colours to your liking. +# +# Here are the colours from Textmate's Monokai theme: +# +# Black: 0, 0, 0 +# Red: 229, 34, 34 +# Green: 166, 227, 45 +# Yellow: 252, 149, 30 +# Blue: 196, 141, 255 +# Magenta: 250, 37, 115 +# Cyan: 103, 217, 240 +# White: 242, 242, 242 + +# Thanks to Steve Losh: http://stevelosh.com/blog/2009/03/candy-colored-terminal/ + +# The prompt + +PROMPT='%{$fg[magenta]%}[%c] %{$reset_color%}' + +# The right-hand prompt + +RPROMPT='${time} %{$fg[magenta]%}$(git_prompt_info)%{$reset_color%}$(git_prompt_status)%{$reset_color%}' + +# Add this at the start of RPROMPT to include rvm info showing ruby-version@gemset-name +# %{$fg[yellow]%}$(~/.rvm/bin/rvm-prompt)%{$reset_color%} + +# local time, color coded by last return code +time_enabled="%(?.%{$fg[green]%}.%{$fg[red]%})%*%{$reset_color%}" +time_disabled="%{$fg[green]%}%*%{$reset_color%}" +time=$time_enabled + +ZSH_THEME_GIT_PROMPT_PREFIX=" ☁ %{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%} ☂" # Ⓓ +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭" # ⓣ +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%} ☀" # Ⓞ + +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[cyan]%} ✚" # ⓐ ⑃ +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[yellow]%} ⚡" # ⓜ ⑁ +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖" # ⓧ ⑂ +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[blue]%} ➜" # ⓡ ⑄ +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[magenta]%} ♒" # ⓤ ⑊ + +# More symbols to choose from: +# ☀ ✹ ☄ ♆ ♀ ♁ ♐ ♇ ♈ ♉ ♚ ♛ ♜ ♝ ♞ ♟ ♠ ♣ ⚢ ⚲ ⚳ ⚴ ⚥ ⚤ ⚦ ⚒ ⚑ ⚐ ♺ ♻ ♼ ☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷ +# ✡ ✔ ✖ ✚ ✱ ✤ ✦ ❤ ➜ ➟ ➼ ✂ ✎ ✐ ⨀ ⨁ ⨂ ⨍ ⨎ ⨏ ⨷ ⩚ ⩛ ⩡ ⩱ ⩲ ⩵ ⩶ ⨠ +# ⬅ ⬆ ⬇ ⬈ ⬉ ⬊ ⬋ ⬒ ⬓ ⬔ ⬕ ⬖ ⬗ ⬘ ⬙ ⬟ ⬤ 〒 ǀ ǁ ǂ ĭ Ť Ŧ + +# Determine if we are using a gemset. +function rvm_gemset() { + GEMSET=`rvm gemset list | grep '=>' | cut -b4-` + if [[ -n $GEMSET ]]; then + echo "%{$fg[yellow]%}$GEMSET%{$reset_color%}|" + fi +} + +# Determine the time since last commit. If branch is clean, +# use a neutral color, otherwise colors will vary according to time. +function git_time_since_commit() { + if git rev-parse --git-dir > /dev/null 2>&1; then + # Only proceed if there is actually a commit. + if [[ $(git log 2>&1 > /dev/null | grep -c "^fatal: bad default revision") == 0 ]]; then + # Get the last commit. + last_commit=`git log --pretty=format:'%at' -1 2> /dev/null` + now=`date +%s` + seconds_since_last_commit=$((now-last_commit)) + + # Totals + MINUTES=$((seconds_since_last_commit / 60)) + HOURS=$((seconds_since_last_commit/3600)) + + # Sub-hours and sub-minutes + DAYS=$((seconds_since_last_commit / 86400)) + SUB_HOURS=$((HOURS % 24)) + SUB_MINUTES=$((MINUTES % 60)) + + if [[ -n $(git status -s 2> /dev/null) ]]; then + if [ "$MINUTES" -gt 30 ]; then + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG" + elif [ "$MINUTES" -gt 10 ]; then + COLOR="$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM" + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT" + fi + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" + fi + + if [ "$HOURS" -gt 24 ]; then + echo "($(rvm_gemset)$COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|" + elif [ "$MINUTES" -gt 60 ]; then + echo "($(rvm_gemset)$COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|" + else + echo "($(rvm_gemset)$COLOR${MINUTES}m%{$reset_color%}|" + fi + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" + echo "($(rvm_gemset)$COLOR~|" + fi + fi +} \ No newline at end of file From 70cb607b7bee04ceef74d6f7aa80589e009e4c78 Mon Sep 17 00:00:00 2001 From: Adam Lindberg Date: Tue, 7 Jun 2011 15:28:43 +0200 Subject: [PATCH 472/518] Remove unused colors and use original prompt color --- themes/guru.zsh-theme | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/themes/guru.zsh-theme b/themes/guru.zsh-theme index aa7b28b..b99cd81 100644 --- a/themes/guru.zsh-theme +++ b/themes/guru.zsh-theme @@ -6,23 +6,17 @@ # Color shortcuts R=$fg[red] -Y=$fg[yellow] G=$fg[green] M=$fg[magenta] -W=$fg[white] -B=$fg[black] RB=$fg_bold[red] YB=$fg_bold[yellow] -GB=$fg_bold[green] -MB=$fg_bold[magenta] -WB=$fg_bold[white] -BB=$fg_bold[black] +BB=$fg_bold[blue] RESET=$reset_color if [ "$(whoami)" = "root" ]; then PROMPTCOLOR="%{$RB%}" PREFIX="-!-"; else - PROMPTCOLOR="%{$BB%}" PREFIX="---"; + PROMPTCOLOR="" PREFIX="---"; fi local return_code="%(?..%{$R%}%? ↵%{$RESET%})" @@ -75,7 +69,8 @@ function custom_git_prompt() { echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$(git_prompt_ahead)$(custom_git_prompt_status)$ZSH_THEME_GIT_PROMPT_SUFFIX" } -PROMPT='${PROMPTCOLOR}$PREFIX %2~ $(custom_git_prompt)%{$M%}%B»%b%{$RESET%} ' +# %B sets bold text +PROMPT='%B$PREFIX %2~ $(custom_git_prompt)%{$M%}%B»%b%{$RESET%} ' RPS1="${return_code}" ZSH_THEME_GIT_PROMPT_PREFIX="%{$YB%}‹" From 915c28752eb8bfb9610e14f62161ab3bd573d218 Mon Sep 17 00:00:00 2001 From: Adam Lindberg Date: Tue, 7 Jun 2011 15:32:48 +0200 Subject: [PATCH 473/518] Add email address --- themes/guru.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/guru.zsh-theme b/themes/guru.zsh-theme index b99cd81..cbd5619 100644 --- a/themes/guru.zsh-theme +++ b/themes/guru.zsh-theme @@ -1,5 +1,5 @@ #------------------------------------------------------------------------------- -# Guru theme for oh-my-zsh by Adam Lindberg +# Guru theme for oh-my-zsh by Adam Lindberg (eproxus@gmail.com) # (Needs Git plugin for current_branch method) #------------------------------------------------------------------------------- From 73946a6066fa8bf740b4765b7e204df9599f9689 Mon Sep 17 00:00:00 2001 From: Adam Lindberg Date: Tue, 7 Jun 2011 15:40:18 +0200 Subject: [PATCH 474/518] Add note about Solarized color theme --- themes/guru.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/guru.zsh-theme b/themes/guru.zsh-theme index cbd5619..a5ffdb7 100644 --- a/themes/guru.zsh-theme +++ b/themes/guru.zsh-theme @@ -1,9 +1,9 @@ #------------------------------------------------------------------------------- # Guru theme for oh-my-zsh by Adam Lindberg (eproxus@gmail.com) +# Intended to be used with Solarized: http://ethanschoonover.com/solarized # (Needs Git plugin for current_branch method) #------------------------------------------------------------------------------- - # Color shortcuts R=$fg[red] G=$fg[green] From 4a7392fdd0be8fafcaffccc206f23c7746129fb8 Mon Sep 17 00:00:00 2001 From: Adam Lindberg Date: Tue, 7 Jun 2011 15:40:32 +0200 Subject: [PATCH 475/518] Fix git R and M status when used together --- themes/guru.zsh-theme | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/guru.zsh-theme b/themes/guru.zsh-theme index a5ffdb7..dfec3df 100644 --- a/themes/guru.zsh-theme +++ b/themes/guru.zsh-theme @@ -35,7 +35,7 @@ custom_git_prompt_status() { if $(echo "$INDEX" | grep '^ D ' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS" fi - if $(echo "$INDEX" | grep '^ M ' &> /dev/null); then + if $(echo "$INDEX" | grep '^.M ' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS" elif $(echo "$INDEX" | grep '^AM ' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS" @@ -46,7 +46,7 @@ custom_git_prompt_status() { if $(echo "$INDEX" | grep '^D ' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_STAGED_DELETED$STATUS" fi - if $(echo "$INDEX" | grep '^R ' &> /dev/null); then + if $(echo "$INDEX" | grep '^R' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_STAGED_RENAMED$STATUS" fi if $(echo "$INDEX" | grep '^M ' &> /dev/null); then From d99284f6b569a0860ed14330c8c9eaf5f0441fe8 Mon Sep 17 00:00:00 2001 From: Adam Lindberg Date: Tue, 7 Jun 2011 15:42:55 +0200 Subject: [PATCH 476/518] Rename guru theme to sunrise --- themes/{guru.zsh-theme => sunrise.zsh-theme} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename themes/{guru.zsh-theme => sunrise.zsh-theme} (97%) diff --git a/themes/guru.zsh-theme b/themes/sunrise.zsh-theme similarity index 97% rename from themes/guru.zsh-theme rename to themes/sunrise.zsh-theme index dfec3df..1500408 100644 --- a/themes/guru.zsh-theme +++ b/themes/sunrise.zsh-theme @@ -1,5 +1,5 @@ #------------------------------------------------------------------------------- -# Guru theme for oh-my-zsh by Adam Lindberg (eproxus@gmail.com) +# Sunrise theme for oh-my-zsh by Adam Lindberg (eproxus@gmail.com) # Intended to be used with Solarized: http://ethanschoonover.com/solarized # (Needs Git plugin for current_branch method) #------------------------------------------------------------------------------- From 3eae652a6d4bc5f280bb7f9d33000f378becf13c Mon Sep 17 00:00:00 2001 From: Adam Lindberg Date: Wed, 8 Jun 2011 16:33:29 +0100 Subject: [PATCH 477/518] Fix MM lines being read correctly --- themes/sunrise.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/sunrise.zsh-theme b/themes/sunrise.zsh-theme index 1500408..88b371d 100644 --- a/themes/sunrise.zsh-theme +++ b/themes/sunrise.zsh-theme @@ -49,7 +49,7 @@ custom_git_prompt_status() { if $(echo "$INDEX" | grep '^R' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_STAGED_RENAMED$STATUS" fi - if $(echo "$INDEX" | grep '^M ' &> /dev/null); then + if $(echo "$INDEX" | grep '^M' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_STAGED_MODIFIED$STATUS" fi if $(echo "$INDEX" | grep '^A' &> /dev/null); then From f9bf396e4ac68299f1370ed54350cc14ce954eea Mon Sep 17 00:00:00 2001 From: Marc Abramowitz Date: Thu, 9 Jun 2011 21:22:33 -0700 Subject: [PATCH 478/518] Add Django plugin. This is a slight modification of the Django zsh completions that I found at https://raw.github.com/technolize/zsh-completion-funcs/master/_manage.py --- plugins/django/django.plugin.zsh | 222 +++++++++++++++++++++++++++++++ 1 file changed, 222 insertions(+) create mode 100644 plugins/django/django.plugin.zsh diff --git a/plugins/django/django.plugin.zsh b/plugins/django/django.plugin.zsh new file mode 100644 index 0000000..1d72a2f --- /dev/null +++ b/plugins/django/django.plugin.zsh @@ -0,0 +1,222 @@ +#compdef manage.py + +typeset -ga nul_args +nul_args=( + '--settings=-[the Python path to a settings module.]:file:_files' + '--pythonpath=-[a directory to add to the Python path.]::directory:_directories' + '--traceback[print traceback on exception.]' + "--version[show program's version number and exit.]" + {-h,--help}'[show this help message and exit.]' +) + +_managepy-adminindex(){ + _arguments -s : \ + $nul_args \ + '*::directory:_directories' && ret=0 +} + +_managepy-createcachetable(){ + _arguments -s : \ + $nul_args && ret=0 +} + +_managepy-dbshell(){ + _arguments -s : \ + $nul_args && ret=0 +} + +_managepy-diffsettings(){ + _arguments -s : \ + $nul_args && ret=0 +} + +_managepy-dumpdata(){ + _arguments -s : \ + '--format=-[specifies the output serialization format for fixtures.]:format:(json yaml xml)' \ + '--indent=-[specifies the indent level to use when pretty-printing output.]:' \ + $nul_args \ + '*::appname:_applist' && ret=0 +} + +_managepy-flush(){ + _arguments -s : \ + '--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\:minimal 1\:normal 2\:all))' \ + '--noinput[tells Django to NOT prompt the user for input of any kind.]' \ + $nul_args && ret=0 +} + +_managepy-help(){ + _arguments -s : \ + '*:command:_managepy_cmds' \ + $nul_args && ret=0 +} + +_managepy_cmds(){ + local line + local -a cmd + _call_program help-command ./manage.py help \ + |& sed -n '/^ /s/[(), ]/ /gp' \ + | while read -A line; do cmd=($line $cmd) done + _describe -t managepy-command 'manage.py command' cmd +} + +_managepy-inspectdb(){ + _arguments -s : \ + $nul_args && ret=0 +} + +_managepy-loaddata(){ + _arguments -s : \ + '--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\:minimal 1\:normal 2\:all))' \ + '*::file:_files' \ + $nul_args && ret=0 +} + +_managepy-reset(){ + _arguments -s : \ + '--noinput[tells Django to NOT prompt the user for input of any kind.]' \ + '*::appname:_applist' \ + $nul_args && ret=0 +} + +_managepy-runfcgi(){ + local state + + local fcgi_opts + fcgi_opts=( + 'protocol[fcgi, scgi, ajp, ... (default fcgi)]:protocol:(fcgi scgi ajp)' + 'host[hostname to listen on..]:' + 'port[port to listen on.]:' + 'socket[UNIX socket to listen on.]::file:_files' + 'method[prefork or threaded (default prefork)]:method:(prefork threaded)' + 'maxrequests[number of requests a child handles before it is killed and a new child is forked (0 = no limit).]:' + 'maxspare[max number of spare processes / threads.]:' + 'minspare[min number of spare processes / threads.]:' + 'maxchildren[hard limit number of processes / threads.]:' + 'daemonize[whether to detach from terminal.]:boolean:(False True)' + 'pidfile[write the spawned process-id to this file.]:file:_files' + 'workdir[change to this directory when daemonizing.]:directory:_files' + 'outlog[write stdout to this file.]:file:_files' + 'errlog[write stderr to this file.]:file:_files' + ) + + _arguments -s : \ + $nul_args \ + '*: :_values "FCGI Setting" $fcgi_opts' && ret=0 +} + +_managepy-runserver(){ + _arguments -s : \ + '--noreload[tells Django to NOT use the auto-reloader.]' \ + '--adminmedia[specifies the directory from which to serve admin media.]:directory:_files' \ + $nul_args && ret=0 +} + +_managepy-shell(){ + _arguments -s : \ + '--plain[tells Django to use plain Python, not IPython.]' \ + $nul_args && ret=0 +} + +_managepy-sql(){} +_managepy-sqlall(){} +_managepy-sqlclear(){} +_managepy-sqlcustom(){} +_managepy-sqlflush(){} +_managepy-sqlindexes(){} +_managepy-sqlinitialdata(){} +_managepy-sqlreset(){} +_managepy-sqlsequencereset(){} +_managepy-startapp(){} + +_managepy-syncdb() { + _arguments -s : \ + '--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\:minimal 1\:normal 2\:all))' \ + '--noinput[tells Django to NOT prompt the user for input of any kind.]' \ + $nul_args && ret=0 +} + +_managepy-test() { + _arguments -s : \ + '--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\:minimal 1\:normal 2\:all))' \ + '--noinput[tells Django to NOT prompt the user for input of any kind.]' \ + '*::appname:_applist' \ + $nul_args && ret=0 +} + +_managepy-testserver() { + _arguments -s : \ + '--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\:minimal 1\:normal 2\:all))' \ + '--addrport=-[port number or ipaddr:port to run the server on.]' \ + '*::fixture:_files' \ + $nul_args && ret=0 +} + +_managepy-validate() { + _arguments -s : \ + $nul_args && ret=0 +} + +_managepy-commands() { + local -a commands + + commands=( + 'adminindex:prints the admin-index template snippet for the given app name(s).' + 'createcachetable:creates the table needed to use the SQL cache backend.' + 'dbshell:runs the command-line client for the current DATABASE_ENGINE.' + "diffsettings:displays differences between the current settings.py and Django's default settings." + 'dumpdata:Output the contents of the database as a fixture of the given format.' + 'flush:Executes ``sqlflush`` on the current database.' + 'help:manage.py help.' + 'inspectdb:Introspects the database tables in the given database and outputs a Django model module.' + 'loaddata:Installs the named fixture(s) in the database.' + 'reset:Executes ``sqlreset`` for the given app(s) in the current database.' + 'runfcgi:Run this project as a fastcgi (or some other protocol supported by flup) application,' + 'runserver:Starts a lightweight Web server for development.' + 'shell:Runs a Python interactive interpreter.' + 'sql:Prints the CREATE TABLE SQL statements for the given app name(s).' + 'sqlall:Prints the CREATE TABLE, custom SQL and CREATE INDEX SQL statements for the given model module name(s).' + 'sqlclear:Prints the DROP TABLE SQL statements for the given app name(s).' + 'sqlcustom:Prints the custom table modifying SQL statements for the given app name(s).' + 'sqlflush:Returns a list of the SQL statements required to return all tables in the database to the state they were in just after they were installed.' + 'sqlindexes:Prints the CREATE INDEX SQL statements for the given model module name(s).' + "sqlinitialdata:RENAMED: see 'sqlcustom'" + 'sqlreset:Prints the DROP TABLE SQL, then the CREATE TABLE SQL, for the given app name(s).' + 'sqlsequencereset:Prints the SQL statements for resetting sequences for the given app name(s).' + "startapp:Creates a Django app directory structure for the given app name in this project's directory." + "syncdb:Create the database tables for all apps in INSTALLED_APPS whose tables haven't already been created." + 'test:Runs the test suite for the specified applications, or the entire site if no apps are specified.' + 'testserver:Runs a development server with data from the given fixture(s).' + 'validate:Validates all installed models.' + ) + + _describe -t commands 'manage.py command' commands && ret=0 +} + +_applist() { + local line + local -a apps + _call_program help-command "python -c \"import os.path as op, re, django.conf, sys;\\ + bn=op.basename(op.abspath(op.curdir));[sys\\ + .stdout.write(str(re.sub(r'^%s\.(.*?)$' % + bn, r'\1', i)) + '\n') for i in django.conf.settings.\\ + INSTALLED_APPS if re.match(r'^%s' % bn, i)]\"" \ + | while read -A line; do apps=($line $apps) done + _values 'Application' $apps && ret=0 +} + +_managepy() { + local curcontext=$curcontext ret=1 + + if ((CURRENT == 2)); then + _managepy-commands + else + shift words + (( CURRENT -- )) + curcontext="${curcontext%:*:*}:managepy-$words[1]:" + _call_function ret _managepy-$words[1] + fi +} + +compdef _managepy manage.py +compdef _managepy django From 527355eae3c8b019ce203c38b6aa5ffd818c3640 Mon Sep 17 00:00:00 2001 From: Marius Ghita Date: Wed, 15 Jun 2011 01:17:22 +0300 Subject: [PATCH 479/518] When the theme choice is left out, oh-my-zsh will not try to load it --- oh-my-zsh.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index d72d90c..c452249 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -43,6 +43,9 @@ then source "$RANDOM_THEME" echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..." else - source "$ZSH/themes/$ZSH_THEME.zsh-theme" + if [ ! "$ZSH_THEME" = "" ] + then + source "$ZSH/themes/$ZSH_THEME.zsh-theme" + fi fi From f22460f18125421a73a60893ae97ed545465bca7 Mon Sep 17 00:00:00 2001 From: Stephen Tudor Date: Sat, 18 Jun 2011 19:24:55 -0400 Subject: [PATCH 480/518] Add ohmyzsh theme, my version of dogenpunk --- themes/smt.zsh-theme | 91 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 themes/smt.zsh-theme diff --git a/themes/smt.zsh-theme b/themes/smt.zsh-theme new file mode 100644 index 0000000..fcb4858 --- /dev/null +++ b/themes/smt.zsh-theme @@ -0,0 +1,91 @@ +# ----------------------------------------------------------------------------- +# FILE: smt.zsh-theme +# DESCRIPTION: oh-my-zsh theme file, based on dogenpunk by Matthew Nelson. +# AUTHOR: Stephen Tudor (stephen@tudorstudio.com +# VERSION: 0.1 +# SCREENSHOT: coming soon +# ----------------------------------------------------------------------------- + +MODE_INDICATOR="%{$fg_bold[red]%}❮%{$reset_color%}%{$fg[red]%}❮❮%{$reset_color%}" +local return_status="%{$fg[red]%}%(?..⏎)%{$reset_color%} " + +ZSH_THEME_GIT_PROMPT_PREFIX="|" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}⚡%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_AHEAD="%{$fg_bold[red]%}!%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[green]%}✓%{$reset_color%}" + +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭" + +# Format for git_prompt_long_sha() and git_prompt_short_sha() +ZSH_THEME_GIT_PROMPT_SHA_BEFORE="➤ %{$fg_bold[yellow]%}" +ZSH_THEME_GIT_PROMPT_SHA_AFTER="%{$reset_color%}" + +function prompt_char() { + git branch >/dev/null 2>/dev/null && echo "%{$fg[green]%}±%{$reset_color%}" && return + hg root >/dev/null 2>/dev/null && echo "%{$fg_bold[red]%}☿%{$reset_color%}" && return + echo "%{$fg[cyan]%}◯%{$reset_color%}" +} + +# Colors vary depending on time lapsed. +ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT="%{$fg[green]%}" +ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM="%{$fg[yellow]%}" +ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG="%{$fg[red]%}" +ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL="%{$fg[cyan]%}" + +# Determine the time since last commit. If branch is clean, +# use a neutral color, otherwise colors will vary according to time. +function git_time_since_commit() { + if git rev-parse --git-dir > /dev/null 2>&1; then + # Only proceed if there is actually a commit. + if [[ $(git log 2>&1 > /dev/null | grep -c "^fatal: bad default revision") == 0 ]]; then + # Get the last commit. + last_commit=`git log --pretty=format:'%at' -1 2> /dev/null` + now=`date +%s` + seconds_since_last_commit=$((now-last_commit)) + + # Totals + MINUTES=$((seconds_since_last_commit / 60)) + HOURS=$((seconds_since_last_commit/3600)) + + # Sub-hours and sub-minutes + DAYS=$((seconds_since_last_commit / 86400)) + SUB_HOURS=$((HOURS % 24)) + SUB_MINUTES=$((MINUTES % 60)) + + if [[ -n $(git status -s 2> /dev/null) ]]; then + if [ "$MINUTES" -gt 30 ]; then + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG" + elif [ "$MINUTES" -gt 10 ]; then + COLOR="$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM" + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT" + fi + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" + fi + + if [ "$HOURS" -gt 24 ]; then + echo "[$COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}]" + elif [ "$MINUTES" -gt 60 ]; then + echo "[$COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}]" + else + echo "[$COLOR${MINUTES}m%{$reset_color%}]" + fi + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" + echo "[$COLOR~]" + fi + fi +} + +PROMPT=' +%{$fg[blue]%}%m%{$reset_color%} 寿帝文 %{$fg[cyan]%}%~ %{$reset_color%}$(git_prompt_short_sha)$(git_prompt_info) +%{$fg[red]%}%!%{$reset_color%} $(prompt_char) : ' + +RPROMPT='${return_status}$(git_time_since_commit)$(git_prompt_status)%{$reset_color%}' From 03f71d14dd1866b9da58f28f8f40f5c12bf3072f Mon Sep 17 00:00:00 2001 From: Stephen Tudor Date: Sun, 19 Jun 2011 12:22:23 -0400 Subject: [PATCH 481/518] Changed kanji to fuku (good luck) --- themes/smt.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/smt.zsh-theme b/themes/smt.zsh-theme index fcb4858..7a28752 100644 --- a/themes/smt.zsh-theme +++ b/themes/smt.zsh-theme @@ -85,7 +85,7 @@ function git_time_since_commit() { } PROMPT=' -%{$fg[blue]%}%m%{$reset_color%} 寿帝文 %{$fg[cyan]%}%~ %{$reset_color%}$(git_prompt_short_sha)$(git_prompt_info) +%{$fg[blue]%}%m%{$reset_color%} 福 %{$fg[cyan]%}%~ %{$reset_color%}$(git_prompt_short_sha)$(git_prompt_info) %{$fg[red]%}%!%{$reset_color%} $(prompt_char) : ' RPROMPT='${return_status}$(git_time_since_commit)$(git_prompt_status)%{$reset_color%}' From e43eec99f94c00a6a9d2b30f9c449aff5ab0dfe5 Mon Sep 17 00:00:00 2001 From: Matthew McCullough Date: Tue, 28 Jun 2011 19:42:50 -0600 Subject: [PATCH 482/518] Added cloudapp from @holman of @GitHub fame --- plugins/cloudapp/cloudapp.plugin.zsh | 2 + plugins/cloudapp/cloudapp.rb | 60 ++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 plugins/cloudapp/cloudapp.plugin.zsh create mode 100755 plugins/cloudapp/cloudapp.rb diff --git a/plugins/cloudapp/cloudapp.plugin.zsh b/plugins/cloudapp/cloudapp.plugin.zsh new file mode 100644 index 0000000..99252f6 --- /dev/null +++ b/plugins/cloudapp/cloudapp.plugin.zsh @@ -0,0 +1,2 @@ +#!/bin/zsh +alias cloudapp=$ZSH/plugins/cloudapp/cloudapp.rb diff --git a/plugins/cloudapp/cloudapp.rb b/plugins/cloudapp/cloudapp.rb new file mode 100755 index 0000000..a11cfdb --- /dev/null +++ b/plugins/cloudapp/cloudapp.rb @@ -0,0 +1,60 @@ +#!/usr/bin/env ruby +# +# cloudapp +# Zach Holman / @holman +# +# Uploads a file from the command line to CloudApp, drops it into your +# clipboard (on a Mac, at least). +# +# Example: +# +# cloudapp drunk-blake.png +# +# This requires Aaron Russell's cloudapp_api gem: +# +# gem install cloudapp_api +# +# Requires you set your CloudApp credentials in ~/.cloudapp as a simple file of: +# +# email +# password + +require 'rubygems' +begin + require 'cloudapp_api' +rescue LoadError + puts "You need to install cloudapp_api: gem install cloudapp_api" + exit!(1) +end + +config_file = "#{ENV['HOME']}/.cloudapp" +unless File.exist?(config_file) + puts "You need to type your email and password (one per line) into "+ + "`~/.cloudapp`" + exit!(1) +end + +email,password = File.read(config_file).split("\n") + +class HTTParty::Response + # Apparently HTTPOK.ok? IS NOT OKAY WTFFFFFFFFFFUUUUUUUUUUUUUU + # LETS MONKEY PATCH IT I FEEL OKAY ABOUT IT + def ok? ; true end +end + +if ARGV[0].nil? + puts "You need to specify a file to upload." + exit!(1) +end + +CloudApp.authenticate(email,password) +url = CloudApp::Item.create(:upload, {:file => ARGV[0]}).url + +# Say it for good measure. +puts "Uploaded to #{url}." + +# Get the embed link. +url = "#{url}/#{ARGV[0].split('/').last}" + +# Copy it to your (Mac's) clipboard. +`echo '#{url}' | tr -d "\n" | pbcopy` From b61fcb64abfd733a95f0e83e3009086959623252 Mon Sep 17 00:00:00 2001 From: Frank Louwers Date: Thu, 30 Jun 2011 15:19:50 +0200 Subject: [PATCH 483/518] knife autocompletion --- plugins/knife/_knife | 174 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 plugins/knife/_knife diff --git a/plugins/knife/_knife b/plugins/knife/_knife new file mode 100644 index 0000000..7f8c95e --- /dev/null +++ b/plugins/knife/_knife @@ -0,0 +1,174 @@ +#compdef knife + +# These flags should be available everywhere according to man knife +knife_general_flags=( --help --server-url --key --config --editor --format --log_level --logfile --no-editor --user --print-after --version --yes ) + +# knife has a very special syntax, some example calls are: +# knife status +# knife cookbook list +# knife role show ROLENAME +# knife data bag show DATABAGNAME +# knife role show ROLENAME --attribute ATTRIBUTENAME +# knife cookbook show COOKBOOKNAME COOKBOOKVERSION recipes + +# The -Q switch in compadd allow for completions of things like "data bag" without having to go through two rounds of completion and avoids zsh inserting a \ for escaping spaces +_knife() { + local curcontext="$curcontext" state line + typeset -A opt_args + cloudproviders=(bluebox ec2 rackspace slicehost terremark) + _arguments \ + '1: :->knifecmd'\ + '2: :->knifesubcmd'\ + '3: :->knifesubcmd2' \ + '4: :->knifesubcmd3' \ + '5: :->knifesubcmd4' \ + '6: :->knifesubcmd5' + + case $state in + knifecmd) + compadd -Q "$@" bootstrap client configure cookbook "cookbook site" "data bag" exec index node recipe role search ssh status windows $cloudproviders + ;; + knifesubcmd) + case $words[2] in + (bluebox|ec2|rackspace|slicehost|terremark) + compadd "$@" server images + ;; + client) + compadd -Q "$@" "bulk delete" list create show delete edit reregister + ;; + configure) + compadd "$@" client + ;; + cookbook) + compadd -Q "$@" test list create download delete "metadata from" show "bulk delete" metadata upload + ;; + node) + compadd -Q "$@" "from file" create show edit delete list run_list "bulk delete" + ;; + recipe) + compadd "$@" list + ;; + role) + compadd -Q "$@" "bulk delete" create delete edit "from file" list show + ;; + windows) + compadd "$@" bootstrap + ;; + *) + _arguments '2:Subsubcommands:($(_knife_options1))' + esac + ;; + knifesubcmd2) + case $words[3] in + server) + compadd "$@" list create delete + ;; + images) + compadd "$@" list + ;; + site) + compadd "$@" vendor show share search download list unshare + ;; + (show|delete|edit) + _arguments '3:Subsubcommands:($(_chef_$words[2]s_remote))' + ;; + (upload|test) + _arguments '3:Subsubcommands:($(_chef_$words[2]s_local) --all)' + ;; + list) + compadd -a "$@" knife_general_flags + ;; + bag) + compadd -Q "$@" show edit list "from file" create delete + ;; + *) + _arguments '3:Subsubcommands:($(_knife_options2))' + esac + ;; + knifesubcmd3) + case $words[3] in + show) + case $words[2] in + cookbook) + versioncomp=1 + _arguments '4:Cookbookversions:($(_cookbook_versions) latest)' + ;; + (node|client|role) + compadd "$@" --attribute + esac + esac + case $words[4] in + (show|edit) + _arguments '4:Subsubsubcommands:($(_chef_$words[2]_$words[3]s_remote))' + ;; + file) + _arguments '*:file or directory:_files -g "*.(rb|json)"' + ;; + list) + compadd -a "$@" knife_general_flags + ;; + *) + _arguments '*:Subsubcommands:($(_knife_options3))' + esac + ;; + knifesubcmd4) + if (( versioncomp > 0 )); then + compadd "$@" attributes definitions files libraries providers recipes resources templates + else + _arguments '*:Subsubcommands:($(_knife_options2))' + fi + ;; + knifesubcmd5) + _arguments '*:Subsubcommands:($(_knife_options3))' + esac +} + +# Helper functions to provide the argument completion for several depths of commands +_knife_options1() { + ( for line in $( knife $words[2] --help | grep -v "^knife" ); do echo $line | grep "\-\-"; done ) +} + +_knife_options2() { + ( for line in $( knife $words[2] $words[3] --help | grep -v "^knife" ); do echo $line | grep "\-\-"; done ) +} + +_knife_options3() { + ( for line in $( knife $words[2] $words[3] $words[4] --help | grep -v "^knife" ); do echo $line | grep "\-\-"; done ) +} + +# The chef_x_remote functions use knife to get a list of objects of type x on the server +_chef_roles_remote() { + (knife role list | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') +} + +_chef_clients_remote() { + (knife client list | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') +} + +_chef_nodes_remote() { + (knife node list | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') +} + +_chef_cookbooks_remote() { + (knife cookbook list | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') +} + +_chef_sitecookbooks_remote() { + (knife cookbook site list | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') +} + +_chef_data_bags_remote() { + (knife data bag list | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') +} + +# The chef_x_local functions use the knife config to find the paths of relevant objects x to be uploaded to the server +_chef_cookbooks_local() { + (for i in $( grep cookbook_path $HOME/.chef/knife.rb | awk 'BEGIN {FS = "[" }; {print $2}' | sed 's/\,//g' | sed "s/'//g" | sed 's/\(.*\)]/\1/' ); do ls $i; done) +} + +# This function extracts the available cookbook versions on the chef server +_cookbook_versions() { + (knife cookbook show $words[4] | grep -v $words[4] | grep -v -E '\]|\[|\{|\}' | sed 's/ //g' | sed 's/"//g') +} + +_knife "$@" From 8f62ef490de6945308c144a3bee7c3509a16d421 Mon Sep 17 00:00:00 2001 From: Dan Poggi Date: Tue, 12 Jul 2011 23:20:21 -0400 Subject: [PATCH 484/518] Added 'dpoggi' theme --- themes/dpoggi.zsh-theme | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 themes/dpoggi.zsh-theme diff --git a/themes/dpoggi.zsh-theme b/themes/dpoggi.zsh-theme new file mode 100644 index 0000000..6469a20 --- /dev/null +++ b/themes/dpoggi.zsh-theme @@ -0,0 +1,14 @@ +if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +PROMPT='%{$fg[$NCOLOR]%}%n%{$reset_color%}@%{$fg[cyan]%}%m\ +%{$reset_color%}:%{$fg[magenta]%}%~\ +$(git_prompt_info) \ +%{$fg[red]%}%(!.#.»)%{$reset_color%} ' +PROMPT2='%{$fg[red]%}\ %{$reset_color%}' +RPS1='${return_code}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}(" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}○%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}⚡%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$fg[yellow]%})%{$reset_color%}" From 9e8194355c1a4f69dc52fbe2699fbce1be5c6493 Mon Sep 17 00:00:00 2001 From: Bodo Tasche Date: Sun, 12 Jun 2011 13:13:39 +0200 Subject: [PATCH 485/518] Added bundler-exec plugin --- plugins/bundler-exec/bundler-exec.plugin.zsh | 37 ++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 plugins/bundler-exec/bundler-exec.plugin.zsh diff --git a/plugins/bundler-exec/bundler-exec.plugin.zsh b/plugins/bundler-exec/bundler-exec.plugin.zsh new file mode 100644 index 0000000..9667259 --- /dev/null +++ b/plugins/bundler-exec/bundler-exec.plugin.zsh @@ -0,0 +1,37 @@ +# This plugin is based on https://github.com/gma/bundler-exec +# modify the BUNDLED_COMMANDS if needed + +BUNDLED_COMMANDS=(cucumber heroku rackup rails rake rspec ruby shotgun spec spork) + +## Functions + +bundler-installed() +{ + which bundle > /dev/null 2>&1 +} + +within-bundled-project() +{ + local dir="$(pwd)" + while [ "$(dirname $dir)" != "/" ]; do + [ -f "$dir/Gemfile" ] && return + dir="$(dirname $dir)" + done + false +} + +run-with-bundler() +{ + local command="$1" + shift + if bundler-installed && within-bundled-project; then + bundle exec $command "$@" + else + $command "$@" + fi +} + +## Main program +for CMD in $BUNDLED_COMMANDS; do + alias $CMD="run-with-bundler $CMD" +done From 05883f383143fa4821a5b07a748a800c0299f1fd Mon Sep 17 00:00:00 2001 From: Bodo Tasche Date: Sun, 12 Jun 2011 15:52:58 +0200 Subject: [PATCH 486/518] use lowercase for variablenames --- plugins/bundler-exec/bundler-exec.plugin.zsh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/bundler-exec/bundler-exec.plugin.zsh b/plugins/bundler-exec/bundler-exec.plugin.zsh index 9667259..cfab16c 100644 --- a/plugins/bundler-exec/bundler-exec.plugin.zsh +++ b/plugins/bundler-exec/bundler-exec.plugin.zsh @@ -1,7 +1,7 @@ # This plugin is based on https://github.com/gma/bundler-exec # modify the BUNDLED_COMMANDS if needed -BUNDLED_COMMANDS=(cucumber heroku rackup rails rake rspec ruby shotgun spec spork) +bundled_commands=(cucumber heroku rackup rails rake rspec ruby shotgun spec spork) ## Functions @@ -32,6 +32,6 @@ run-with-bundler() } ## Main program -for CMD in $BUNDLED_COMMANDS; do - alias $CMD="run-with-bundler $CMD" +for cmd in $bundled_commands; do + alias $cmd="run-with-bundler $cmd" done From 3aee5c19412dea541495e10f1c4cc7a6d8e4af50 Mon Sep 17 00:00:00 2001 From: Bodo Tasche Date: Sun, 12 Jun 2011 19:16:04 +0200 Subject: [PATCH 487/518] changed names of functions and variables to fit naming conventions --- plugins/bundler-exec/bundler-exec.plugin.zsh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/plugins/bundler-exec/bundler-exec.plugin.zsh b/plugins/bundler-exec/bundler-exec.plugin.zsh index cfab16c..4684dcb 100644 --- a/plugins/bundler-exec/bundler-exec.plugin.zsh +++ b/plugins/bundler-exec/bundler-exec.plugin.zsh @@ -5,26 +5,26 @@ bundled_commands=(cucumber heroku rackup rails rake rspec ruby shotgun spec spor ## Functions -bundler-installed() +_bundler-installed() { which bundle > /dev/null 2>&1 } -within-bundled-project() +_within-bundled-project() { - local dir="$(pwd)" - while [ "$(dirname $dir)" != "/" ]; do - [ -f "$dir/Gemfile" ] && return - dir="$(dirname $dir)" + local check_dir=$PWD + while [ "$(dirname $check_dir)" != "/" ]; do + [ -f "$check_dir/Gemfile" ] && return + dir="$(dirname $check_dir)" done false } -run-with-bundler() +_run-with-bundler() { local command="$1" shift - if bundler-installed && within-bundled-project; then + if _bundler-installed && _within-bundled-project; then bundle exec $command "$@" else $command "$@" @@ -33,5 +33,5 @@ run-with-bundler() ## Main program for cmd in $bundled_commands; do - alias $cmd="run-with-bundler $cmd" + alias $cmd="_run-with-bundler $cmd" done From 86958a32f3d3e647fc61e92700a9ce393e11a3cb Mon Sep 17 00:00:00 2001 From: Bodo Tasche Date: Sun, 12 Jun 2011 20:28:27 +0200 Subject: [PATCH 488/518] forgot to rename one variable --- plugins/bundler-exec/bundler-exec.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/bundler-exec/bundler-exec.plugin.zsh b/plugins/bundler-exec/bundler-exec.plugin.zsh index 4684dcb..bc4d35a 100644 --- a/plugins/bundler-exec/bundler-exec.plugin.zsh +++ b/plugins/bundler-exec/bundler-exec.plugin.zsh @@ -15,7 +15,7 @@ _within-bundled-project() local check_dir=$PWD while [ "$(dirname $check_dir)" != "/" ]; do [ -f "$check_dir/Gemfile" ] && return - dir="$(dirname $check_dir)" + check_dir="$(dirname $check_dir)" done false } @@ -27,7 +27,7 @@ _run-with-bundler() if _bundler-installed && _within-bundled-project; then bundle exec $command "$@" else - $command "$@" + $command "$@" fi } From 69d30a6302f8c7daf6ad5ecf23224074789843db Mon Sep 17 00:00:00 2001 From: Bodo Tasche Date: Sun, 12 Jun 2011 23:16:47 +0200 Subject: [PATCH 489/518] Moved opening braces --- plugins/bundler-exec/bundler-exec.plugin.zsh | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/plugins/bundler-exec/bundler-exec.plugin.zsh b/plugins/bundler-exec/bundler-exec.plugin.zsh index bc4d35a..09f44ed 100644 --- a/plugins/bundler-exec/bundler-exec.plugin.zsh +++ b/plugins/bundler-exec/bundler-exec.plugin.zsh @@ -1,17 +1,15 @@ # This plugin is based on https://github.com/gma/bundler-exec -# modify the BUNDLED_COMMANDS if needed +# modify the bundled_commands if needed bundled_commands=(cucumber heroku rackup rails rake rspec ruby shotgun spec spork) ## Functions -_bundler-installed() -{ +_bundler-installed() { which bundle > /dev/null 2>&1 } -_within-bundled-project() -{ +_within-bundled-project() { local check_dir=$PWD while [ "$(dirname $check_dir)" != "/" ]; do [ -f "$check_dir/Gemfile" ] && return @@ -20,8 +18,7 @@ _within-bundled-project() false } -_run-with-bundler() -{ +_run-with-bundler() { local command="$1" shift if _bundler-installed && _within-bundled-project; then From 37fcd4af049ad9b755d7b1d32cf63b537da0342c Mon Sep 17 00:00:00 2001 From: Hakan Ensari Date: Wed, 13 Jul 2011 22:39:23 +0100 Subject: [PATCH 490/518] update bundled commands --- plugins/bundler-exec/bundler-exec.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/bundler-exec/bundler-exec.plugin.zsh b/plugins/bundler-exec/bundler-exec.plugin.zsh index 09f44ed..61829eb 100644 --- a/plugins/bundler-exec/bundler-exec.plugin.zsh +++ b/plugins/bundler-exec/bundler-exec.plugin.zsh @@ -1,7 +1,7 @@ # This plugin is based on https://github.com/gma/bundler-exec # modify the bundled_commands if needed -bundled_commands=(cucumber heroku rackup rails rake rspec ruby shotgun spec spork) +bundled_commands=(cap capify cucumber heroku rackup rails rake rspec ruby shotgun spec spork thin unicorn unicorn_rails) ## Functions From a77e6fb003cc80fbbff5d453a5ca3d38638d99ed Mon Sep 17 00:00:00 2001 From: Hakan Ensari Date: Wed, 13 Jul 2011 22:40:23 +0100 Subject: [PATCH 491/518] fix indentation --- plugins/bundler-exec/bundler-exec.plugin.zsh | 30 ++++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/plugins/bundler-exec/bundler-exec.plugin.zsh b/plugins/bundler-exec/bundler-exec.plugin.zsh index 61829eb..3417ea8 100644 --- a/plugins/bundler-exec/bundler-exec.plugin.zsh +++ b/plugins/bundler-exec/bundler-exec.plugin.zsh @@ -6,29 +6,29 @@ bundled_commands=(cap capify cucumber heroku rackup rails rake rspec ruby shotgu ## Functions _bundler-installed() { - which bundle > /dev/null 2>&1 + which bundle > /dev/null 2>&1 } _within-bundled-project() { - local check_dir=$PWD - while [ "$(dirname $check_dir)" != "/" ]; do - [ -f "$check_dir/Gemfile" ] && return - check_dir="$(dirname $check_dir)" - done - false + local check_dir=$PWD + while [ "$(dirname $check_dir)" != "/" ]; do + [ -f "$check_dir/Gemfile" ] && return + check_dir="$(dirname $check_dir)" + done + false } _run-with-bundler() { - local command="$1" - shift - if _bundler-installed && _within-bundled-project; then - bundle exec $command "$@" - else - $command "$@" - fi + local command="$1" + shift + if _bundler-installed && _within-bundled-project; then + bundle exec $command "$@" + else + $command "$@" + fi } ## Main program for cmd in $bundled_commands; do - alias $cmd="_run-with-bundler $cmd" + alias $cmd="_run-with-bundler $cmd" done From 60e104acd1710c04057d079cfa5ac9316762f580 Mon Sep 17 00:00:00 2001 From: Hakan Ensari Date: Wed, 13 Jul 2011 22:41:09 +0100 Subject: [PATCH 492/518] merge bundler and bundle-exec plugins --- plugins/bundler-exec/bundler-exec.plugin.zsh | 34 -------------------- plugins/bundler/bundler.plugin.zsh | 34 ++++++++++++++++++++ 2 files changed, 34 insertions(+), 34 deletions(-) delete mode 100644 plugins/bundler-exec/bundler-exec.plugin.zsh diff --git a/plugins/bundler-exec/bundler-exec.plugin.zsh b/plugins/bundler-exec/bundler-exec.plugin.zsh deleted file mode 100644 index 3417ea8..0000000 --- a/plugins/bundler-exec/bundler-exec.plugin.zsh +++ /dev/null @@ -1,34 +0,0 @@ -# This plugin is based on https://github.com/gma/bundler-exec -# modify the bundled_commands if needed - -bundled_commands=(cap capify cucumber heroku rackup rails rake rspec ruby shotgun spec spork thin unicorn unicorn_rails) - -## Functions - -_bundler-installed() { - which bundle > /dev/null 2>&1 -} - -_within-bundled-project() { - local check_dir=$PWD - while [ "$(dirname $check_dir)" != "/" ]; do - [ -f "$check_dir/Gemfile" ] && return - check_dir="$(dirname $check_dir)" - done - false -} - -_run-with-bundler() { - local command="$1" - shift - if _bundler-installed && _within-bundled-project; then - bundle exec $command "$@" - else - $command "$@" - fi -} - -## Main program -for cmd in $bundled_commands; do - alias $cmd="_run-with-bundler $cmd" -done diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh index fb40e2c..fcf3e85 100644 --- a/plugins/bundler/bundler.plugin.zsh +++ b/plugins/bundler/bundler.plugin.zsh @@ -1,3 +1,37 @@ alias be="bundle exec" alias bi="bundle install" alias bu="bundle update" + +# The following is based on https://github.com/gma/bundler-exec + +bundled_commands=(cap capify cucumber heroku rackup rails rake rspec ruby shotgun spec spork thin unicorn unicorn_rails) + +## Functions + +_bundler-installed() { + which bundle > /dev/null 2>&1 +} + +_within-bundled-project() { + local check_dir=$PWD + while [ "$(dirname $check_dir)" != "/" ]; do + [ -f "$check_dir/Gemfile" ] && return + check_dir="$(dirname $check_dir)" + done + false +} + +_run-with-bundler() { + local command="$1" + shift + if _bundler-installed && _within-bundled-project; then + bundle exec $command "$@" + else + $command "$@" + fi +} + +## Main program +for cmd in $bundled_commands; do + alias $cmd="_run-with-bundler $cmd" +done From ba5fa3abc8ccf1f05e48c9b201282792c956c337 Mon Sep 17 00:00:00 2001 From: Hakan Ensari Date: Wed, 13 Jul 2011 22:41:36 +0100 Subject: [PATCH 493/518] alias bundle list --- plugins/bundler/bundler.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh index fcf3e85..c91dc9a 100644 --- a/plugins/bundler/bundler.plugin.zsh +++ b/plugins/bundler/bundler.plugin.zsh @@ -1,5 +1,6 @@ alias be="bundle exec" alias bi="bundle install" +alias bl="bundle list" alias bu="bundle update" # The following is based on https://github.com/gma/bundler-exec From 7d19ae8fab80c826156f984aa6dd8221a9aaada0 Mon Sep 17 00:00:00 2001 From: Hakan Ensari Date: Wed, 13 Jul 2011 22:42:44 +0100 Subject: [PATCH 494/518] clean up rails plugin, removing bundler-specific logic --- plugins/rails3/rails3.plugin.zsh | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/plugins/rails3/rails3.plugin.zsh b/plugins/rails3/rails3.plugin.zsh index f669ef0..f4ee637 100644 --- a/plugins/rails3/rails3.plugin.zsh +++ b/plugins/rails3/rails3.plugin.zsh @@ -1,13 +1,5 @@ # Rails 3 aliases, backwards-compatible with Rails 2. -function _bundle_command { - if command -v bundle && [ -e "Gemfile" ]; then - bundle exec $@ - else - $@ - fi -} - function _rails_command () { if [ -e "script/server" ]; then ruby script/$@ @@ -25,6 +17,3 @@ alias rp='_rails_command plugin' alias rs='_rails_command server' alias rsd='_rails_command server --debugger' alias devlog='tail -f log/development.log' - -alias rspec='_bundle_command rspec' -alias cuke='_bundle_command cucumber' From 6774fb3d59365ddb8520cdb4d46444720f788be0 Mon Sep 17 00:00:00 2001 From: Brandon Konkle Date: Wed, 13 Jul 2011 23:23:01 -0700 Subject: [PATCH 495/518] Minor corrections to deletion detection in git_prompt_status --- lib/git.zsh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/git.zsh b/lib/git.zsh index ce4de55..f043436 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -52,7 +52,9 @@ git_prompt_status() { if $(echo "$INDEX" | grep '^R ' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS" fi - if $(echo "$INDEX" | grep '^D ' &> /dev/null); then + if $(echo "$INDEX" | grep '^ D ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS" + elif $(echo "$INDEX" | grep '^AD ' &> /dev/null); then STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS" fi if $(echo "$INDEX" | grep '^UU ' &> /dev/null); then From 913cf5325264960d4c1dfe678a2adadeaecdbf6a Mon Sep 17 00:00:00 2001 From: Hakan Ensari Date: Thu, 14 Jul 2011 17:34:18 +0100 Subject: [PATCH 496/518] refactor _run-with-bundler --- plugins/bundler/bundler.plugin.zsh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh index c91dc9a..e98bb4b 100644 --- a/plugins/bundler/bundler.plugin.zsh +++ b/plugins/bundler/bundler.plugin.zsh @@ -23,12 +23,10 @@ _within-bundled-project() { } _run-with-bundler() { - local command="$1" - shift if _bundler-installed && _within-bundled-project; then - bundle exec $command "$@" + bundle exec $@ else - $command "$@" + $@ fi } From 9308a7d472a1dea6610887b98d6d789741f96a49 Mon Sep 17 00:00:00 2001 From: Adam Blinkinsop Date: Thu, 14 Jul 2011 11:04:46 -0700 Subject: [PATCH 497/518] Added a new theme. --- themes/blinks.zsh-theme | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 themes/blinks.zsh-theme diff --git a/themes/blinks.zsh-theme b/themes/blinks.zsh-theme new file mode 100644 index 0000000..3db7012 --- /dev/null +++ b/themes/blinks.zsh-theme @@ -0,0 +1,20 @@ +# https://github.com/blinks zsh theme + +function _prompt_char() { + if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then + echo "%{%F{blue}%}±%{%f%k%b%}" + else + echo ' ' + fi +} + +ZSH_THEME_GIT_PROMPT_PREFIX=" [%{%B%F{blue}%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{%f%k%b%K{black}%B%F{green}%}]" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{%F{red}%}*%{%f%k%b%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +PROMPT='%{%f%k%b%} +%{%K{black}%B%F{green}%}%n%{%B%F{blue}%}@%{%B%F{cyan}%}%m%{%B%F{green}%} %{%b%F{yellow}%K{black}%}%~%{%B%F{green}%}$(git_prompt_info)%E%{%f%k%b%} +%{%K{black}%}$(_prompt_char)%{%K{black}%} %#%{%f%k%b%} ' + +RPROMPT='!%{%B%F{cyan}%}%!%{%f%k%b%}' From caa1cc70678e15fe0da93a89e52f543c6bda7494 Mon Sep 17 00:00:00 2001 From: "Suraj N. Kurapati" Date: Thu, 14 Jul 2011 21:41:26 -0700 Subject: [PATCH 498/518] zsh-history-substring-search plugin at 15f63de https://github.com/sunaku/zsh-history-substring-search --- README | 7 + history-substring-search.plugin.zsh | 12 + history-substring-search.zsh | 642 ++++++++++++++++++++++++++++ 3 files changed, 661 insertions(+) create mode 100644 README create mode 100644 history-substring-search.plugin.zsh create mode 100644 history-substring-search.zsh diff --git a/README b/README new file mode 100644 index 0000000..be11adf --- /dev/null +++ b/README @@ -0,0 +1,7 @@ +To activate this script, load it into an interactive ZSH session: + + % source history-substring-search.zsh + +See the "history-substring-search.zsh" file for more information: + + % sed -n '2,/^$/s/^#//p' history-substring-search.zsh | more diff --git a/history-substring-search.plugin.zsh b/history-substring-search.plugin.zsh new file mode 100644 index 0000000..99a5922 --- /dev/null +++ b/history-substring-search.plugin.zsh @@ -0,0 +1,12 @@ +# This file integrates the history-substring-search script into oh-my-zsh. + +source "$ZSH/plugins/history-substring-search/history-substring-search.zsh" + +if test "$CASE_SENSITIVE" = true; then + unset HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS +fi + +if test "$DISABLE_COLOR" = true; then + unset HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + unset HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND +fi diff --git a/history-substring-search.zsh b/history-substring-search.zsh new file mode 100644 index 0000000..53f707c --- /dev/null +++ b/history-substring-search.zsh @@ -0,0 +1,642 @@ +#!/usr/bin/env zsh +# +# This is a clean-room implementation of the Fish[1] shell's history search +# feature, where you can type in any part of any previously entered command +# and press the UP and DOWN arrow keys to cycle through the matching commands. +# +#----------------------------------------------------------------------------- +# Usage +#----------------------------------------------------------------------------- +# +# 1. Load this script into your interactive ZSH session: +# +# % source history-substring-search.zsh +# +# If you want to use the zsh-syntax-highlighting[6] script along with this +# script, then make sure that you load it *before* you load this script: +# +# % source zsh-syntax-highlighting.zsh +# % source history-substring-search.zsh +# +# 2. Type any part of any previous command and then: +# +# * Press the UP arrow key to select the nearest command that (1) contains +# your query and (2) is older than the current command in the command +# history. +# +# * Press the DOWN arrow key to select the nearest command that (1) +# contains your query and (2) is newer than the current command in the +# command history. +# +# * Press ^U (the Control and U keys simultaneously) to abort the search. +# +# 3. If a matching command spans more than one line of text, press the LEFT +# arrow key to move the cursor away from the end of the command, and then: +# +# * Press the UP arrow key to move the cursor to the line above. When the +# cursor reaches the first line of the command, pressing the UP arrow +# key again will cause this script to perform another search. +# +# * Press the DOWN arrow key to move the cursor to the line below. When +# the cursor reaches the last line of the command, pressing the DOWN +# arrow key again will cause this script to perform another search. +# +#----------------------------------------------------------------------------- +# Configuration +#----------------------------------------------------------------------------- +# +# This script defines the following global variables. You may override their +# default values only after having loaded this script into your ZSH session. +# +# * HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND is a global variable that defines +# how the query should be highlighted inside a matching command. Its default +# value causes this script to highlight using bold, white text on a magenta +# background. See the "Character Highlighting" section in the zshzle(1) man +# page to learn about the kinds of values you may assign to this variable. +# +# * HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND is a global variable that +# defines how the query should be highlighted when no commands in the +# history match it. Its default value causes this script to highlight using +# bold, white text on a red background. See the "Character Highlighting" +# section in the zshzle(1) man page to learn about the kinds of values you +# may assign to this variable. +# +# * HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS is a global variable that defines +# how the command history will be searched for your query. Its default value +# causes this script to perform a case-insensitive search. See the "Globbing +# Flags" section in the zshexpn(1) man page to learn about the kinds of +# values you may assign to this variable. +# +#----------------------------------------------------------------------------- +# History +#----------------------------------------------------------------------------- +# +# This script was originally written by Peter Stephenson[2], who published it +# to the ZSH users mailing list (thereby making it public domain) in September +# 2009. It was later revised by Guido van Steen and released under the BSD +# license (see below) as part of the fizsh[3] project in January 2011. +# +# It was later extracted from fizsh[3] release 1.0.1, refactored heavily, and +# repackaged as both an oh-my-zsh plugin[4] and as an independently loadable +# ZSH script[5] by Suraj N. Kurapati in 2011. +# +# It was further developed[4] by Guido van Steen, Suraj N. Kurapati, Sorin +# Ionescu, and Vincent Guerci in 2011. +# +# [1]: http://fishshell.com +# [2]: http://www.zsh.org/mla/users/2009/msg00818.html +# [3]: http://sourceforge.net/projects/fizsh/ +# [4]: https://github.com/robbyrussell/oh-my-zsh/pull/215 +# [5]: https://github.com/sunaku/zsh-history-substring-search +# [6]: https://github.com/nicoulaj/zsh-syntax-highlighting +# +############################################################################## +# +# Copyright (c) 2009 Peter Stephenson +# Copyright (c) 2011 Guido van Steen +# Copyright (c) 2011 Suraj N. Kurapati +# Copyright (c) 2011 Sorin Ionescu +# Copyright (c) 2011 Vincent Guerci +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# +# * Neither the name of the FIZSH nor the names of its contributors +# may be used to endorse or promote products derived from this +# software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################## + +#----------------------------------------------------------------------------- +# configuration variables +#----------------------------------------------------------------------------- + +HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND='bg=magenta,fg=white,bold' +HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND='bg=red,fg=white,bold' +HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS='i' + +#----------------------------------------------------------------------------- +# the main ZLE widgets +#----------------------------------------------------------------------------- + +function history-substring-search-up() { + _history-substring-search-begin + + _history-substring-search-up-history || + _history-substring-search-up-buffer || + _history-substring-search-up-search + + _history-substring-search-end +} + +function history-substring-search-down() { + _history-substring-search-begin + + _history-substring-search-down-history || + _history-substring-search-down-buffer || + _history-substring-search-down-search + + _history-substring-search-end +} + +zle -N history-substring-search-up +zle -N history-substring-search-down + +bindkey '\e[A' history-substring-search-up +bindkey '\e[B' history-substring-search-down + +#----------------------------------------------------------------------------- +# implementation details +#----------------------------------------------------------------------------- + +setopt extendedglob +zmodload -F zsh/parameter + +# +# We have to "override" some keys and widgets if the +# zsh-syntax-highlighting plugin has not been loaded: +# +# https://github.com/nicoulaj/zsh-syntax-highlighting +# +if [[ $+functions[_zsh_highlight] -eq 0 ]]; then + # + # Dummy implementation of _zsh_highlight() + # that simply removes existing highlights + # + function _zsh_highlight() { + region_highlight=() + } + + # + # Remove existing highlights when the user + # inserts printable characters into $BUFFER + # + function ordinary-key-press() { + if [[ $KEYS == [[:print:]] ]]; then + region_highlight=() + fi + zle .self-insert + } + zle -N self-insert ordinary-key-press + + # + # Override ZLE widgets to invoke _zsh_highlight() + # + # https://github.com/nicoulaj/zsh-syntax-highlighting/blob/ + # bb7fcb79fad797a40077bebaf6f4e4a93c9d8163/zsh-syntax-highlighting.zsh#L121 + # + #--------------8<-------------------8<-------------------8<----------------- + # + # Copyright (c) 2010-2011 zsh-syntax-highlighting contributors + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are + # met: + # + # * Redistributions of source code must retain the above copyright + # notice, this list of conditions and the following disclaimer. + # + # * Redistributions in binary form must reproduce the above copyright + # notice, this list of conditions and the following disclaimer in the + # documentation and/or other materials provided with the distribution. + # + # * Neither the name of the zsh-syntax-highlighting contributors nor the + # names of its contributors may be used to endorse or promote products + # derived from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + # IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + # Load ZSH module zsh/zleparameter, needed to override user defined widgets. + zmodload zsh/zleparameter 2>/dev/null || { + echo 'zsh-syntax-highlighting: failed loading zsh/zleparameter, exiting.' >&2 + return -1 + } + + # Override ZLE widgets to make them invoke _zsh_highlight. + for event in ${${(f)"$(zle -la)"}:#(_*|orig-*|.run-help|.which-command)}; do + if [[ "$widgets[$event]" == completion:* ]]; then + eval "zle -C orig-$event ${${${widgets[$event]}#*:}/:/ } ; $event() { builtin zle orig-$event && _zsh_highlight } ; zle -N $event" + else + case $event in + accept-and-menu-complete) + eval "$event() { builtin zle .$event && _zsh_highlight } ; zle -N $event" + ;; + + # The following widgets should NOT remove any previously + # applied highlighting. Therefore we do not remap them. + .forward-char|.backward-char|.up-line-or-history|.down-line-or-history) + ;; + + .*) + clean_event=$event[2,${#event}] # Remove the leading dot in the event name + case ${widgets[$clean_event]-} in + (completion|user):*) + ;; + *) + eval "$clean_event() { builtin zle $event && _zsh_highlight } ; zle -N $clean_event" + ;; + esac + ;; + *) + ;; + esac + fi + done + unset event clean_event + #-------------->8------------------->8------------------->8----------------- +fi + +function _history-substring-search-begin() { + _history_substring_search_move_cursor_eol=false + _history_substring_search_query_highlight= + + # + # Continue using the previous $_history_substring_search_result by default, + # unless the current query was cleared or a new/different query was entered. + # + if [[ -z $BUFFER || $BUFFER != $_history_substring_search_result ]]; then + # + # For the purpose of highlighting we will also keep + # a version without doubly-escaped meta characters. + # + _history_substring_search_query=$BUFFER + + # + # $BUFFER contains the text that is in the command-line currently. + # we put an extra "\\" before meta characters such as "\(" and "\)", + # so that they become "\\\(" and "\\\)". + # + _history_substring_search_query_escaped=${BUFFER//(#m)[\][()|\\*?#<>~^]/\\$MATCH} + + # + # Find all occurrences of the search query in the history file. + # + # (k) turns it an array of line numbers. + # + # (on) seems to remove duplicates, which are default + # options. They can be turned off by (ON). + # + _history_substring_search_matches=(${(kon)history[(R)(#$HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS)*${_history_substring_search_query_escaped}*]}) + + # + # Define the range of values that $_history_substring_search_match_index + # can take: [0, $_history_substring_search_matches_count_plus]. + # + _history_substring_search_matches_count=$#_history_substring_search_matches + _history_substring_search_matches_count_plus=$(( _history_substring_search_matches_count + 1 )) + _history_substring_search_matches_count_sans=$(( _history_substring_search_matches_count - 1 )) + + # + # If $_history_substring_search_match_index is equal to + # $_history_substring_search_matches_count_plus, this indicates that we + # are beyond the beginning of $_history_substring_search_matches. + # + # If $_history_substring_search_match_index is equal to 0, this indicates + # that we are beyond the end of $_history_substring_search_matches. + # + # If we have initially pressed "up" we have to initialize + # $_history_substring_search_match_index to + # $_history_substring_search_matches_count_plus so that it will be + # decreased to $_history_substring_search_matches_count. + # + # If we have initially pressed "down" we have to initialize + # $_history_substring_search_match_index to + # $_history_substring_search_matches_count so that it will be increased to + # $_history_substring_search_matches_count_plus. + # + if [[ $WIDGET == history-substring-search-down ]]; then + _history_substring_search_match_index=$_history_substring_search_matches_count + else + _history_substring_search_match_index=$_history_substring_search_matches_count_plus + fi + fi +} + +function _history-substring-search-end() { + _history_substring_search_result=$BUFFER + + # move the cursor to the end of the command line + if [[ $_history_substring_search_move_cursor_eol == true ]]; then + CURSOR=${#BUFFER} + fi + + # highlight command line using zsh-syntax-highlighting + _zsh_highlight + + # highlight the search query inside the command line + if [[ -n $_history_substring_search_query_highlight && -n $_history_substring_search_query ]]; then + # + # The following expression yields a variable $MBEGIN, which + # indicates the begin position + 1 of the first occurrence + # of _history_substring_search_query_escaped in $BUFFER. + # + : ${(S)BUFFER##(#m$HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS)($_history_substring_search_query##)} + local begin=$(( MBEGIN - 1 )) + local end=$(( begin + $#_history_substring_search_query )) + region_highlight+=("$begin $end $_history_substring_search_query_highlight") + fi + + # For debugging purposes: + # zle -R "mn: "$_history_substring_search_match_index" m#: "${#_history_substring_search_matches} + # read -k -t 200 && zle -U $REPLY + + # Exit successfully from the history-substring-search-* widgets. + true +} + +function _history-substring-search-up-buffer() { + # + # Check if the UP arrow was pressed to move the cursor within a multi-line + # buffer. This amounts to three tests: + # + # 1. $#buflines -gt 1. + # + # 2. $CURSOR -ne $#BUFFER. + # + # 3. Check if we are on the first line of the current multi-line buffer. + # If so, pressing UP would amount to leaving the multi-line buffer. + # + # We check this by adding an extra "x" to $LBUFFER, which makes + # sure that xlbuflines is always equal to the number of lines + # until $CURSOR (including the line with the cursor on it). + # + local buflines XLBUFFER xlbuflines + buflines=(${(f)BUFFER}) + XLBUFFER=$LBUFFER"x" + xlbuflines=(${(f)XLBUFFER}) + + if [[ $#buflines -gt 1 && $CURSOR -ne $#BUFFER && $#xlbuflines -ne 1 ]]; then + zle up-line-or-history + return true + fi + + false +} + +function _history-substring-search-down-buffer() { + # + # Check if the DOWN arrow was pressed to move the cursor within a multi-line + # buffer. This amounts to three tests: + # + # 1. $#buflines -gt 1. + # + # 2. $CURSOR -ne $#BUFFER. + # + # 3. Check if we are on the last line of the current multi-line buffer. + # If so, pressing DOWN would amount to leaving the multi-line buffer. + # + # We check this by adding an extra "x" to $RBUFFER, which makes + # sure that xrbuflines is always equal to the number of lines + # from $CURSOR (including the line with the cursor on it). + # + local buflines XRBUFFER xrbuflines + buflines=(${(f)BUFFER}) + XRBUFFER="x"$RBUFFER + xrbuflines=(${(f)XRBUFFER}) + + if [[ $#buflines -gt 1 && $CURSOR -ne $#BUFFER && $#xrbuflines -ne 1 ]]; then + zle down-line-or-history + return true + fi + + false +} + +function _history-substring-search-up-history() { + # + # Behave like up in ZSH, except clear the $BUFFER + # when beginning of history is reached like in Fish. + # + if [[ -z $_history_substring_search_query ]]; then + + # we have reached the absolute top of history + if [[ $HISTNO -eq 1 ]]; then + BUFFER= + + # going up from somewhere below the top of history + else + zle up-history + fi + + return true + fi + + false +} + +function _history-substring-search-down-history() { + # + # Behave like down-history in ZSH, except clear the + # $BUFFER when end of history is reached like in Fish. + # + if [[ -z $_history_substring_search_query ]]; then + + # going down from the absolute top of history + if [[ $HISTNO -eq 1 && -z $BUFFER ]]; then + BUFFER=${history[1]} + _history_substring_search_move_cursor_eol=true + + # going down from somewhere above the bottom of history + else + zle down-history + fi + + return true + fi + + false +} + +function _history-substring-search-up-search() { + _history_substring_search_move_cursor_eol=true + + # + # Highlight matches during history-substring-up-search: + # + # The following constants have been initialized in + # _history-substring-search-up/down-search(): + # + # $_history_substring_search_matches is the current list of matches + # $_history_substring_search_matches_count is the current number of matches + # $_history_substring_search_matches_count_plus is the current number of matches + 1 + # $_history_substring_search_matches_count_sans is the current number of matches - 1 + # $_history_substring_search_match_index is the index of the current match + # + # The range of values that $_history_substring_search_match_index can take + # is: [0, $_history_substring_search_matches_count_plus]. A value of 0 + # indicates that we are beyond the end of + # $_history_substring_search_matches. A value of + # $_history_substring_search_matches_count_plus indicates that we are beyond + # the beginning of $_history_substring_search_matches. + # + # In _history-substring-search-up-search() the initial value of + # $_history_substring_search_match_index is + # $_history_substring_search_matches_count_plus. This value is set in + # _history-substring-search-begin(). _history-substring-search-up-search() + # will initially decrease it to $_history_substring_search_matches_count. + # + if [[ $_history_substring_search_match_index -ge 2 ]]; then + # + # Highlight the next match: + # + # 1. Decrease the value of $_history_substring_search_match_index. + # + # 2. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + # to highlight the current buffer. + # + (( _history_substring_search_match_index-- )) + BUFFER=$history[$_history_substring_search_matches[$_history_substring_search_match_index]] + _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + + elif [[ $_history_substring_search_match_index -eq 1 ]]; then + # + # We will move beyond the end of $_history_substring_search_matches: + # + # 1. Decrease the value of $_history_substring_search_match_index. + # + # 2. Save the current buffer in $_history_substring_search_old_buffer, + # so that it can be retrieved by + # _history-substring-search-down-search() later. + # + # 3. Make $BUFFER equal to $_history_substring_search_query. + # + # 4. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND + # to highlight the current buffer. + # + (( _history_substring_search_match_index-- )) + _history_substring_search_old_buffer=$BUFFER + BUFFER=$_history_substring_search_query + _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND + + elif [[ $_history_substring_search_match_index -eq $_history_substring_search_matches_count_plus ]]; then + # + # We were beyond the beginning of $_history_substring_search_matches but + # UP makes us move back to $_history_substring_search_matches: + # + # 1. Decrease the value of $_history_substring_search_match_index. + # + # 2. Restore $BUFFER from $_history_substring_search_old_buffer. + # + # 3. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + # to highlight the current buffer. + # + (( _history_substring_search_match_index-- )) + BUFFER=$_history_substring_search_old_buffer + _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + fi +} + +function _history-substring-search-down-search() { + _history_substring_search_move_cursor_eol=true + + # + # Highlight matches during history-substring-up-search: + # + # The following constants have been initialized in + # _history-substring-search-up/down-search(): + # + # $_history_substring_search_matches is the current list of matches + # $_history_substring_search_matches_count is the current number of matches + # $_history_substring_search_matches_count_plus is the current number of matches + 1 + # $_history_substring_search_matches_count_sans is the current number of matches - 1 + # $_history_substring_search_match_index is the index of the current match + # + # The range of values that $_history_substring_search_match_index can take + # is: [0, $_history_substring_search_matches_count_plus]. A value of 0 + # indicates that we are beyond the end of + # $_history_substring_search_matches. A value of + # $_history_substring_search_matches_count_plus indicates that we are beyond + # the beginning of $_history_substring_search_matches. + # + # In _history-substring-search-down-search() the initial value of + # $_history_substring_search_match_index is + # $_history_substring_search_matches_count. This value is set in + # _history-substring-search-begin(). + # _history-substring-search-down-search() will initially increase it to + # $_history_substring_search_matches_count_plus. + # + if [[ $_history_substring_search_match_index -le $_history_substring_search_matches_count_sans ]]; then + # + # Highlight the next match: + # + # 1. Increase $_history_substring_search_match_index by 1. + # + # 2. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + # to highlight the current buffer. + # + (( _history_substring_search_match_index++ )) + BUFFER=$history[$_history_substring_search_matches[$_history_substring_search_match_index]] + _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + + elif [[ $_history_substring_search_match_index -eq $_history_substring_search_matches_count ]]; then + # + # We will move beyond the beginning of $_history_substring_search_matches: + # + # 1. Increase $_history_substring_search_match_index by 1. + # + # 2. Save the current buffer in $_history_substring_search_old_buffer, so + # that it can be retrieved by _history-substring-search-up-search() + # later. + # + # 3. Make $BUFFER equal to $_history_substring_search_query. + # + # 4. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND + # to highlight the current buffer. + # + (( _history_substring_search_match_index++ )) + _history_substring_search_old_buffer=$BUFFER + BUFFER=$_history_substring_search_query + _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND + + elif [[ $_history_substring_search_match_index -eq 0 ]]; then + # + # We were beyond the end of $_history_substring_search_matches but DOWN + # makes us move back to the $_history_substring_search_matches: + # + # 1. Increase $_history_substring_search_match_index by 1. + # + # 2. Restore $BUFFER from $_history_substring_search_old_buffer. + # + # 3. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + # to highlight the current buffer. + # + (( _history_substring_search_match_index++ )) + BUFFER=$_history_substring_search_old_buffer + _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + fi +} + +# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- +# vim: ft=zsh sw=2 ts=2 et From 66c6260c10422bf50c474c9654a7928ce99e7ceb Mon Sep 17 00:00:00 2001 From: Paul Serby Date: Sat, 16 Jul 2011 16:15:15 +0100 Subject: [PATCH 499/518] Completion for cake the coffee-script build tool --- plugins/cake/cake.plugin.zsh | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 plugins/cake/cake.plugin.zsh diff --git a/plugins/cake/cake.plugin.zsh b/plugins/cake/cake.plugin.zsh new file mode 100644 index 0000000..7599752 --- /dev/null +++ b/plugins/cake/cake.plugin.zsh @@ -0,0 +1,32 @@ +# Set this to 1 if you want to cache the tasks +cacheTaskList=1 + +# Cache filename +cacheFile='.cake-task-cache' + +_cake_does_target_list_need_generating () { + + if [ $cacheTaskList -eq 0 ]; then + return 1; + fi + + if [ ! -f $cacheFile ]; then return 0; + else + accurate=$(stat -f%m $cacheFile) + changed=$(stat -f%m Cakefile) + return $(expr $accurate '>=' $changed) + fi +} + +_cake () { + if [ -f Cakefile ]; then + if _cake_does_target_list_need_generating; then + cake | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$' > $cacheFile + compadd `cat $cacheFile` + else + compadd `cake | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$'` + fi + fi +} + +compdef _cake cake From e7e9e5bbe608fd7572a810f36e7f1b3321c25136 Mon Sep 17 00:00:00 2001 From: Benjamin Boudreau Date: Sat, 16 Jul 2011 18:42:09 -0400 Subject: [PATCH 500/518] Added archlinux plugin --- plugins/archlinux/archlinux.plugin.zsh | 67 ++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 plugins/archlinux/archlinux.plugin.zsh diff --git a/plugins/archlinux/archlinux.plugin.zsh b/plugins/archlinux/archlinux.plugin.zsh new file mode 100644 index 0000000..acb8df0 --- /dev/null +++ b/plugins/archlinux/archlinux.plugin.zsh @@ -0,0 +1,67 @@ +# Archlinux zsh aliases and functions for zsh + +# Aliases ################################################################### + +# Look for yaourt, and add some useful functions if we have it. +if [[ -x `which yaourt` ]]; then + upgrade () { + yaourt -Syu -C + } + # Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips + alias yaupg='sudo yaourt -Syu' # Synchronize with repositories before upgrading packages that are out of date on the local system. + alias yain='sudo yaourt -S' # Install specific package(s) from the repositories + alias yains='sudo yaourt -U' # Install specific package not from the repositories but from a file + alias yare='sudo yaourt -R' # Remove the specified package(s), retaining its configuration(s) and required dependencies + alias yarem='sudo yaourt -Rns' # Remove the specified package(s), its configuration(s) and unneeded dependencies + alias yarep='yaourt -Si' # Display information about a given package in the repositories + alias yareps='yaourt -Ss' # Search for package(s) in the repositories + alias yaloc='yaourt -Qi' # Display information about a given package in the local database + alias yalocs='yaourt -Qs' # Search for package(s) in the local database + # Additional yaourt alias examples + alias yaupd='sudo yaourt -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories + alias yainsd='sudo yaourt -S --asdeps' # Install given package(s) as dependencies of another package + alias yamir='sudo yaourt -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist +else + upgrade() { + sudo pacman -Syu + } +fi + +# Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips +alias pacupg='sudo pacman -Syu' # Synchronize with repositories before upgrading packages that are out of date on the local system. +alias pacin='sudo pacman -S' # Install specific package(s) from the repositories +alias pacins='sudo pacman -U' # Install specific package not from the repositories but from a file +alias pacre='sudo pacman -R' # Remove the specified package(s), retaining its configuration(s) and required dependencies +alias pacrem='sudo pacman -Rns' # Remove the specified package(s), its configuration(s) and unneeded dependencies +alias pacrep='pacman -Si' # Display information about a given package in the repositories +alias pacreps='pacman -Ss' # Search for package(s) in the repositories +alias pacloc='pacman -Qi' # Display information about a given package in the local database +alias paclocs='pacman -Qs' # Search for package(s) in the local database +# Additional pacman alias examples +alias pacupd='sudo pacman -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories +alias pacinsd='sudo pacman -S --asdeps' # Install given package(s) as dependencies of another package +alias pacmir='sudo pacman -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist + +# https://bbs.archlinux.org/viewtopic.php?id=93683 +paclist() { + sudo pacman -Qei $(pacman -Qu|cut -d" " -f 1)|awk ' BEGIN {FS=":"}/^Name/{printf("\033[1;36m%s\033[1;37m", $2)}/^Description/{print $2}' +} +alias paclsorhpans='sudo pacman -Qdt' +alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)' + +pacdisowned() { + tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$ + db=$tmp/db + fs=$tmp/fs + + mkdir "$tmp" + trap 'rm -rf "$tmp"' EXIT + + pacman -Qlq | sort -u > "$db" + + find /bin /etc /lib /sbin /usr \ + ! -name lost+found \ + \( -type d -printf '%p/\n' -o -print \) | sort > "$fs" + + comm -23 "$fs" "$db" +} From edcd4f7eea357cefee37a25a371e1dd5d1a6b598 Mon Sep 17 00:00:00 2001 From: Jake Bell Date: Sun, 17 Jul 2011 13:01:48 -0500 Subject: [PATCH 501/518] Adding quotes to deal with paths that have spaces. --- tools/upgrade.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/upgrade.sh b/tools/upgrade.sh index e304888..2b75e55 100644 --- a/tools/upgrade.sh +++ b/tools/upgrade.sh @@ -9,4 +9,4 @@ echo "\033[0;32m"'\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ '"\033[0m echo "\033[0;32m"' /____/ '"\033[0m" echo "\033[0;34mHooray! Oh My Zsh has been updated and/or is at the current version.\033[0m" echo "\033[0;34mTo keep up on the latest, be sure to follow Oh My Zsh on twitter: \033[1mhttp://twitter.com/ohmyzsh\033[0m" -cd $current_path +cd "$current_path" From 127d2ae57b01ae13dd6017c3c104a45a0086e88e Mon Sep 17 00:00:00 2001 From: alexandru totolici Date: Sun, 17 Jul 2011 21:01:06 -0700 Subject: [PATCH 502/518] Fixed typo for one of the subcommands (linset -> linsert) --- plugins/redis-cli/_redis-cli | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/redis-cli/_redis-cli b/plugins/redis-cli/_redis-cli index 3789add..1569f29 100644 --- a/plugins/redis-cli/_redis-cli +++ b/plugins/redis-cli/_redis-cli @@ -51,7 +51,7 @@ _1st_arguments=( 'keys:find all keys matching the given pattern' 'lastsave:get the UNIX timestamp of the last successful save to disk' 'lindex:get an element from a list by its index' - 'linset:insert an element before or after another element in a list' + 'linsert:insert an element before or after another element in a list' 'llen:get the length of a list' 'lpop:remove and get the first element in a list' 'lpush:prepend a value to a list' From a38774c98d1c08f82b1325a40b2de1a76586e02a Mon Sep 17 00:00:00 2001 From: Christopher Sexton Date: Tue, 17 May 2011 14:13:07 -0400 Subject: [PATCH 503/518] C-x C-e to edit current command in EDITOR The command C-x C-e opens the current command line for editing in the editor defined by the $EDITOR environment variable. Thanks to Craig Bosma and his blog post about this: http://distrustsimplicity.net/articles/zsh-command-editing --- lib/edit-command-line.zsh | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 lib/edit-command-line.zsh diff --git a/lib/edit-command-line.zsh b/lib/edit-command-line.zsh new file mode 100644 index 0000000..db20003 --- /dev/null +++ b/lib/edit-command-line.zsh @@ -0,0 +1,3 @@ +autoload -U edit-command-line +zle -N edit-command-line +bindkey '\C-x\C-e' edit-command-line From c09e2f2986aafbf2a67004f8df6b5dd10abb8d61 Mon Sep 17 00:00:00 2001 From: Paul Serby Date: Mon, 18 Jul 2011 16:05:05 +0100 Subject: [PATCH 504/518] Bringing inline with oh-my-zsh coding convensions --- plugins/cake/cake.plugin.zsh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/cake/cake.plugin.zsh b/plugins/cake/cake.plugin.zsh index 7599752..f968c71 100644 --- a/plugins/cake/cake.plugin.zsh +++ b/plugins/cake/cake.plugin.zsh @@ -1,18 +1,18 @@ # Set this to 1 if you want to cache the tasks -cacheTaskList=1 +cache_task_list=1 # Cache filename -cacheFile='.cake-task-cache' +cache_file='.cake_task_cache' _cake_does_target_list_need_generating () { - if [ $cacheTaskList -eq 0 ]; then + if [ $cache_task_list -eq 0 ]; then return 1; fi - if [ ! -f $cacheFile ]; then return 0; + if [ ! -f $cache_file ]; then return 0; else - accurate=$(stat -f%m $cacheFile) + accurate=$(stat -f%m $cache_file) changed=$(stat -f%m Cakefile) return $(expr $accurate '>=' $changed) fi @@ -21,8 +21,8 @@ _cake_does_target_list_need_generating () { _cake () { if [ -f Cakefile ]; then if _cake_does_target_list_need_generating; then - cake | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$' > $cacheFile - compadd `cat $cacheFile` + cake | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$' > $cache_file + compadd `cat $cache_file` else compadd `cake | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$'` fi From 8e77ad468dd22f25c461a0f69f9c03cbb2fb2d05 Mon Sep 17 00:00:00 2001 From: Benjamin Boudreau Date: Tue, 19 Jul 2011 19:38:29 -0700 Subject: [PATCH 505/518] Fix typo --- plugins/archlinux/archlinux.plugin.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/archlinux/archlinux.plugin.zsh b/plugins/archlinux/archlinux.plugin.zsh index acb8df0..8ed291f 100644 --- a/plugins/archlinux/archlinux.plugin.zsh +++ b/plugins/archlinux/archlinux.plugin.zsh @@ -46,7 +46,8 @@ alias pacmir='sudo pacman -Syy' # Force refresh of all package li paclist() { sudo pacman -Qei $(pacman -Qu|cut -d" " -f 1)|awk ' BEGIN {FS=":"}/^Name/{printf("\033[1;36m%s\033[1;37m", $2)}/^Description/{print $2}' } -alias paclsorhpans='sudo pacman -Qdt' + +alias paclsorphans='sudo pacman -Qdt' alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)' pacdisowned() { From cbaa97d8c38bf7bc1a92480ae83e323e1e0cac02 Mon Sep 17 00:00:00 2001 From: Benjamin Boudreau Date: Sat, 23 Jul 2011 10:42:43 -0400 Subject: [PATCH 506/518] Add utility method to spectrum --- lib/spectrum.zsh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/spectrum.zsh b/lib/spectrum.zsh index 4006a7f..2fdf537 100644 --- a/lib/spectrum.zsh +++ b/lib/spectrum.zsh @@ -18,3 +18,11 @@ for color in {000..255}; do FG[$color]="%{[38;5;${color}m%}" BG[$color]="%{[48;5;${color}m%}" done + +# Show all 256 colors with color number +function spectrum_ls() { + for code in {000..255}; do + print -P -- "$code: %F{$code}Test%f" + done +} + From 512f3678c07accd6d121e9c0d6d50f008c99708a Mon Sep 17 00:00:00 2001 From: Benjamin Boudreau Date: Sat, 23 Jul 2011 11:22:39 -0400 Subject: [PATCH 507/518] Remove sudo when using yaourt + do not rely on abs when not in path - In archlinux plugin --- plugins/archlinux/archlinux.plugin.zsh | 42 +++++++++++++++----------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/plugins/archlinux/archlinux.plugin.zsh b/plugins/archlinux/archlinux.plugin.zsh index 8ed291f..b5e5190 100644 --- a/plugins/archlinux/archlinux.plugin.zsh +++ b/plugins/archlinux/archlinux.plugin.zsh @@ -1,26 +1,30 @@ -# Archlinux zsh aliases and functions for zsh - -# Aliases ################################################################### +# Archlinux zsh aliases and functions +# Usage is also described at https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins # Look for yaourt, and add some useful functions if we have it. if [[ -x `which yaourt` ]]; then upgrade () { - yaourt -Syu -C + yaourt -Syu } + alias yaconf='yaourt -C' # Fix all configuration files with vimdiff # Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips - alias yaupg='sudo yaourt -Syu' # Synchronize with repositories before upgrading packages that are out of date on the local system. - alias yain='sudo yaourt -S' # Install specific package(s) from the repositories - alias yains='sudo yaourt -U' # Install specific package not from the repositories but from a file - alias yare='sudo yaourt -R' # Remove the specified package(s), retaining its configuration(s) and required dependencies - alias yarem='sudo yaourt -Rns' # Remove the specified package(s), its configuration(s) and unneeded dependencies - alias yarep='yaourt -Si' # Display information about a given package in the repositories - alias yareps='yaourt -Ss' # Search for package(s) in the repositories - alias yaloc='yaourt -Qi' # Display information about a given package in the local database - alias yalocs='yaourt -Qs' # Search for package(s) in the local database + alias yaupg='yaourt -Syu' # Synchronize with repositories before upgrading packages that are out of date on the local system. + alias yain='yaourt -S' # Install specific package(s) from the repositories + alias yains='yaourt -U' # Install specific package not from the repositories but from a file + alias yare='yaourt -R' # Remove the specified package(s), retaining its configuration(s) and required dependencies + alias yarem='yaourt -Rns' # Remove the specified package(s), its configuration(s) and unneeded dependencies + alias yarep='yaourt -Si' # Display information about a given package in the repositories + alias yareps='yaourt -Ss' # Search for package(s) in the repositories + alias yaloc='yaourt -Qi' # Display information about a given package in the local database + alias yalocs='yaourt -Qs' # Search for package(s) in the local database # Additional yaourt alias examples - alias yaupd='sudo yaourt -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories - alias yainsd='sudo yaourt -S --asdeps' # Install given package(s) as dependencies of another package - alias yamir='sudo yaourt -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist + if [[ -x `which abs` ]]; then + alias yaupd='yaourt -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories + else + alias yaupd='yaourt -Sy' # Update and refresh the local package and ABS databases against repositories + fi + alias yainsd='yaourt -S --asdeps' # Install given package(s) as dependencies of another package + alias yamir='yaourt -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist else upgrade() { sudo pacman -Syu @@ -38,7 +42,11 @@ alias pacreps='pacman -Ss' # Search for package(s) in the repositori alias pacloc='pacman -Qi' # Display information about a given package in the local database alias paclocs='pacman -Qs' # Search for package(s) in the local database # Additional pacman alias examples -alias pacupd='sudo pacman -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories +if [[ -x `which abs` ]]; then + alias pacupd='sudo pacman -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories +else + alias pacupd='sudo pacman -Sy' # Update and refresh the local package and ABS databases against repositories +fi alias pacinsd='sudo pacman -S --asdeps' # Install given package(s) as dependencies of another package alias pacmir='sudo pacman -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist From 34f00f385ce1b322ee7de48f30d175746bba94fc Mon Sep 17 00:00:00 2001 From: hobbestigrou Date: Mon, 11 Oct 2010 21:19:23 +0200 Subject: [PATCH 508/518] More generic. --- lib/misc.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/misc.zsh b/lib/misc.zsh index 4c17436..88732e6 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -10,4 +10,4 @@ setopt long_list_jobs ## pager export PAGER=less -export LC_CTYPE=en_US.UTF-8 +export LC_CTYPE=$LANG From eb63ddf6bb119e3d0e62f012b2f9b5fe95e0d647 Mon Sep 17 00:00:00 2001 From: Sven Lito Date: Tue, 12 Oct 2010 20:02:04 +0100 Subject: [PATCH 509/518] added mac keybinding for backward-delete-char --- lib/key-bindings.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh index 9f28d57..9c2dda3 100644 --- a/lib/key-bindings.zsh +++ b/lib/key-bindings.zsh @@ -21,6 +21,7 @@ bindkey ' ' magic-space # also do history expansion on space bindkey '^[[Z' reverse-menu-complete # Make the delete key (or Fn + Delete on the Mac) work instead of outputting a ~ +bindkey '^?' backward-delete-char bindkey "^[[3~" delete-char bindkey "^[3;5~" delete-char bindkey "\e[3~" delete-char From 6bb0c1c9269025867e886b76bcbf737e5a54400d Mon Sep 17 00:00:00 2001 From: Sven Lito Date: Mon, 11 Oct 2010 02:43:51 +0100 Subject: [PATCH 510/518] added git log with graph --- plugins/git/git.plugin.zsh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index bc340e8..0c94cc9 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -27,6 +27,8 @@ alias gcp='git cherry-pick' compdef _git gcp=git-cherry-pick alias glg='git log --stat --max-count=5' compdef _git glg=git-log +alias glgg='git log --graph --max-count=5' +compdef _git glgg=git-log # Git and svn mix alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' From 96b0af68242ec6235e4162f5e7e1f4d470cb2b22 Mon Sep 17 00:00:00 2001 From: Sven Lito Date: Sat, 9 Oct 2010 23:09:42 +0100 Subject: [PATCH 511/518] adding git svn aliases --- plugins/git/git.plugin.zsh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 0c94cc9..3721d33 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -34,6 +34,8 @@ compdef _git glgg=git-log alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' compdef git-svn-dcommit-push=git +alias gsr='git svn rebase' +alias gsd='git svn dcommit' # # Will return the current branch name # Usage example: git pull origin $(current_branch) @@ -47,6 +49,10 @@ function current_branch() { alias ggpull='git pull origin $(current_branch)' compdef ggpull=git alias ggpush='git push origin $(current_branch)' +<<<<<<< HEAD compdef ggpush=git alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)' compdef ggpnp=git +======= +alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)' +>>>>>>> e5e032f... adding git svn aliases From 9e783c0a8e276e89d9d81951a4c32ea61dadccf1 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sat, 23 Jul 2011 09:14:44 -0700 Subject: [PATCH 512/518] fixing issue with last commit merge. missed a conflict --- plugins/git/git.plugin.zsh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 3721d33..5132b63 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -49,10 +49,6 @@ function current_branch() { alias ggpull='git pull origin $(current_branch)' compdef ggpull=git alias ggpush='git push origin $(current_branch)' -<<<<<<< HEAD compdef ggpush=git alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)' compdef ggpnp=git -======= -alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)' ->>>>>>> e5e032f... adding git svn aliases From 3cb33fc254290a848a602af634cfa26179d630e5 Mon Sep 17 00:00:00 2001 From: Andrew Smith Date: Mon, 25 Jul 2011 09:46:17 +1000 Subject: [PATCH 513/518] Replace a duplicated test to see if we're in an SVN folder with a call to the 'in_svn' function. --- plugins/svn/svn.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/svn/svn.plugin.zsh b/plugins/svn/svn.plugin.zsh index 8605022..77de274 100644 --- a/plugins/svn/svn.plugin.zsh +++ b/plugins/svn/svn.plugin.zsh @@ -1,5 +1,5 @@ function svn_prompt_info { - if [[ -d .svn ]]; then + if [ in_svn ]; then echo "$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_PREFIX\ $ZSH_THEME_REPO_NAME_COLOR$(svn_get_repo_name)$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$ZSH_PROMPT_BASE_COLOR" fi From 7b25a3fca90e31f2c272fd8d2ef1dfa3e61dc9e4 Mon Sep 17 00:00:00 2001 From: Andrew Smith Date: Mon, 25 Jul 2011 09:50:54 +1000 Subject: [PATCH 514/518] The original SVN pluging would mark a folder as dirty if there was an svn:external set and the output of 'svn status' returned the check for the external. E.g. $ svn st X Application Performing status on external item at 'Application' Shouldn't be marked as being dirty. By grepping for only the valid output for what should be class as dirty, it won't return false positives. --- plugins/svn/svn.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/svn/svn.plugin.zsh b/plugins/svn/svn.plugin.zsh index 77de274..53a8a51 100644 --- a/plugins/svn/svn.plugin.zsh +++ b/plugins/svn/svn.plugin.zsh @@ -28,7 +28,7 @@ function svn_get_rev_nr { function svn_dirty_choose { if [ in_svn ]; then - s=$(svn status 2>/dev/null) + s=$(svn status|grep -E '^\s*[ACDIM!?L]' 2>/dev/null) if [ $s ]; then echo $1 else From 6bf468f92c9302f84d3b21358202c3a956cad02b Mon Sep 17 00:00:00 2001 From: Shane Emmons Date: Mon, 25 Jul 2011 08:02:25 -0700 Subject: [PATCH 515/518] add alias for `bundle package` to the bundler plugin --- plugins/bundler/bundler.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh index e98bb4b..f005700 100644 --- a/plugins/bundler/bundler.plugin.zsh +++ b/plugins/bundler/bundler.plugin.zsh @@ -2,6 +2,7 @@ alias be="bundle exec" alias bi="bundle install" alias bl="bundle list" alias bu="bundle update" +alias bp="bundle package" # The following is based on https://github.com/gma/bundler-exec From fd732eb3ff4984ddc9109e950cf7ceb472cb9824 Mon Sep 17 00:00:00 2001 From: "Suraj N. Kurapati" Date: Wed, 27 Jul 2011 10:28:55 -0700 Subject: [PATCH 516/518] move history-substring-search* files into plugins/ --- README => plugins/history-substring-search/README | 0 .../history-substring-search/history-substring-search.plugin.zsh | 0 .../history-substring-search/history-substring-search.zsh | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename README => plugins/history-substring-search/README (100%) rename history-substring-search.plugin.zsh => plugins/history-substring-search/history-substring-search.plugin.zsh (100%) rename history-substring-search.zsh => plugins/history-substring-search/history-substring-search.zsh (100%) diff --git a/README b/plugins/history-substring-search/README similarity index 100% rename from README rename to plugins/history-substring-search/README diff --git a/history-substring-search.plugin.zsh b/plugins/history-substring-search/history-substring-search.plugin.zsh similarity index 100% rename from history-substring-search.plugin.zsh rename to plugins/history-substring-search/history-substring-search.plugin.zsh diff --git a/history-substring-search.zsh b/plugins/history-substring-search/history-substring-search.zsh similarity index 100% rename from history-substring-search.zsh rename to plugins/history-substring-search/history-substring-search.zsh From d866662c4af4c6e6e661c59d2da8f60eabbfba1d Mon Sep 17 00:00:00 2001 From: Fredrik Wallgren Date: Sat, 30 Jul 2011 04:38:57 +0200 Subject: [PATCH 517/518] Add autocomplete for gas. Based on the rvm plugin. --- plugins/gas/_gas | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 plugins/gas/_gas diff --git a/plugins/gas/_gas b/plugins/gas/_gas new file mode 100644 index 0000000..069713f --- /dev/null +++ b/plugins/gas/_gas @@ -0,0 +1,34 @@ +#compdef gas + +local curcontext="$curcontext" state line cmds ret=1 + +_arguments -C \ + '(- 1 *)'{-v,--version}'[display version information]' \ + '(-h|--help)'{-h,--help}'[show help information]' \ + '1: :->cmds' \ + '*: :->args' && ret=0 + +case $state in + cmds) + cmds=( + "version:Prints Gas's version" + "use:Uses author" + "show:Shows your current user" + "list:Lists your authors" + "import:Imports current user to gasconfig" + "help:Describe available tasks or one specific task" + "delete:Deletes author" + "add:Adds author to gasconfig" + ) + _describe -t commands 'gas command' cmds && ret=0 + ;; + args) + case $line[1] in + (use|delete) + _values -S , 'rubies' $(cat ~/.gas | sed -n -e 's/^\[\(.*\)\]/\1/p') && ret=0 + ;; + esac + ;; +esac + +return ret From c3412ca57d313a0a1419d26b5529f28de49285d0 Mon Sep 17 00:00:00 2001 From: Fredrik Wallgren Date: Sat, 30 Jul 2011 04:57:25 +0200 Subject: [PATCH 518/518] Replace forgotten rubies with authors --- plugins/gas/_gas | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/gas/_gas b/plugins/gas/_gas index 069713f..befdc94 100644 --- a/plugins/gas/_gas +++ b/plugins/gas/_gas @@ -25,7 +25,7 @@ case $state in args) case $line[1] in (use|delete) - _values -S , 'rubies' $(cat ~/.gas | sed -n -e 's/^\[\(.*\)\]/\1/p') && ret=0 + _values -S , 'authors' $(cat ~/.gas | sed -n -e 's/^\[\(.*\)\]/\1/p') && ret=0 ;; esac ;;