Add virtualenv support.

Code cleanup.
This commit is contained in:
Nils Pascal Illenseer 2011-08-21 19:56:30 +02:00
commit 6c0a520fc0

View file

@ -1,50 +1,11 @@
# ------------------------------------------------------------------------
# FILE: illenseer-verbose.zsh-theme
# FILE: illenseer.zsh-theme
# DESCRIPTION: oh-my-zsh theme file, based on a lot of themes
# AUTHOR: Nils Pascal Illenseer <ni@np.cx>
# VERSION: 1
# VERSION: 3
# SCREENSHOT: http://www.flickr.com/photos/infion/6066346886/lightbox
# ------------------------------------------------------------------------
# Format for git_prompt_info()
ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg_bold[white]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX=""
# Format for parse_git_dirty()
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$reset_color%}contains"
ZSH_THEME_GIT_PROMPT_CLEAN=""
# Format for git_prompt_status()
ZSH_THEME_GIT_PROMPT_UNMERGED=" %{$fg_bold[magenta]%}unmerged"
ZSH_THEME_GIT_PROMPT_DELETED=" %{$fg_bold[red]%}deleted"
ZSH_THEME_GIT_PROMPT_RENAMED=" %{$fg_bold[yellow]%}renamed"
ZSH_THEME_GIT_PROMPT_MODIFIED=" %{$fg_bold[yellow]%}modified"
ZSH_THEME_GIT_PROMPT_ADDED=" %{$fg_bold[green]%}added"
ZSH_THEME_GIT_PROMPT_UNTRACKED=" %{$fg_bold[red]%}untracked"
# Format for git_prompt_ahead()
ZSH_THEME_GIT_PROMPT_AHEAD=" %{$fg_bold[red]%}‼"
# Format for git_prompt_long_sha() and git_prompt_short_sha()
ZSH_THEME_GIT_PROMPT_SHA_BEFORE=" %{$reset_color%}- commit %{$fg_bold[white]%}[%{$fg_bold[green]%}"
ZSH_THEME_GIT_PROMPT_SHA_AFTER="%{$fg_bold[white]%}]"
# Return code
local ret_status="%(?::%{$fg_bold[red]%}%S↑%s%?)%{$reset_color%}"
# root (red) vs. normal user (green)
if [[ `id -u` -eq 0 ]]; then
user="%{$fg_bold[red]%}%n%{$reset_color%}"
else
user="%{$fg_bold[green]%}%n%{$reset_color%}"
fi
# local (white) vs. remote (gray)
if [[ -n $SSH_CONNECTION ]]; then
loc="%{$fg_bold[black]%}%m%{$reset_color%}"
else
loc="%{$fg_bold[white]%}%m%{$reset_color%}"
fi
function collapse_pwd {
echo $(pwd | sed -e "s,^$HOME,~,")
}
@ -55,12 +16,53 @@ function prompt_char {
echo '○'
}
function virtualenv_info {
[ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') '
}
# disable prompt setting in virtualenv
VIRTUAL_ENV_DISABLE_PROMPT=true
# Format for git_prompt_info()
ZSH_THEME_GIT_PROMPT_PREFIX=" on %{%B%}"
ZSH_THEME_GIT_PROMPT_SUFFIX=""
# Format for parse_git_dirty()
ZSH_THEME_GIT_PROMPT_DIRTY=" %{%b%}contains"
ZSH_THEME_GIT_PROMPT_CLEAN="%{%b%}"
# Format for git_prompt_status()
ZSH_THEME_GIT_PROMPT_UNMERGED=" %{$fg_bold[magenta]%}unmerged%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DELETED=" %{$fg_bold[red]%}deleted%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_RENAMED=" %{$fg_bold[yellow]%}renamed%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_MODIFIED=" %{$fg_bold[yellow]%}modified%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_ADDED=" %{$fg_bold[green]%}added%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_UNTRACKED=" %{$fg_bold[red]%}untracked%{$reset_color%}"
# Format for git_prompt_ahead()
ZSH_THEME_GIT_PROMPT_AHEAD=" %{$fg_bold[red]%}‼%{$reset_color%}"
# Format for git_prompt_long_sha() and git_prompt_short_sha()
ZSH_THEME_GIT_PROMPT_SHA_BEFORE=" - commit %{%B%}[%{$fg_bold[green]%}"
ZSH_THEME_GIT_PROMPT_SHA_AFTER="%{$reset_color%B%}]%{%b%}"
# Return code
local return_code="%(?::%{$fg_bold[red]%}%? ↵)%{$reset_color%}"
# root (red) vs. normal user (green)
if [ $UID -eq 0 ]; then UCOLOR="red"; else UCOLOR="green"; fi
# local (white) vs. remote (gray)
if [[ -n $SSH_CONNECTION ]]; then LCOLOR="$fg[black]"; else LCOLOR=""; fi
# Prompt format
if [[ "$TERM" != "dumb" ]] && [[ "$DISABLE_LS_COLORS" != "true" ]]; then
PROMPT='
${user} at ${loc} in %{$fg_bold[blue]%}$(collapse_pwd)%{$reset_color%}$(git_prompt_info)$(git_prompt_status)$(git_prompt_short_sha)%{$reset_color%}$(git_prompt_ahead)
%{$fg_bold[white]%}$(prompt_char)%{$reset_color%} '
RPROMPT='${ret_status}'
%{$fg_bold[$UCOLOR]%}%n%{$reset_color%} at %{%B$LCOLOR%}%m%{%b$reset_color%} in \
%{$fg_bold[blue]%}$(collapse_pwd)%{$reset_color%}$(git_prompt_info)\
$(git_prompt_status)$(git_prompt_short_sha)$(git_prompt_ahead)
$(virtualenv_info)%{%B%}$(prompt_char)%{%b%} '
RPROMPT='${return_code}'
else
PROMPT='%n at %m in $(collapse_pwd) %# '
fi