This commit is contained in:
GitHub Merge Button 2011-12-15 10:28:04 -08:00
commit ce5cd4aeff
3 changed files with 103 additions and 4 deletions

View file

@ -1,7 +1,7 @@
function svn_prompt_info {
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"
$ZSH_THEME_REPO_NAME_COLOR$(svn_get_repo_name)$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_REV_NR$(svn_get_rev_nr)$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$ZSH_PROMPT_BASE_COLOR"
fi
}
@ -15,7 +15,7 @@ function in_svn() {
function svn_get_repo_name {
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/\/.*$//"
fi
}
@ -29,9 +29,9 @@ function svn_get_rev_nr {
function svn_dirty_choose {
if [ $(in_svn) ]; then
s=$(svn status|grep -E '^\s*[ACDIM!?L]' 2>/dev/null)
if [ $s ]; then
if [ $s ]; then
echo $1
else
else
echo $2
fi
fi
@ -40,3 +40,32 @@ function svn_dirty_choose {
function svn_dirty {
svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN
}
svn_prompt_status() {
INDEX=$(svn status 2> /dev/null)
STATUS=""
if $(echo "$INDEX" | grep '^? ' &> /dev/null); then
STATUS="$ZSH_THEME_SVN_PROMPT_UNTRACKED$STATUS"
fi
if $(echo "$INDEX" | grep '^A ' &> /dev/null); then
STATUS="$ZSH_THEME_SVN_PROMPT_ADDED$STATUS"
elif $(echo "$INDEX" | grep '^AM ' &> /dev/null); then
STATUS="$ZSH_THEME_SVN_PROMPT_ADDED$STATUS"
fi
if $(echo "$INDEX" | grep '^M ' &> /dev/null); then
STATUS="$ZSH_THEME_SVN_PROMPT_MODIFIED$STATUS"
elif $(echo "$INDEX" | grep '^AM ' &> /dev/null); then
STATUS="$ZSH_THEME_SVN_PROMPT_MODIFIED$STATUS"
fi
if $(echo "$INDEX" | grep '^C ' &> /dev/null); then
STATUS="$ZSH_THEME_SVN_PROMPT_CONFLICTED$STATUS"
elif $(echo "$INDEX" | grep '^AC ' &> /dev/null); then
STATUS="$ZSH_THEME_SVN_PROMPT_CONFLICTED$STATUS"
fi
if $(echo "$INDEX" | grep '^D ' &> /dev/null); then
STATUS="$ZSH_THEME_SVN_PROMPT_DELETED$STATUS"
elif $(echo "$INDEX" | grep '^AD ' &> /dev/null); then
STATUS="$ZSH_THEME_SVN_PROMPT_DELETED$STATUS"
fi
echo $STATUS
}

5
plugins/z/z.plugin.zsh Normal file
View file

@ -0,0 +1,5 @@
. `brew --prefix`/etc/profile.d/z.sh
function precmd () {
z --add "$(pwd -P)"
}

65
themes/karbassi.zsh-theme Normal file
View file

@ -0,0 +1,65 @@
# ----------------------------------------------------------------------------
# FILE: karbassi.zsh-theme
# DESCRIPTION: oh-my-zsh theme file.
# AUTHOR: Ali Karbassi (ali@karbassi.com)
# VERSION: 0.1
# ----------------------------------------------------------------------------
if [ "x$OH_MY_ZSH_HG" = "x" ]; then
OH_MY_ZSH_HG="hg"
fi
function virtualenv_info {
[ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') '
}
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
}
THE_TIME="%{$reset_color%}%T%{$reset_color%}"
ZSH_PROMPT_BASE_COLOR="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg_bold[yellow]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%} ✘%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[blue]%} ‽%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%} ✔%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚ %{$reset_color%}"
ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ± %{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖ %{$reset_color%}"
ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} %{$reset_color%}"
ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ⥤ %{$reset_color%}"
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ‽ %{$reset_color%}"
ZSH_THEME_SVN_PROMPT_PREFIX=" "
ZSH_THEME_REPO_NAME_COLOR="%{$fg_bold[yellow]%}"
ZSH_THEME_SVN_REV_NR="%{$fg_bold[yellow]%}:"
ZSH_THEME_SVN_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_SVN_PROMPT_DIRTY="%{$fg[red]%} ✘%{$reset_color%}"
ZSH_THEME_SVN_PROMPT_CLEAN="%{$fg[green]%} ✔%{$reset_color%}"
ZSH_THEME_SVN_PROMPT_ADDED="%{$fg[green]%} ✚%{$reset_color%}"
ZSH_THEME_SVN_PROMPT_MODIFIED="%{$fg[blue]%} ±%{$reset_color%}"
ZSH_THEME_SVN_PROMPT_DELETED="%{$fg[red]%} ✖%{$reset_color%}"
ZSH_THEME_SVN_PROMPT_UNTRACKED="%{$fg[cyan]%} ‽%{$reset_color%}"
local return_status="%{$fg[red]%}%(?..⏎)%{$reset_color%}"
PROMPT='
%{$fg_bold[yellow]%}%n%{$reset_color%} at %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}
$(virtualenv_info)$ '
RPROMPT='${return_status}$(git_prompt_status)$(svn_prompt_status)$(hg_prompt_info)$(git_prompt_info)$(svn_prompt_info)%{$reset_color%}'