| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 | # 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-promptfunction virtualenv_info {    [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') '}PR_GIT_UPDATE=1setopt prompt_substautoload colorscolorsautoload -U add-zsh-hookautoload -Uz vcs_info#use extended color pallete if availableif [[ $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 usezstyle ':vcs_info:*' enable git svn# check-for-changes can be really slow.# you should disable it, if you work with large repositorieszstyle ':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 repositoryPR_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_preexecfunction steeef_chpwd {    PR_GIT_UPDATE=1}add-zsh-hook chpwd steeef_chpwdfunction 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_precmdPROMPT=$'%{$purple%}%n%{$reset_color%} in %{$limegreen%}%~%{$reset_color%}$(rvm-prompt " with%{$fg[red]%} " v g "%{$reset_color%}")$vcs_info_msg_0_%{$orange%} λ%{$reset_color%} '
 |