summaryrefslogtreecommitdiff
path: root/themes
diff options
context:
space:
mode:
Diffstat (limited to 'themes')
-rw-r--r--themes/3den.zsh-theme7
-rw-r--r--themes/adben.zsh-theme26
-rw-r--r--themes/af-magic.zsh-theme36
-rw-r--r--themes/agnoster.zsh-theme162
-rw-r--r--themes/alanpeabody.zsh-theme10
-rw-r--r--themes/apple.zsh-theme7
-rw-r--r--themes/avit.zsh-theme120
-rw-r--r--themes/bira.zsh-theme9
-rw-r--r--themes/blinks.zsh-theme16
-rw-r--r--themes/candy-kingdom.zsh-theme37
-rw-r--r--themes/cloud.zsh-theme6
-rw-r--r--themes/crcandy.zsh-theme8
-rw-r--r--themes/crunch.zsh-theme8
-rw-r--r--themes/dallas.zsh-theme10
-rw-r--r--themes/eastwood.zsh-theme4
-rw-r--r--themes/fino-time.zsh-theme39
-rw-r--r--themes/fino.zsh-theme9
-rw-r--r--themes/fishy.zsh-theme11
-rw-r--r--themes/frisk.zsh-theme16
-rw-r--r--themes/frontcube.zsh-theme12
-rw-r--r--themes/gallois.zsh-theme6
-rw-r--r--themes/gentoo.zsh-theme6
-rw-r--r--themes/gianu.zsh-theme11
-rw-r--r--themes/half-life.zsh-theme99
-rw-r--r--themes/intheloop.zsh-theme24
-rw-r--r--themes/itchy.zsh-theme19
-rw-r--r--themes/jaischeema.zsh-theme23
-rw-r--r--themes/jnrowe.zsh-theme19
-rw-r--r--themes/jonathan.zsh-theme34
-rw-r--r--themes/josh.zsh-theme4
-rw-r--r--themes/junkfood.zsh-theme34
-rw-r--r--themes/kafeitu.zsh-theme6
-rw-r--r--themes/kiwi.zsh-theme12
-rw-r--r--themes/kolo.zsh-theme5
-rw-r--r--themes/macovsky-ruby.zsh-theme9
-rw-r--r--themes/macovsky.zsh-theme8
-rw-r--r--themes/mh.zsh-theme24
-rw-r--r--themes/michelebologna.zsh-theme44
-rw-r--r--themes/minimal.zsh-theme25
-rw-r--r--themes/mortalscumbag.zsh-theme59
-rw-r--r--themes/murilasso.zsh-theme2
-rw-r--r--themes/nebirhos.zsh-theme4
-rw-r--r--themes/norm.zsh-theme2
-rw-r--r--themes/pygmalion.zsh-theme9
-rw-r--r--themes/rkj-repos.zsh-theme2
-rw-r--r--themes/rkj.zsh-theme2
-rw-r--r--themes/sammy.zsh-theme6
-rw-r--r--themes/simonoff.zsh-theme141
-rw-r--r--themes/steeef.zsh-theme2
-rw-r--r--themes/superjarin.zsh-theme8
-rw-r--r--themes/suvash.zsh-theme30
-rw-r--r--themes/terminalparty.zsh-theme2
-rw-r--r--themes/tjkirch_mod.zsh-theme13
-rw-r--r--themes/wuffers.zsh-theme2
-rw-r--r--themes/ys.zsh-theme34
-rw-r--r--themes/zhann.zsh-theme15
56 files changed, 1237 insertions, 61 deletions
diff --git a/themes/3den.zsh-theme b/themes/3den.zsh-theme
new file mode 100644
index 000000000..1d2c7db7f
--- /dev/null
+++ b/themes/3den.zsh-theme
@@ -0,0 +1,7 @@
+PROMPT=$'%{$fg[white]%}$(~/.rvm/bin/rvm-prompt) %{$fg_bold[cyan]%}%~%{$reset_color%}$(git_prompt_info) %{$fg[cyan]%}%D{[%I:%M:%S]}\
+%{$fg_bold[green]%}%n$%{$reset_color%} '
+
+ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[white]%}("
+ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_DIRTY="*"
+ZSH_THEME_GIT_PROMPT_CLEAN=""
diff --git a/themes/adben.zsh-theme b/themes/adben.zsh-theme
new file mode 100644
index 000000000..9f777e847
--- /dev/null
+++ b/themes/adben.zsh-theme
@@ -0,0 +1,26 @@
+#!/usr/bin/env zsh
+local USER_HOST='%{$terminfo[bold]$fg[yellow]%}%n@%m%{$reset_color%}'
+local RETURN_CODE="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
+local GIT_BRANCH='%{$terminfo[bold]$fg[red]%}$(git_prompt_info)%{$reset_color%}'
+local CURRENT_DIR='%{$terminfo[bold]$fg[green]%} %~%{$reset_color%}'
+local RUBY_RVM='%{$fg[gray]%}‹$(rvm-prompt i v g)›%{$reset_color%}'
+local COMMAND_TIP='%{$terminfo[bold]$fg[blue]%}$(wget -qO - http://www.commandlinefu.com/commands/random/plaintext | sed 1d | sed '/^$/d' | sed 's/^/║/g')%{$reset_color%}'
+######### PROMPT #########
+PROMPT="%{$terminfo[bold]$fg[blue]%}╔═ %{$reset_color%}${USER_HOST} ${CURRENT_DIR} ${RUBY_RVM} ${GIT_BRANCH}
+${COMMAND_TIP}
+%{$terminfo[bold]$fg[blue]%}╚═ %{$reset_color%}%B%{$terminfo[bold]$fg[white]%}$%b%{$reset_color%} "
+RPS1='${RETURN_CODE}'
+RPROMPT='%{$fg[green]%}[%*]%{$reset_color%}'
+######### PROMPT #########
+########## GIT ###########
+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%}"
+########## GIT ###########
diff --git a/themes/af-magic.zsh-theme b/themes/af-magic.zsh-theme
new file mode 100644
index 000000000..c1b00c62b
--- /dev/null
+++ b/themes/af-magic.zsh-theme
@@ -0,0 +1,36 @@
+# af-magic.zsh-theme
+#
+# Author: Andy Fleming
+# URL: http://andyfleming.com/
+# Repo: https://github.com/andyfleming/oh-my-zsh
+# Direct Link: https://github.com/andyfleming/oh-my-zsh/blob/master/themes/af-magic.zsh-theme
+#
+# Created on: June 19, 2012
+# Last modified on: June 20, 2012
+
+
+
+if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi
+local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
+
+# primary prompt
+PROMPT='$FG[237]------------------------------------------------------------%{$reset_color%}
+$FG[032]%~\
+$(git_prompt_info) \
+$FG[105]%(!.#.»)%{$reset_color%} '
+PROMPT2='%{$fg[red]%}\ %{$reset_color%}'
+RPS1='${return_code}'
+
+
+# color vars
+eval my_gray='$FG[237]'
+eval my_orange='$FG[214]'
+
+# right prompt
+RPROMPT='$my_gray%n@%m%{$reset_color%}%'
+
+# git settings
+ZSH_THEME_GIT_PROMPT_PREFIX="$FG[075](branch:"
+ZSH_THEME_GIT_PROMPT_CLEAN=""
+ZSH_THEME_GIT_PROMPT_DIRTY="$my_orange*%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_SUFFIX="$FG[075])%{$reset_color%}"
diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme
new file mode 100644
index 000000000..a9de8c84e
--- /dev/null
+++ b/themes/agnoster.zsh-theme
@@ -0,0 +1,162 @@
+# vim:ft=zsh ts=2 sw=2 sts=2
+#
+# agnoster's Theme - https://gist.github.com/3712874
+# A Powerline-inspired theme for ZSH
+#
+# # README
+#
+# In order for this theme to render correctly, you will need a
+# [Powerline-patched font](https://gist.github.com/1595572).
+#
+# In addition, I recommend the
+# [Solarized theme](https://github.com/altercation/solarized/) and, if you're
+# using it on Mac OS X, [iTerm 2](http://www.iterm2.com/) over Terminal.app -
+# it has significantly better color fidelity.
+#
+# # Goals
+#
+# The aim of this theme is to only show you *relevant* information. Like most
+# prompts, it will only show git information when in a git working directory.
+# However, it goes a step further: everything from the current user and
+# hostname to whether the last call exited with an error to whether background
+# jobs are running in this shell will all be displayed automatically when
+# appropriate.
+
+### Segment drawing
+# A few utility functions to make it easy and re-usable to draw segmented prompts
+
+CURRENT_BG='NONE'
+SEGMENT_SEPARATOR='⮀'
+
+# Begin a segment
+# Takes two arguments, background and foreground. Both can be omitted,
+# rendering default background/foreground.
+prompt_segment() {
+ local bg fg
+ [[ -n $1 ]] && bg="%K{$1}" || bg="%k"
+ [[ -n $2 ]] && fg="%F{$2}" || fg="%f"
+ if [[ $CURRENT_BG != 'NONE' && $1 != $CURRENT_BG ]]; then
+ echo -n " %{$bg%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR%{$fg%} "
+ else
+ echo -n "%{$bg%}%{$fg%} "
+ fi
+ CURRENT_BG=$1
+ [[ -n $3 ]] && echo -n $3
+}
+
+# End the prompt, closing any open segments
+prompt_end() {
+ if [[ -n $CURRENT_BG ]]; then
+ echo -n " %{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR"
+ else
+ echo -n "%{%k%}"
+ fi
+ echo -n "%{%f%}"
+ CURRENT_BG=''
+}
+
+### Prompt components
+# Each component will draw itself, and hide itself if no information needs to be shown
+
+# Context: user@hostname (who am I and where am I)
+prompt_context() {
+ local user=`whoami`
+
+ if [[ "$user" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
+ prompt_segment black default "%(!.%{%F{yellow}%}.)$user@%m"
+ fi
+}
+
+# Git: branch/detached head, dirty status
+prompt_git() {
+ local ref dirty
+ if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then
+ dirty=$(parse_git_dirty)
+ ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="➦ $(git show-ref --head -s --abbrev |head -n1 2> /dev/null)"
+ if [[ -n $dirty ]]; then
+ prompt_segment yellow black
+ else
+ prompt_segment green black
+ fi
+
+ setopt promptsubst
+ autoload -Uz vcs_info
+
+ zstyle ':vcs_info:*' enable git
+ zstyle ':vcs_info:*' get-revision true
+ zstyle ':vcs_info:*' check-for-changes true
+ zstyle ':vcs_info:*' stagedstr '✚'
+ zstyle ':vcs_info:git:*' unstagedstr '●'
+ zstyle ':vcs_info:*' formats ' %u%c'
+ zstyle ':vcs_info:*' actionformats '%u%c'
+ vcs_info
+ echo -n "${ref/refs\/heads\//⭠ }${vcs_info_msg_0_}"
+ fi
+}
+
+prompt_hg() {
+ local rev status
+ if $(hg id >/dev/null 2>&1); then
+ if $(hg prompt >/dev/null 2>&1); then
+ if [[ $(hg prompt "{status|unknown}") = "?" ]]; then
+ # if files are not added
+ prompt_segment red white
+ st='±'
+ elif [[ -n $(hg prompt "{status|modified}") ]]; then
+ # if any modification
+ prompt_segment yellow black
+ st='±'
+ else
+ # if working copy is clean
+ prompt_segment green black
+ fi
+ echo -n $(hg prompt "⭠ {rev}@{branch}") $st
+ else
+ st=""
+ rev=$(hg id -n 2>/dev/null | sed 's/[^-0-9]//g')
+ branch=$(hg id -b 2>/dev/null)
+ if `hg st | grep -Eq "^\?"`; then
+ prompt_segment red black
+ st='±'
+ elif `hg st | grep -Eq "^(M|A)"`; then
+ prompt_segment yellow black
+ st='±'
+ else
+ prompt_segment green black
+ fi
+ echo -n "⭠ $rev@$branch" $st
+ fi
+ fi
+}
+
+# Dir: current working directory
+prompt_dir() {
+ prompt_segment blue black '%~'
+}
+
+# Status:
+# - was there an error
+# - am I root
+# - are there background jobs?
+prompt_status() {
+ local symbols
+ symbols=()
+ [[ $RETVAL -ne 0 ]] && symbols+="%{%F{red}%}✘"
+ [[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡"
+ [[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙"
+
+ [[ -n "$symbols" ]] && prompt_segment black default "$symbols"
+}
+
+## Main prompt
+build_prompt() {
+ RETVAL=$?
+ prompt_status
+ prompt_context
+ prompt_dir
+ prompt_git
+ prompt_hg
+ prompt_end
+}
+
+PROMPT='%{%f%b%k%}$(build_prompt) '
diff --git a/themes/alanpeabody.zsh-theme b/themes/alanpeabody.zsh-theme
index 1f66f1ec3..4a1b1b386 100644
--- a/themes/alanpeabody.zsh-theme
+++ b/themes/alanpeabody.zsh-theme
@@ -1,7 +1,14 @@
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 rvm=''
+if which rvm-prompt &> /dev/null; then
+ rvm='%{$fg[green]%}‹$(rvm-prompt i v g)›%{$reset_color%}'
+else
+ if which rbenv &> /dev/null; then
+ rvm='%{$fg[green]%}‹$(rbenv version | sed -e "s/ (set.*$//")›%{$reset_color%}'
+ fi
+fi
local return_code='%(?..%{$fg[red]%}%? ↵%{$reset_color%})'
local git_branch='$(git_prompt_status)%{$reset_color%}$(git_prompt_info)%{$reset_color%}'
@@ -19,4 +26,3 @@ ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭"
PROMPT="${user} ${pwd}$ "
RPROMPT="${return_code} ${git_branch} ${rvm}"
-
diff --git a/themes/apple.zsh-theme b/themes/apple.zsh-theme
index 92f1df941..275341dc6 100644
--- a/themes/apple.zsh-theme
+++ b/themes/apple.zsh-theme
@@ -2,7 +2,7 @@ function toon {
echo -n ""
}
-get_git_dirty() {
+get_git_dirty() {
git diff --quiet || echo '*'
}
@@ -18,9 +18,12 @@ zstyle ':vcs_info:*' formats \
zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{3}%r'
zstyle ':vcs_info:*' enable git cvs svn
-precmd () {
+theme_precmd () {
vcs_info
}
setopt prompt_subst
PROMPT='%{$fg[magenta]%}$(toon)%{$reset_color%} %~/ %{$reset_color%}${vcs_info_msg_0_}%{$reset_color%}'
+
+autoload -U add-zsh-hook
+add-zsh-hook precmd theme_precmd \ No newline at end of file
diff --git a/themes/avit.zsh-theme b/themes/avit.zsh-theme
new file mode 100644
index 000000000..51f5e375a
--- /dev/null
+++ b/themes/avit.zsh-theme
@@ -0,0 +1,120 @@
+#
+# Author:: Andrew Vit (<andrew@avit.ca>)
+#
+# AVIT ZSH Theme
+#
+# Copyright 2011, Andrew Vit
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+PROMPT='
+$(_user_host)${_current_dir} $(git_prompt_info) $(_ruby_version)
+▶ '
+
+PROMPT2='%{$fg[grey]%}◀%{$reset_color%} '
+
+RPROMPT='$(_vi_status)%{$(echotc UP 1)%}$(_git_time_since_commit) $(git_prompt_status) ${_return_status}%{$(echotc DO 1)%}'
+
+local _current_dir="%{$fg[blue]%}%3~%{$reset_color%} "
+local _return_status="%{$fg[red]%}%(?..⍉)%{$reset_color%}"
+local _hist_no="%{$fg[grey]%}%h%{$reset_color%}"
+
+function _user_host() {
+ if [[ -n $SSH_CONNECTION ]]; then
+ me="%n@%m"
+ elif [[ $LOGNAME != $USER ]]; then
+ me="%n"
+ fi
+ if [[ -n $me ]]; then
+ echo "%{$fg[cyan]%}$me%{$reset_color%}:"
+ fi
+}
+
+function _vi_status() {
+ if {echo $fpath | grep -q "plugins/vi-mode"}; then
+ echo "$(vi_mode_prompt_info)"
+ fi
+}
+
+function _ruby_version() {
+ if {echo $fpath | grep -q "plugins/rvm"}; then
+ echo "%{$fg[grey]%}$(rvm_prompt_info)%{$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 [ $hours -gt 24 ]; then
+ commit_age="${days}d"
+ elif [ $minutes -gt 60 ]; then
+ commit_age="${sub_hours}h${sub_minutes}m"
+ else
+ commit_age="${minutes}m"
+ fi
+
+ color=$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL
+ echo "$color$commit_age%{$reset_color%}"
+ fi
+ fi
+}
+
+if [[ $USER == "root" ]]; then
+ CARETCOLOR="red"
+else
+ CARETCOLOR="white"
+fi
+
+MODE_INDICATOR="%{$fg_bold[yellow]%}❮%{$reset_color%}%{$fg[yellow]%}❮❮%{$reset_color%}"
+
+ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}"
+ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
+
+ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}✗%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}✔%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%}✚ "
+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[cyan]%}§ "
+ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[grey]%}◒ "
+
+# 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[grey]%}"
+
+# LS colors, made with http://geoff.greer.fm/lscolors/
+export LSCOLORS="exfxcxdxbxegedabagacad"
+export LS_COLORS='di=34;40:ln=35;40:so=32;40:pi=33;40:ex=31;40:bd=34;46:cd=34;43:su=0;41:sg=0;46:tw=0;42:ow=0;43:'
+export GREP_COLOR='1;33'
+
diff --git a/themes/bira.zsh-theme b/themes/bira.zsh-theme
index 5642eaeb8..215720477 100644
--- a/themes/bira.zsh-theme
+++ b/themes/bira.zsh-theme
@@ -3,7 +3,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 i v g)›%{$reset_color%}'
+local rvm_ruby=''
+if which rvm-prompt &> /dev/null; then
+ rvm_ruby='%{$fg[red]%}‹$(rvm-prompt i v g)›%{$reset_color%}'
+else
+ if which rbenv &> /dev/null; then
+ rvm_ruby='%{$fg[red]%}‹$(rbenv version | sed -e "s/ (set.*$//")›%{$reset_color%}'
+ fi
+fi
local git_branch='$(git_prompt_info)%{$reset_color%}'
PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby} ${git_branch}
diff --git a/themes/blinks.zsh-theme b/themes/blinks.zsh-theme
index 3db7012f4..ddb32f7c3 100644
--- a/themes/blinks.zsh-theme
+++ b/themes/blinks.zsh-theme
@@ -8,13 +8,23 @@ function _prompt_char() {
fi
}
+# This theme works with both the "dark" and "light" variants of the
+# Solarized color schema. Set the SOLARIZED_THEME variable to one of
+# these two values to choose. If you don't specify, we'll assume you're
+# using the "dark" variant.
+
+case ${SOLARIZED_THEME:-dark} in
+ light) bkg=white;;
+ *) bkg=black;;
+esac
+
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_SUFFIX="%{%f%k%b%K{${bkg}}%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%} '
+%{%K{${bkg}}%B%F{green}%}%n%{%B%F{blue}%}@%{%B%F{cyan}%}%m%{%B%F{green}%} %{%b%F{yellow}%K{${bkg}}%}%~%{%B%F{green}%}$(git_prompt_info)%E%{%f%k%b%}
+%{%K{${bkg}}%}$(_prompt_char)%{%K{${bkg}}%} %#%{%f%k%b%} '
RPROMPT='!%{%B%F{cyan}%}%!%{%f%k%b%}'
diff --git a/themes/candy-kingdom.zsh-theme b/themes/candy-kingdom.zsh-theme
new file mode 100644
index 000000000..25aeb6597
--- /dev/null
+++ b/themes/candy-kingdom.zsh-theme
@@ -0,0 +1,37 @@
+# neuralsanwich.zsh-theme
+#
+# Author: Sean Jones
+# URL: http://www.neuralsandwich.com
+# Repo:
+# Direct link:
+# Create:
+# Modified:
+
+if [ "x$OH_MY_ZSH_HG" = "x" ]; then
+ OH_MY_ZSH_HG="hg"
+fi
+
+function hg_prompt_info {
+ $OH_MY_ZSH_HG prompt --angle-brackets "\
+< on %{$fg[magenta]%}<branch>%{$reset_color%}>\
+< at %{$fg[yellow]%}<tags|%{$reset_color%}, %{$fg[yellow]%}>%{$reset_color%}>\
+%{$fg[green]%}<status|modified|unknown><update>%{$reset_color%}<
+patches: <patches|join( → )|pre_applied(%{$fg[yellow]%})|post_applied(%{$reset_color%})|pre_unapplied(%{$fg_bold[black]%})|post_unapplied(%{$reset_color%})>>" 2>/dev/null
+}
+
+function box_name {
+ [ -f ~/.box-name ] && cat ~/.box-name || hostname -s
+}
+
+PROMPT='
+%{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}$(box_name)%{$reset_color%}:%{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(hg_prompt_info)$(git_prompt_info)
+%(?,,%{${fg_bold[white]}%}[%?]%{$reset_color%} )$ '
+
+ZSH_THEME_GIT_PROMPT_PREFIX=" (%{$fg[magenta]%}branch: "
+ZSH_THEME_GIT_PROMPT_CLEAN=""
+ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[red]%}?"
+ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[orange]%}!"
+ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%})"
+
+local return_status="%{$fg[red]%}%(?..✘)%{$reset_color%}"
+RPROMPT='${return_status}$(battery_time_remaining) $(battery_pct_prompt)%{$reset_color%}'
diff --git a/themes/cloud.zsh-theme b/themes/cloud.zsh-theme
index ad5e2834b..4efbf9776 100644
--- a/themes/cloud.zsh-theme
+++ b/themes/cloud.zsh-theme
@@ -1,4 +1,8 @@
-PROMPT='%{$fg_bold[cyan]%}☁ %{$fg_bold[green]%}%p %{$fg[green]%}%c %{$fg_bold[cyan]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
+if [[ -z $ZSH_THEME_CLOUD_PREFIX ]]; then
+ ZSH_THEME_CLOUD_PREFIX='☁'
+fi
+
+PROMPT='%{$fg_bold[cyan]%}$ZSH_THEME_CLOUD_PREFIX %{$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%}"
diff --git a/themes/crcandy.zsh-theme b/themes/crcandy.zsh-theme
new file mode 100644
index 000000000..0a63c1245
--- /dev/null
+++ b/themes/crcandy.zsh-theme
@@ -0,0 +1,8 @@
+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=""
diff --git a/themes/crunch.zsh-theme b/themes/crunch.zsh-theme
index 2473cd230..2fc066381 100644
--- a/themes/crunch.zsh-theme
+++ b/themes/crunch.zsh-theme
@@ -29,7 +29,13 @@ ZSH_THEME_GIT_PROMPT_DIRTY=" $CRUNCH_GIT_DIRTY_COLOR✗"
# Our elements:
CRUNCH_TIME_="$CRUNCH_BRACKET_COLOR{$CRUNCH_TIME_COLOR%T$CRUNCH_BRACKET_COLOR}%{$reset_color%}"
-CRUNCH_RVM_="$CRUNCH_BRACKET_COLOR"["$CRUNCH_RVM_COLOR\${\$(~/.rvm/bin/rvm-prompt i v g)#ruby-}$CRUNCH_BRACKET_COLOR"]"%{$reset_color%}"
+if [ -e ~/.rvm/bin/rvm-prompt ]; then
+ CRUNCH_RVM_="$CRUNCH_BRACKET_COLOR"["$CRUNCH_RVM_COLOR\${\$(~/.rvm/bin/rvm-prompt i v g)#ruby-}$CRUNCH_BRACKET_COLOR"]"%{$reset_color%}"
+else
+ if which rbenv &> /dev/null; then
+ CRUNCH_RVM_="$CRUNCH_BRACKET_COLOR"["$CRUNCH_RVM_COLOR\${\$(rbenv version | sed -e 's/ (set.*$//' -e 's/^ruby-//')}$CRUNCH_BRACKET_COLOR"]"%{$reset_color%}"
+ fi
+fi
CRUNCH_DIR_="$CRUNCH_DIR_COLOR%~\$(git_prompt_info) "
CRUNCH_PROMPT="$CRUNCH_BRACKET_COLOR➭ "
diff --git a/themes/dallas.zsh-theme b/themes/dallas.zsh-theme
index eef32e998..e9e86177b 100644
--- a/themes/dallas.zsh-theme
+++ b/themes/dallas.zsh-theme
@@ -3,12 +3,18 @@
# 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%}"
+if [ -e ~/.rvm/bin/rvm-prompt ]; then
+ DALLAS_CURRENT_RUBY_="%{$fg[white]%}[%{$fg[magenta]%}\$(~/.rvm/bin/rvm-prompt i v)%{$fg[white]%}]%{$reset_color%}"
+else
+ if which rbenv &> /dev/null; then
+ DALLAS_CURRENT_RUBY_="%{$fg[white]%}[%{$fg[magenta]%}\$(rbenv version | sed -e 's/ (set.*$//')%{$fg[white]%}]%{$reset_color%}"
+ fi
+fi
# Grab the current machine name: muscato
DALLAS_CURRENT_MACH_="%{$fg[green]%}%m%{$fg[white]%}:%{$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%}"
+DALLAS_CURRENT_LOCA_="%{$fg[cyan]%}%~\$(git_prompt_info)%{$reset_color%}\$(parse_git_dirty)"
# Grab the current username: dallas
DALLAS_CURRENT_USER_="%{$fg[red]%}%n%{$reset_color%}"
# Use a % for normal users and a # for privelaged (root) users.
diff --git a/themes/eastwood.zsh-theme b/themes/eastwood.zsh-theme
index 83664515a..db2529990 100644
--- a/themes/eastwood.zsh-theme
+++ b/themes/eastwood.zsh-theme
@@ -1,6 +1,10 @@
#RVM settings
if [[ -s ~/.rvm/scripts/rvm ]] ; then
RPS1="%{$fg[yellow]%}rvm:%{$reset_color%}%{$fg[red]%}\$(~/.rvm/bin/rvm-prompt)%{$reset_color%} $EPS1"
+else
+ if which rbenv &> /dev/null; then
+ RPS1="%{$fg[yellow]%}rbenv:%{$reset_color%}%{$fg[red]%}\$(rbenv version | sed -e 's/ (set.*$//')%{$reset_color%} $EPS1"
+ fi
fi
ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}%{$fg[green]%}["
diff --git a/themes/fino-time.zsh-theme b/themes/fino-time.zsh-theme
new file mode 100644
index 000000000..7154e09f1
--- /dev/null
+++ b/themes/fino-time.zsh-theme
@@ -0,0 +1,39 @@
+# Fino-time theme by Aexander Berezovsky (http://berezovsky.me) based on Fino by Max Masnick (http://max.masnick.me)
+
+# Use with a dark background and 256-color terminal!
+# Meant for people with RVM and git. Tested only on OS X 10.7.
+
+# You can set your computer name in the ~/.box-name file if you want.
+
+# Borrowing shamelessly from these oh-my-zsh themes:
+# bira
+# robbyrussell
+#
+# Also borrowing from http://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/
+
+function virtualenv_info {
+ [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') '
+}
+
+function prompt_char {
+ git branch >/dev/null 2>/dev/null && echo '⠠⠵' && return
+ echo '○'
+}
+
+function box_name {
+ [ -f ~/.box-name ] && cat ~/.box-name || hostname -s
+}
+
+
+local rvm_ruby='‹$(rvm-prompt i v g)›%{$reset_color%}'
+local current_dir='${PWD/#$HOME/~}'
+local git_info='$(git_prompt_info)'
+
+
+PROMPT="╭─%{$FG[040]%}%n%{$reset_color%} %{$FG[239]%}at%{$reset_color%} %{$FG[033]%}$(box_name)%{$reset_color%} %{$FG[239]%}in%{$reset_color%} %{$terminfo[bold]$FG[226]%}${current_dir}%{$reset_color%}${git_info} %{$FG[239]%}using%{$FG[243]%} ${rvm_ruby} %D - %*
+╰─$(virtualenv_info)$(prompt_char) "
+
+ZSH_THEME_GIT_PROMPT_PREFIX=" %{$FG[239]%}on%{$reset_color%} %{$fg[255]%}"
+ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_DIRTY="%{$FG[202]%}✘✘✘"
+ZSH_THEME_GIT_PROMPT_CLEAN="%{$FG[040]%}✔"
diff --git a/themes/fino.zsh-theme b/themes/fino.zsh-theme
index 17cf59708..26e547176 100644
--- a/themes/fino.zsh-theme
+++ b/themes/fino.zsh-theme
@@ -25,7 +25,14 @@ function box_name {
}
-local rvm_ruby='‹$(rvm-prompt i v g)›%{$reset_color%}'
+local rvm_ruby=''
+if which rvm-prompt &> /dev/null; then
+ rvm_ruby='‹$(rvm-prompt i v g)›%{$reset_color%}'
+else
+ if which rbenv &> /dev/null; then
+ rvm_ruby='‹$(rbenv version | sed -e "s/ (set.*$//")›%{$reset_color%}'
+ fi
+fi
local current_dir='${PWD/#$HOME/~}'
local git_info='$(git_prompt_info)'
diff --git a/themes/fishy.zsh-theme b/themes/fishy.zsh-theme
index f9e506cae..8b24172a2 100644
--- a/themes/fishy.zsh-theme
+++ b/themes/fishy.zsh-theme
@@ -1,7 +1,16 @@
# ZSH Theme emulating the Fish shell's default prompt.
+_fishy_collapsed_wd() {
+ echo $(pwd | perl -pe "
+ BEGIN {
+ binmode STDIN, ':encoding(UTF-8)';
+ binmode STDOUT, ':encoding(UTF-8)';
+ }; s|^$HOME|~|g; s|/([^/])[^/]*(?=/)|/\$1|g
+")
+}
+
local user_color='green'; [ $UID -eq 0 ] && user_color='red'
-PROMPT='%n@%m %{$fg[$user_color]%}%~%{$reset_color%}%(!.#.>) '
+PROMPT='%n@%m %{$fg[$user_color]%}$(_fishy_collapsed_wd)%{$reset_color%}%(!.#.>) '
PROMPT2='%{$fg[red]%}\ %{$reset_color%}'
local return_status="%{$fg_bold[red]%}%(?..%?)%{$reset_color%}"
diff --git a/themes/frisk.zsh-theme b/themes/frisk.zsh-theme
index f181aec90..2c999a6a6 100644
--- a/themes/frisk.zsh-theme
+++ b/themes/frisk.zsh-theme
@@ -1,10 +1,22 @@
PROMPT=$'
-%{$fg[blue]%}%/%{$reset_color%} $(git_prompt_info)%{$fg[white]%}[%n@%m]%{$reset_color%} %{$fg[white]%}[%T]%{$reset_color%}
+%{$fg[blue]%}%/%{$reset_color%} $(git_prompt_info)$(bzr_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]%}["
+GIT_CB="git::"
+ZSH_THEME_SCM_PROMPT_PREFIX="%{$fg[green]%}["
+ZSH_THEME_GIT_PROMPT_PREFIX=$ZSH_THEME_SCM_PROMPT_PREFIX$GIT_CB
ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}*%{$fg[green]%}"
ZSH_THEME_GIT_PROMPT_CLEAN=""
+
+## Bazaar integration
+bzr_prompt_info() {
+ BZR_CB=`bzr nick 2> /dev/null | grep -v "ERROR" | cut -d ":" -f2 | awk -F / '{print "bzr::"$1}'`
+ if [ -n "$BZR_CB" ]; then
+ BZR_DIRTY=""
+ [[ -n `bzr status` ]] && BZR_DIRTY="%{$fg[red]%} *%{$reset_color%}"
+ echo "$ZSH_THEME_SCM_PROMPT_PREFIX$BZR_CB$BZR_DIRTY$ZSH_THEME_GIT_PROMPT_SUFFIX"
+ fi
+}
diff --git a/themes/frontcube.zsh-theme b/themes/frontcube.zsh-theme
new file mode 100644
index 000000000..d9f5b6d9c
--- /dev/null
+++ b/themes/frontcube.zsh-theme
@@ -0,0 +1,12 @@
+local rvm="%{$fg[green]%}[$(rvm-prompt i v g)]%{$reset_color%}"
+
+PROMPT='
+%{$fg_bold[gray]%}%~%{$fg_bold[blue]%}%{$fg_bold[blue]%} % %{$reset_color%}
+%{$fg[green]%}➞ %{$reset_color%'
+
+RPROMPT='$(git_prompt_info) $(rvm)'
+
+ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}[git:"
+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]%}] %{$fg[green]%}✔%{$reset_color%}"
diff --git a/themes/gallois.zsh-theme b/themes/gallois.zsh-theme
index 259640ba4..3eac14867 100644
--- a/themes/gallois.zsh-theme
+++ b/themes/gallois.zsh-theme
@@ -14,6 +14,12 @@ git_custom_status() {
#RVM and git settings
if [[ -s ~/.rvm/scripts/rvm ]] ; then
RPS1='$(git_custom_status)%{$fg[red]%}[`~/.rvm/bin/rvm-prompt`]%{$reset_color%} $EPS1'
+else
+ if which rbenv &> /dev/null; then
+ RPS1='$(git_custom_status)%{$fg[red]%}[`rbenv version | sed -e "s/ (set.*$//"`]%{$reset_color%} $EPS1'
+ else
+ RPS1='$(git_custom_status) $EPS1'
+ fi
fi
PROMPT='%{$fg[cyan]%}[%~% ]%(?.%{$fg[green]%}.%{$fg[red]%})%B$%b '
diff --git a/themes/gentoo.zsh-theme b/themes/gentoo.zsh-theme
index cba143d42..ee205d248 100644
--- a/themes/gentoo.zsh-theme
+++ b/themes/gentoo.zsh-theme
@@ -1,4 +1,8 @@
-PROMPT='%(!.%{$fg_bold[red]%}.%{$fg_bold[green]%}%n@)%m %{$fg_bold[blue]%}%(!.%1~.%~) $(git_prompt_info)%#%{$reset_color%} '
+function prompt_char {
+ if [ $UID -eq 0 ]; then echo "#"; else echo $; fi
+}
+
+PROMPT='%(!.%{$fg_bold[red]%}.%{$fg_bold[green]%}%n@)%m %{$fg_bold[blue]%}%(!.%1~.%~) $(git_prompt_info)%_$(prompt_char)%{$reset_color%} '
ZSH_THEME_GIT_PROMPT_PREFIX="("
ZSH_THEME_GIT_PROMPT_SUFFIX=") "
diff --git a/themes/gianu.zsh-theme b/themes/gianu.zsh-theme
new file mode 100644
index 000000000..c7fe40665
--- /dev/null
+++ b/themes/gianu.zsh-theme
@@ -0,0 +1,11 @@
+# Oh-my-Zsh prompt created by gianu
+#
+# github.com/gianu
+# sgianazza@gmail.com
+
+PROMPT='[%{$fg_bold[white]%}%n%{$reset_color%}@%{$fg_bold[red]%}%m%{$reset_color%} %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)%{$reset_color%}]$ '
+
+ZSH_THEME_GIT_PROMPT_PREFIX="(%{$fg_bold[green]%}"
+ZSH_THEME_GIT_PROMPT_SUFFIX=")"
+ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%} %{$fg[yellow]%}✗%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_CLEAN="%{$reset_color%}"
diff --git a/themes/half-life.zsh-theme b/themes/half-life.zsh-theme
new file mode 100644
index 000000000..c8d09ce47
--- /dev/null
+++ b/themes/half-life.zsh-theme
@@ -0,0 +1,99 @@
+# 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
+#
+# 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`') '
+}
+PR_GIT_UPDATE=1
+
+setopt prompt_subst
+autoload colors
+colors
+
+autoload -U add-zsh-hook
+autoload -Uz vcs_info
+
+#use extended color pallete if available
+if [[ $TERM = *256color* || $TERM = *rxvt* ]]; 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
+
+# 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=" on %{$turquoise%}%b%u%c${PR_RST}"
+FMT_ACTION=" performing a %{$limegreen%}%a${PR_RST}"
+FMT_UNSTAGED="%{$orange%}●"
+FMT_STAGED="%{$limegreen%}●"
+
+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
+ ;;
+ *svn*)
+ 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
+ # 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="${PM_RST} on %{$turquoise%}%b%u%c%{$hotpink%}●${PR_RST}"
+ else
+ FMT_BRANCH="${PM_RST} on %{$turquoise%}%b%u%c${PR_RST}"
+ fi
+ zstyle ':vcs_info:*:prompt:*' formats "${FMT_BRANCH}"
+
+ vcs_info 'prompt'
+ PR_GIT_UPDATE=
+ fi
+}
+add-zsh-hook precmd steeef_precmd
+
+PROMPT=$'
+%{$purple%}%n%{$reset_color%} in %{$limegreen%}%~%{$reset_color%}$(rvm-prompt " with%{$fg[red]%} " v g "%{$reset_color%}")$vcs_info_msg_0_%{$orange%} λ%{$reset_color%} '
diff --git a/themes/intheloop.zsh-theme b/themes/intheloop.zsh-theme
new file mode 100644
index 000000000..85b4a4d95
--- /dev/null
+++ b/themes/intheloop.zsh-theme
@@ -0,0 +1,24 @@
+# ZSH theme by James Smith (http://loopj.com)
+# A multiline prompt with username, hostname, full path, return status, git branch, git dirty status, git remote status
+
+local return_status="%{$fg[red]%}%(?..⏎)%{$reset_color%}"
+
+local host_color="green"
+if [ -n "$SSH_CLIENT" ]; then
+ local host_color="red"
+fi
+
+PROMPT='
+%{$fg_bold[grey]%}[%{$reset_color%}%{$fg_bold[${host_color}]%}%n@%m%{$reset_color%}%{$fg_bold[grey]%}]%{$reset_color%} %{$fg_bold[blue]%}%10c%{$reset_color%} $(git_prompt_info) $(git_remote_status)
+%{$fg_bold[cyan]%}❯%{$reset_color%} '
+
+
+RPROMPT='${return_status}%{$reset_color%}'
+
+ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[grey]%}(%{$fg[red]%}"
+ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[grey]%}) %{$fg[yellow]%}⚡%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[grey]%})"
+ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE="%{$fg_bold[magenta]%}↓%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE="%{$fg_bold[magenta]%}↑%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_DIVERGED_REMOTE="%{$fg_bold[magenta]%}↕%{$reset_color%}" \ No newline at end of file
diff --git a/themes/itchy.zsh-theme b/themes/itchy.zsh-theme
new file mode 100644
index 000000000..afc2abf69
--- /dev/null
+++ b/themes/itchy.zsh-theme
@@ -0,0 +1,19 @@
+# Created by Daniel Bayerlein https://github.com/danielbayerlein
+# Inspired by http://peepcode.com/blog/2012/my-command-line-prompt
+
+local smiley="%(?,%{$fg[green]%}☺%{$reset_color%},%{$fg[red]%}☹%{$reset_color%})"
+
+local user="%{$fg[cyan]%}%n%{$reset_color%}"
+local host="%{$fg[cyan]%}@%m%{$reset_color%}"
+local pwd="%{$fg[yellow]%}%~%{$reset_color%}"
+
+PROMPT='${user}${host} ${pwd}
+${smiley} '
+
+RPROMPT='$(rvm-prompt || rbenv version) %{$fg[white]%}$(git_prompt_info)%{$reset_color%}'
+
+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%}"
+
diff --git a/themes/jaischeema.zsh-theme b/themes/jaischeema.zsh-theme
new file mode 100644
index 000000000..aecc5b961
--- /dev/null
+++ b/themes/jaischeema.zsh-theme
@@ -0,0 +1,23 @@
+# ------------------------------------------------------------------------------
+# FILE: jaischeema.zsh-theme
+# DESCRIPTION: oh-my-zsh theme file.
+# AUTHOR: Jais Cheema
+# VERSION: 0.0.1
+# ------------------------------------------------------------------------------
+
+
+
+PROMPT='%{$fg_bold[magenta]%}%m%{$reset_color%} at %{$fg_bold[green]%}%~%{$reset_color%} %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}% %{$reset_color%}%{$fg[red]%}❯%{$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]%}) "
+
+if which rbenv &> /dev/null; then
+ RPROMPT='%{$fg[red]%}$(rbenv version | sed -e "s/ (set.*$//")%{$reset_color%}'
+else
+ if which rvm-prompt &> /dev/null; then
+ RPROMPT='%{$fg[red]%}$(rvm-prompt)%{$reset_color%}'
+ fi
+fi
diff --git a/themes/jnrowe.zsh-theme b/themes/jnrowe.zsh-theme
index 7c8a7082e..bae88f7ab 100644
--- a/themes/jnrowe.zsh-theme
+++ b/themes/jnrowe.zsh-theme
@@ -2,15 +2,14 @@ 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 '
+ '%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
+add-zsh-hook precmd prompt_vcs
-prompt_jnrowe_precmd () {
+prompt_vcs () {
vcs_info
if [ "${vcs_info_msg_0_}" = "" ]; then
@@ -24,8 +23,16 @@ prompt_jnrowe_precmd () {
fi
}
+function {
+ if [[ -n "$SSH_CLIENT" ]]; then
+ PROMPT_HOST=" ($HOST)"
+ else
+ PROMPT_HOST=''
+ fi
+}
+
local ret_status="%(?:%{$fg_bold[green]%}Ξ:%{$fg_bold[red]%}%S↑%s%?)"
-PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg_bold[yellow]%}%2~ ${vcs_info_msg_0_}${dir_status}%{$reset_color%} '
+PROMPT='${ret_status}%{$fg[blue]%}${PROMPT_HOST}%{$fg_bold[green]%}%p %{$fg_bold[yellow]%}%2~ ${vcs_info_msg_0_}${dir_status}%{$reset_color%} '
# vim: set ft=zsh ts=4 sw=4 et:
diff --git a/themes/jonathan.zsh-theme b/themes/jonathan.zsh-theme
index add485279..9f0f30271 100644
--- a/themes/jonathan.zsh-theme
+++ b/themes/jonathan.zsh-theme
@@ -1,19 +1,21 @@
-function precmd {
+functions rbenv_prompt_info >& /dev/null || rbenv_prompt_info(){}
+
+function theme_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 rubyprompt=`rvm_prompt_info || rbenv_prompt_info`
local rubypromptsize=${#${rubyprompt}}
local pwdsize=${#${(%):-%~}}
-
+
if [[ "$promptsize + $rubypromptsize + $pwdsize" -gt $TERMWIDTH ]]; then
((PR_PWDLEN=$TERMWIDTH - $promptsize))
else
@@ -24,7 +26,7 @@ function precmd {
setopt extended_glob
-preexec () {
+theme_preexec () {
if [[ "$TERM" == "screen" ]]; then
local CMD=${1[(wr)^(*=*|sudo|-*)]}
echo -n "\ek$CMD\e\\"
@@ -69,7 +71,7 @@ setprompt () {
###
# See if we can use extended characters to look nicer.
-
+
typeset -A altchar
set -A altchar ${(s..)terminfo[acsc]}
PR_SET_CHARSET="%{$terminfo[enacs]%}"
@@ -81,10 +83,10 @@ setprompt () {
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%}'
@@ -96,8 +98,8 @@ setprompt () {
PR_TITLEBAR=''
;;
esac
-
-
+
+
###
# Decide whether to set a screen title
if [[ "$TERM" == "screen" ]]; then
@@ -105,15 +107,15 @@ setprompt () {
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_GREY)`rvm_prompt_info || rbenv_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\
@@ -135,3 +137,7 @@ $PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT$PR_NO_COLOUR '
}
setprompt
+
+autoload -U add-zsh-hook
+add-zsh-hook precmd theme_precmd
+add-zsh-hook preexec theme_preexec \ No newline at end of file
diff --git a/themes/josh.zsh-theme b/themes/josh.zsh-theme
index 6bed1a70e..142e76838 100644
--- a/themes/josh.zsh-theme
+++ b/themes/josh.zsh-theme
@@ -10,7 +10,7 @@ function josh_prompt {
prompt=" "
branch=$(current_branch)
- ruby_version=$(rvm_prompt_info)
+ ruby_version=$(rvm_prompt_info || rbenv_prompt_info)
path_size=${#PWD}
branch_size=${#branch}
ruby_size=${#ruby_version}
@@ -31,7 +31,7 @@ function josh_prompt {
prompt=" $prompt"
done
- prompt="%{%F{green}%}$PWD$prompt%{%F{red}%}$(rvm_prompt_info)%{$reset_color%} $(git_prompt_info)"
+ prompt="%{%F{green}%}$PWD$prompt%{%F{red}%}$(rvm_prompt_info || rbenv_prompt_info)%{$reset_color%} $(git_prompt_info)"
echo $prompt
}
diff --git a/themes/junkfood.zsh-theme b/themes/junkfood.zsh-theme
new file mode 100644
index 000000000..57b4070dc
--- /dev/null
+++ b/themes/junkfood.zsh-theme
@@ -0,0 +1,34 @@
+# ------------------------------------------------------------------------
+# Tyler Cipriani
+# oh-my-zsh theme
+# Totally ripped off Dallas theme
+# ------------------------------------------------------------------------
+
+# Grab the current date (%W) and time (%t):
+JUNKFOOD_TIME_="%{$fg_bold[red]%}#%{$fg_bold[white]%}( %{$fg_bold[yellow]%}%W%{$reset_color%}@%{$fg_bold[white]%}%t )( %{$reset_color%}"
+
+# Grab the current machine name
+JUNKFOOD_MACHINE_="%{$fg_bold[blue]%}%m%{$fg[white]%} ):%{$reset_color%}"
+
+# Grab the current username
+JUNKFOOD_CURRENT_USER_="%{$fg_bold[green]%}%n%{$reset_color%}"
+
+# Grab the current filepath, use shortcuts: ~/Desktop
+# Append the current git branch, if in a git repository: ~aw@master
+JUNKFOOD_LOCA_="%{$fg[cyan]%}%~\$(git_prompt_info)%{$reset_color%}"
+
+# For the git prompt, use a white @ and blue text for the branch name
+ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[white]%}@%{$fg_bold[white]%}"
+
+# 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="%{$fg_bold[green]%}✔"
+
+# Add 3 cyan ✗s if this branch is diiirrrty! Dirty branch!
+ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}✗✗✗"
+
+# Put it all together!
+PROMPT="$JUNKFOOD_TIME_$JUNKFOOD_CURRENT_USER_@$JUNKFOOD_MACHINE_$JUNKFOOD_LOCA_
+ "
diff --git a/themes/kafeitu.zsh-theme b/themes/kafeitu.zsh-theme
new file mode 100644
index 000000000..c4720b24d
--- /dev/null
+++ b/themes/kafeitu.zsh-theme
@@ -0,0 +1,6 @@
+PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%n%{$fg[cyan]%}@%{$fg_bold[green]%}%m %{$fg_bold[green]%}%p %{$fg[cyan]%}%~ %{$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]%})"
diff --git a/themes/kiwi.zsh-theme b/themes/kiwi.zsh-theme
new file mode 100644
index 000000000..f93de2b75
--- /dev/null
+++ b/themes/kiwi.zsh-theme
@@ -0,0 +1,12 @@
+#
+# Kiwi ZSH Theme
+#
+
+PROMPT='%{$fg_bold[green]%}┌[%{$fg_bold[cyan]%}kiwish-4.2%{$fg_bold[green]%}]-(%{$fg_bold[white]%}%2~%{$fg_bold[green]%})-$(git_prompt_info)$(svn_prompt_info)$(battery_pct_prompt)
+└> % %{$reset_color%}'
+
+ZSH_THEME_GIT_PROMPT_PREFIX="[%{$reset_color%}%{$fg[white]%}git:%{$fg_bold[white]%}"
+ZSH_THEME_GIT_PROMPT_SUFFIX="%{$fg_bold[green]%}]-"
+
+ZSH_THEME_SVN_PROMPT_PREFIX="[%{$reset_color%}%{$fg[white]%}svn:%{$fg_bold[white]%}/"
+ZSH_THEME_SVN_PROMPT_SUFFIX="%{$fg_bold[green]%}]-"
diff --git a/themes/kolo.zsh-theme b/themes/kolo.zsh-theme
index 6e04e1595..e743289c3 100644
--- a/themes/kolo.zsh-theme
+++ b/themes/kolo.zsh-theme
@@ -7,7 +7,7 @@ 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 () {
+theme_precmd () {
if [[ -z $(git ls-files --other --exclude-standard 2> /dev/null) ]] {
zstyle ':vcs_info:*' formats ' [%b%c%u%B%F{green}]'
} else {
@@ -19,3 +19,6 @@ precmd () {
setopt prompt_subst
PROMPT='%B%F{magenta}%c%B%F{green}${vcs_info_msg_0_}%B%F{magenta} %{$reset_color%}%% '
+
+autoload -U add-zsh-hook
+add-zsh-hook precmd theme_precmd
diff --git a/themes/macovsky-ruby.zsh-theme b/themes/macovsky-ruby.zsh-theme
index 4eb410233..69d80d588 100644
--- a/themes/macovsky-ruby.zsh-theme
+++ b/themes/macovsky-ruby.zsh-theme
@@ -1,7 +1,14 @@
# 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 '
+if [ -e ~/.rvm/bin/rvm-prompt ]; then
+ PROMPT='%{$fg[green]%}%~%{$reset_color%} %{$fg[red]%}‹$(~/.rvm/bin/rvm-prompt i v)› %{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b '
+else
+ if which rbenv &> /dev/null; then
+ PROMPT='%{$fg[green]%}%~%{$reset_color%} %{$fg[red]%}‹$(rbenv version | sed -e "s/ (set.*$//")› %{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b '
+ fi
+fi
+
RPS1="${return_code}"
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹"
diff --git a/themes/macovsky.zsh-theme b/themes/macovsky.zsh-theme
index 4eb410233..2e6dce42d 100644
--- a/themes/macovsky.zsh-theme
+++ b/themes/macovsky.zsh-theme
@@ -1,7 +1,13 @@
# 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 '
+if [ -e ~/.rvm/bin/rvm-prompt ]; then
+ PROMPT='%{$fg[green]%}%~%{$reset_color%} %{$fg[red]%}‹$(~/.rvm/bin/rvm-prompt i v)› %{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b '
+else
+ if which rbenv &> /dev/null; then
+ PROMPT='%{$fg[green]%}%~%{$reset_color%} %{$fg[red]%}‹$(rbenv version | sed -e "s/ (set.*$//")› %{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b '
+ fi
+fi
RPS1="${return_code}"
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹"
diff --git a/themes/mh.zsh-theme b/themes/mh.zsh-theme
new file mode 100644
index 000000000..34a3765b1
--- /dev/null
+++ b/themes/mh.zsh-theme
@@ -0,0 +1,24 @@
+# mh theme
+# preview: http://cl.ly/1y2x0W0E3t2C0F29043z
+
+# features:
+# path is autoshortened to ~30 characters
+# displays git status (if applicable in current folder)
+# turns username green if superuser, otherwise it is white
+
+# if superuser make the username green
+if [ $UID -eq 0 ]; then NCOLOR="green"; else NCOLOR="white"; fi
+
+# prompt
+PROMPT='[%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[red]%}%30<...<%~%<<%{$reset_color%}]%(!.#.$) '
+RPROMPT='$(git_prompt_info)'
+
+# git theming
+ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[gray]%}(%{$fg_no_bold[yellow]%}%B"
+ZSH_THEME_GIT_PROMPT_SUFFIX="%b%{$fg_bold[gray]%})%{$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:'
diff --git a/themes/michelebologna.zsh-theme b/themes/michelebologna.zsh-theme
new file mode 100644
index 000000000..ef4c6d740
--- /dev/null
+++ b/themes/michelebologna.zsh-theme
@@ -0,0 +1,44 @@
+# reference colors
+GREEN="%{$fg_bold[green]%}"
+RED="%{$fg_bold[red]%}"
+CYAN="%{$fg_bold[cyan]%}"
+YELLOW="%{$fg_bold[yellow]%}"
+BLUE="%{$fg_bold[blue]%}"
+MAGENTA="%{$fg_bold[magenta]%}"
+WHITE="%{$fg_bold[white]%}"
+
+COLOR_ARRAY=($GREEN $RED $CYAN $YELLOW $BLUE $MAGENTA $WHITE)
+
+# color reset
+RESET_COLOR="%{$reset_color%}"
+
+# which color should be applied?
+USERNAME_NORMAL_COLOR=$WHITE
+USERNAME_ROOT_COLOR=$RED
+HOSTNAME_NORMAL_COLOR=$BLUE
+# uncomment next line if you want auto-generated hostname color
+#for i in `hostname`; HOSTNAME_NORMAL_COLOR=$COLOR_ARRAY[$[((#i))%7+1]]
+HOSTNAME_ROOT_COLOR=$RED
+HOSTNAME_COLOR=%(!.$HOSTNAME_ROOT_COLOR.$HOSTNAME_NORMAL_COLOR)
+CURRENT_DIR_COLOR=$CYAN
+
+# zsh commands
+USERNAME_COMMAND="%n"
+HOSTNAME_COMMAND="%m"
+CURRENT_DIR="%~"
+
+# output: colors + commands
+USERNAME_OUTPUT="%(!..$USERNAME_NORMAL_COLOR$USERNAME_COMMAND$RESET_COLOR@)"
+HOSTNAME_OUTPUT="$HOSTNAME_COLOR$HOSTNAME_COMMAND$RESET_COLOR"
+CURRENT_DIR_OUTPUT="$CURRENT_DIR_COLOR$CURRENT_DIR"
+LAST_COMMAND_OUTPUT="%(?.%(!.$RED.$GREEN).$YELLOW)"
+
+# git theming
+ZSH_THEME_GIT_PROMPT_PREFIX="("
+ZSH_THEME_GIT_PROMPT_SUFFIX=""
+ZSH_THEME_GIT_PROMPT_DIRTY=")$RED*"
+ZSH_THEME_GIT_PROMPT_CLEAN=")"
+
+# wrap all together
+PROMPT='$USERNAME_OUTPUT$HOSTNAME_OUTPUT:$CURRENT_DIR_OUTPUT $LAST_COMMAND_OUTPUT%#$RESET_COLOR '
+RPROMPT='%1(j.fg: [%j].) $GREEN$(git_prompt_info)$RESET_COLOR [%@]'
diff --git a/themes/minimal.zsh-theme b/themes/minimal.zsh-theme
index ee3ab6b22..a2a16031f 100644
--- a/themes/minimal.zsh-theme
+++ b/themes/minimal.zsh-theme
@@ -1,15 +1,18 @@
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=""
+ZSH_THEME_GIT_PROMPT_SUFFIX=""
+ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}●%{$reset_color%}]%{$reset_color%} "
+ZSH_THEME_GIT_PROMPT_CLEAN="]%{$reset_color%} "
+ZSH_THEME_SVN_PROMPT_PREFIX=$ZSH_THEME_GIT_PROMPT_PREFIX
+ZSH_THEME_SVN_PROMPT_SUFFIX=$ZSH_THEME_GIT_PROMPT_SUFFIX
+ZSH_THEME_SVN_PROMPT_DIRTY=$ZSH_THEME_GIT_PROMPT_DIRTY
+ZSH_THEME_SVN_PROMPT_CLEAN=$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
+vcs_status() {
+ if [[ ( $(whence in_svn) != "" ) && ( $(in_svn) == 1 ) ]]; then
+ svn_prompt_info
+ else
+ git_prompt_info
+ fi
}
-
-PROMPT='%2~ $(git_custom_status) »%b ' \ No newline at end of file
+PROMPT='%2~ $(vcs_status)»%b ' \ No newline at end of file
diff --git a/themes/mortalscumbag.zsh-theme b/themes/mortalscumbag.zsh-theme
new file mode 100644
index 000000000..5dbf2e4f6
--- /dev/null
+++ b/themes/mortalscumbag.zsh-theme
@@ -0,0 +1,59 @@
+function my_git_prompt() {
+ tester=$(git rev-parse --git-dir 2> /dev/null) || return
+
+ INDEX=$(git status --porcelain 2> /dev/null)
+ STATUS=""
+
+ # is branch ahead?
+ if $(echo "$(git log origin/$(current_branch)..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then
+ STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_AHEAD"
+ fi
+
+ # is anything staged?
+ if $(echo "$INDEX" | grep -E -e '^(D[ M]|[MARC][ MD]) ' &> /dev/null); then
+ STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_STAGED"
+ fi
+
+ # is anything unstaged?
+ if $(echo "$INDEX" | grep -E -e '^[ MARC][MD] ' &> /dev/null); then
+ STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_UNSTAGED"
+ fi
+
+ # is anything untracked?
+ if $(echo "$INDEX" | grep '^?? ' &> /dev/null); then
+ STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_UNTRACKED"
+ fi
+
+ # is anything unmerged?
+ if $(echo "$INDEX" | grep -E -e '^(A[AU]|D[DU]|U[ADU]) ' &> /dev/null); then
+ STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_UNMERGED"
+ fi
+
+ if [[ -n $STATUS ]]; then
+ STATUS=" $STATUS"
+ fi
+
+ echo "$ZSH_THEME_GIT_PROMPT_PREFIX$(my_current_branch)$STATUS$ZSH_THEME_GIT_PROMPT_SUFFIX"
+}
+
+function my_current_branch() {
+ echo $(current_branch || echo "(no branch)")
+}
+
+function ssh_connection() {
+ if [[ -n $SSH_CONNECTION ]]; then
+ echo "%{$fg_bold[red]%}(ssh) "
+ fi
+}
+
+local ret_status="%(?:%{$fg_bold[green]%}:%{$fg_bold[red]%})%?%{$reset_color%}"
+PROMPT=$'\n$(ssh_connection)%{$fg_bold[green]%}%n@%m%{$reset_color%}$(my_git_prompt) : %~\n[${ret_status}] %# '
+
+ZSH_THEME_PROMPT_RETURNCODE_PREFIX="%{$fg_bold[red]%}"
+ZSH_THEME_GIT_PROMPT_PREFIX=" $fg[white]‹ %{$fg_bold[yellow]%}"
+ZSH_THEME_GIT_PROMPT_AHEAD="%{$fg_bold[magenta]%}↑"
+ZSH_THEME_GIT_PROMPT_STAGED="%{$fg_bold[green]%}●"
+ZSH_THEME_GIT_PROMPT_UNSTAGED="%{$fg_bold[red]%}●"
+ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg_bold[white]%}●"
+ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg_bold[red]%}✕"
+ZSH_THEME_GIT_PROMPT_SUFFIX=" $fg_bold[white]›%{$reset_color%}"
diff --git a/themes/murilasso.zsh-theme b/themes/murilasso.zsh-theme
index 310357b45..bc2b9b224 100644
--- a/themes/murilasso.zsh-theme
+++ b/themes/murilasso.zsh-theme
@@ -1,7 +1,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_prompt_info)%{$reset_color%}'
+local rvm_ruby='%{$fg[red]%}$(rvm_prompt_info || rbenv_prompt_info)%{$reset_color%}'
local git_branch='%{$fg[blue]%}$(git_prompt_info)%{$reset_color%}'
PROMPT="${user_host}:${current_dir} ${rvm_ruby}
diff --git a/themes/nebirhos.zsh-theme b/themes/nebirhos.zsh-theme
index c49df972e..a5a226b69 100644
--- a/themes/nebirhos.zsh-theme
+++ b/themes/nebirhos.zsh-theme
@@ -4,6 +4,10 @@
# 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%} "
+else
+ if which rbenv &> /dev/null; then
+ RUBY_PROMPT_="%{$fg_bold[blue]%}rbenv:(%{$fg[green]%}\$(rbenv version | sed -e 's/ (set.*$//')%{$fg_bold[blue]%})%{$reset_color%} "
+ fi
fi
# Get the host name (first 4 chars)
diff --git a/themes/norm.zsh-theme b/themes/norm.zsh-theme
index 5f0ad03ee..13077ccf5 100644
--- a/themes/norm.zsh-theme
+++ b/themes/norm.zsh-theme
@@ -1,4 +1,4 @@
-PROMPT='%{$fg[yellow]%}λ %{$fg[green]%}%c %{$fg[yellow]%}→ $(git_prompt_info)%{$reset_color%}'
+PROMPT='%{$fg[yellow]%}λ %m %{$fg[green]%}%c %{$fg[yellow]%}→ $(git_prompt_info)%{$reset_color%}'
ZSH_THEME_GIT_PROMPT_PREFIX="λ %{$fg[blue]%}git %{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$fg[yellow]%} → %{$reset_color%}"
diff --git a/themes/pygmalion.zsh-theme b/themes/pygmalion.zsh-theme
new file mode 100644
index 000000000..cf3bb908f
--- /dev/null
+++ b/themes/pygmalion.zsh-theme
@@ -0,0 +1,9 @@
+# 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[magenta]%}%n%{$reset_color%}%{$fg[cyan]%}@%{$reset_color%}%{$fg[yellow]%}%m%{$reset_color%}%{$fg[red]%}:%{$reset_color%}%{$fg[cyan]%}%0~%{$reset_color%}%{$fg[red]%}|%{$reset_color%}$(git_prompt_info)%{$fg[cyan]%}⇒%{$reset_color%} '
+
diff --git a/themes/rkj-repos.zsh-theme b/themes/rkj-repos.zsh-theme
index 318c315bb..46b8e83a0 100644
--- a/themes/rkj-repos.zsh-theme
+++ b/themes/rkj-repos.zsh-theme
@@ -24,6 +24,6 @@ function mygit() {
# alternate prompt with git & hg
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{"%Y-%m-%d %I:%M:%S"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%}
-%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B] <$(mygit)$(hg_prompt_info)>%{\e[0m%}%b '
+%{\e[0;34m%}%B└─%B[%{\e[1;35m%}%?$(retcode)%{\e[0;34m%}%B] <$(mygit)$(hg_prompt_info)>%{\e[0m%}%b '
PS2=$' \e[0;34m%}%B>%{\e[0m%}%b '
diff --git a/themes/rkj.zsh-theme b/themes/rkj.zsh-theme
index 81b701e07..80122d5c6 100644
--- a/themes/rkj.zsh-theme
+++ b/themes/rkj.zsh-theme
@@ -3,6 +3,6 @@
# 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{"%Y-%m-%d %I:%M:%S"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%}
-%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B]%{\e[0m%}%b '
+%{\e[0;34m%}%B└─%B[%{\e[1;35m%}%?$(retcode)%{\e[0;34m%}%B]%{\e[0m%}%b '
diff --git a/themes/sammy.zsh-theme b/themes/sammy.zsh-theme
new file mode 100644
index 000000000..52e6e4bb6
--- /dev/null
+++ b/themes/sammy.zsh-theme
@@ -0,0 +1,6 @@
+PROMPT='%{$fg[white]%}%c$(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=")"
diff --git a/themes/simonoff.zsh-theme b/themes/simonoff.zsh-theme
new file mode 100644
index 000000000..fb4d32e24
--- /dev/null
+++ b/themes/simonoff.zsh-theme
@@ -0,0 +1,141 @@
+# Prompt
+#
+# Below are the color init strings for the basic file types. A color init
+# string consists of one or more of the following numeric codes:
+# Attribute codes:
+# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
+# Text color codes:
+# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
+# Background color codes:
+# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
+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 pwdsize=${#${(%):-%~}}
+ local gitbranch="$(git_prompt_info)"
+ local rvmprompt="$(rvm_prompt_info)"
+ local gitbranchsize=${#${gitbranch:-''}}
+ local rvmpromptsize=${#${rvmprompt:-''}}
+
+ if [[ "$promptsize + $pwdsize + $rvmpromptsize + $gitbranchsize" -gt $TERMWIDTH ]]; then
+ ((PR_PWDLEN=$TERMWIDTH - $promptsize))
+ else
+ PR_FILLBAR="\${(l.(($TERMWIDTH - ($promptsize + $pwdsize + $rvmpromptsize + $gitbranchsize)))..${PR_SPACE}.)}"
+ fi
+}
+
+
+setopt extended_glob
+
+preexec () {
+ if [[ "$TERM" == "screen" ]]; then
+ local CMD=${1[(wr)^(*=*|sudo|-*)]}
+ echo -n "\ek$CMD\e\\"
+ fi
+
+ if [[ "$TERM" == "xterm" ]]; then
+ print -Pn "\e]0;$1\a"
+ fi
+
+ if [[ "$TERM" == "rxvt" ]]; then
+ print -Pn "\e]0;$1\a"
+ 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; 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]%}"
+
+
+###
+# 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_HBAR=${altchar[q]:--}
+ PR_ULCORNER=${altchar[l]:--}
+ PR_LLCORNER=${altchar[m]:--}
+ PR_LRCORNER=${altchar[j]:--}
+ PR_URCORNER=${altchar[k]:--}
+
+ ###
+ # Modify Git prompt
+ ZSH_THEME_GIT_PROMPT_PREFIX=" ["
+ ZSH_THEME_GIT_PROMPT_SUFFIX="]"
+ ###
+ # Modify RVM prompt
+ ZSH_THEME_RVM_PROMPT_PREFIX=" ["
+ ZSH_THEME_RVM_PROMPT_SUFFIX="]"
+
+
+###
+# Decide if we need to set titlebar text.
+
+ case $TERM in
+ xterm*|*rxvt*)
+ PR_TITLEBAR=$'%{\e]0;%(!.-=*[ROOT]*=- | .)%n@%M:%~ $(git_prompt_info) $(rvm_prompt_info) | ${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_RED$PR_HBAR<\
+$PR_BLUE%(!.$PR_RED%SROOT%s.%n)$PR_GREEN@$PR_BLUE%M:$PR_GREEN%$PR_PWDLEN<...<%~$PR_CYAN$(git_prompt_info)$(rvm_prompt_info)\
+$PR_RED>$PR_HBAR$PR_SPACE${(e)PR_FILLBAR}\
+$PR_RED$PR_HBAR<\
+$PR_GREEN%l$PR_RED>$PR_HBAR\
+
+$PR_RED$PR_HBAR<\
+%(?..$PR_LIGHT_RED%?$PR_BLUE:)\
+$PR_LIGHT_BLUE%(!.$PR_RED.$PR_WHITE)%#$PR_RED>$PR_HBAR\
+$PR_NO_COLOUR '
+
+}
+
+setprompt
diff --git a/themes/steeef.zsh-theme b/themes/steeef.zsh-theme
index a2583b028..312229e9f 100644
--- a/themes/steeef.zsh-theme
+++ b/themes/steeef.zsh-theme
@@ -81,7 +81,7 @@ add-zsh-hook chpwd steeef_chpwd
function steeef_precmd {
if [[ -n "$PR_GIT_UPDATE" ]] ; then
# check for untracked files or updated submodules, since vcs_info doesn't
- if [[ ! -z $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then
+ if git ls-files --other --exclude-standard --directory 2> /dev/null | grep -q "."; then
PR_GIT_UPDATE=1
FMT_BRANCH="(%{$turquoise%}%b%u%c%{$hotpink%}●${PR_RST})"
else
diff --git a/themes/superjarin.zsh-theme b/themes/superjarin.zsh-theme
index 16eeb5316..86955a560 100644
--- a/themes/superjarin.zsh-theme
+++ b/themes/superjarin.zsh-theme
@@ -1,5 +1,11 @@
# 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%}"
+if [ -e ~/.rvm/bin/rvm-prompt ]; then
+ JARIN_CURRENT_RUBY_="%{$fg[white]%}[%{$fg[red]%}\$(~/.rvm/bin/rvm-prompt i v)%{$fg[white]%}]%{$reset_color%}"
+else
+ if which rbenv &> /dev/null; then
+ JARIN_CURRENT_RUBY_="%{$fg[white]%}[%{$fg[red]%}\$(rbenv version | sed -e 's/ (set.*$//')%{$fg[white]%}]%{$reset_color%}"
+ fi
+fi
# Grab the current filepath, use shortcuts: ~/Desktop
# Append the current git branch, if in a git repository
diff --git a/themes/suvash.zsh-theme b/themes/suvash.zsh-theme
new file mode 100644
index 000000000..c87f64558
--- /dev/null
+++ b/themes/suvash.zsh-theme
@@ -0,0 +1,30 @@
+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`') '
+}
+
+function collapse_pwd {
+ echo $(pwd | sed -e "s,^$HOME,~,")
+}
+
+if which rvm-prompt &> /dev/null; then
+ PROMPT='%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(git_prompt_info) using %{$reset_color%}%{$fg[red]%}$(~/.rvm/bin/rvm-prompt)%{$reset_color%}
+$(virtualenv_info)$(prompt_char) '
+else
+ if which rbenv &> /dev/null; then
+ PROMPT='%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(git_prompt_info) using %{$reset_color%}%{$fg[red]%}$(rbenv version | sed -e "s/ (set.*$//")%{$reset_color%}
+$(virtualenv_info)$(prompt_char) '
+ fi
+fi
+
+
+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=""
diff --git a/themes/terminalparty.zsh-theme b/themes/terminalparty.zsh-theme
index 73653aca8..216ce37eb 100644
--- a/themes/terminalparty.zsh-theme
+++ b/themes/terminalparty.zsh-theme
@@ -2,7 +2,7 @@ PROMPT='%{$fg[green]%} %% '
# RPS1='%{$fg[blue]%}%~%{$reset_color%} '
RPS1='%{$fg[white]%}%2~$(git_prompt_info) %{$fg_bold[blue]%}%m%{$reset_color%}'
-ZSH_THEME_GIT_PROMPT_PREFIX=" (%{$fg[yellow]%}"
+ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[yellow]%}("
ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN=""
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%} ⚡%{$fg[yellow]%}"
diff --git a/themes/tjkirch_mod.zsh-theme b/themes/tjkirch_mod.zsh-theme
new file mode 100644
index 000000000..1b206a7e1
--- /dev/null
+++ b/themes/tjkirch_mod.zsh-theme
@@ -0,0 +1,13 @@
+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%}'
diff --git a/themes/wuffers.zsh-theme b/themes/wuffers.zsh-theme
index 182d8a34f..4019d0a51 100644
--- a/themes/wuffers.zsh-theme
+++ b/themes/wuffers.zsh-theme
@@ -2,4 +2,4 @@ ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}["
ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%} x%{$fg_bold[blue]%}"
-PROMPT='%{$(git_prompt_info)%}%{$fg_bold[green]%}{%{$(rvm current)%}}%{$reset_color%} %{$fg[cyan]%}%c%{$reset_color%} '
+PROMPT='%{$(git_prompt_info)%}%{$fg_bold[green]%}{%{$(rvm current 2>/dev/null || rbenv version-name 2>/dev/null)%}}%{$reset_color%} %{$fg[cyan]%}%c%{$reset_color%} '
diff --git a/themes/ys.zsh-theme b/themes/ys.zsh-theme
new file mode 100644
index 000000000..3d316390e
--- /dev/null
+++ b/themes/ys.zsh-theme
@@ -0,0 +1,34 @@
+# Clean, simple, compatible and meaningful.
+# Tested on Linux, Unix and Windows under ANSI colors.
+# It is recommended to use with a dark background and the font Inconsolata.
+# Colors: black, red, green, yellow, *blue, magenta, cyan, and white.
+#
+# http://ysmood.org/wp/2013/03/my-ys-terminal-theme/
+# Mar 2013 ys
+
+# Machine name.
+function box_name {
+ [ -f ~/.box-name ] && cat ~/.box-name || hostname -s
+}
+
+# Directory info.
+local current_dir='${PWD/#$HOME/~}'
+
+# Git info.
+local git_info='$(git_prompt_info)'
+ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[white]%}on%{$reset_color%} git:%{$fg[cyan]%}"
+ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}x"
+ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}o"
+
+# Prompt format: \n # USER at MACHINE in DIRECTORY on git:BRANCH STATE [TIME] \n $
+PROMPT="
+%{$terminfo[bold]$fg[blue]%}#%{$reset_color%} \
+%{$fg[cyan]%}%n \
+%{$fg[white]%}at \
+%{$fg[green]%}$(box_name) \
+%{$fg[white]%}in \
+%{$terminfo[bold]$fg[yellow]%}${current_dir}%{$reset_color%}\
+${git_info} \
+%{$fg[white]%}[%*]
+%{$terminfo[bold]$fg[red]%}$ %{$reset_color%}"
diff --git a/themes/zhann.zsh-theme b/themes/zhann.zsh-theme
new file mode 100644
index 000000000..5c49fe79b
--- /dev/null
+++ b/themes/zhann.zsh-theme
@@ -0,0 +1,15 @@
+PROMPT='%{$fg_bold[green]%}%p %{$fg[cyan]%}%c%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
+
+if [ -e ~/.rvm/bin/rvm-prompt ]; then
+ RPROMPT='%{$reset_color%} %{$fg[red]%}$(~/.rvm/bin/rvm-prompt i v g) %{$reset_color%}'
+else
+ if which rbenv &> /dev/null; then
+ RPROMPT='%{$reset_color%} %{$fg[red]%}$(rbenv version | sed -e "s/ (set.*$//") %{$reset_color%}'
+ fi
+fi
+
+
+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]%})"