# # A simple theme that displays: # - Python virtual environment. # - Git branch. # - Git state. # - Last command exit state (smiley/X). # # Authors: # Nadav Shatz # # Screenshots: # http://i.imgur.com/ijycV6n.png # # Load dependencies. pmodload 'helper' function prompt_smiley_precmd { unsetopt XTRACE KSH_ARRAYS # Get Git repository information. if (( $+functions[git-info] )); then git-info fi # Get Python environment information. if (( $+functions[python-info] )); then python-info fi # Get Ruby version information. if (( $+functions[ruby-info] )); then ruby-info fi } function prompt_smiley_setup { unsetopt XTRACE KSH_ARRAYS prompt_opts=(percent subst) # Add hook for calling git-info before each command. add-zsh-hook precmd prompt_smiley_precmd # Set editor-info parameters. zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b' # Set python-info parameters. zstyle ':prezto:module:python:info:virtualenv' format '%F{yellow}[%v]%f ' # Set ruby-info parameters. zstyle ':prezto:module:ruby:info:version' format '%F{yellow}[%v]%f ' # Set git-info parameters. zstyle ':prezto:module:git:info' verbose 'yes' zstyle ':prezto:module:git:info:branch' format '%F{blue}%b%f' zstyle ':prezto:module:git:info:dirty' format '%%B%F{red} ±%f%%b' zstyle ':prezto:module:git:info:keys' format 'prompt' '(%b%D)' # Define prompts. PROMPT='$python_info[virtualenv]$ruby_info[version]${git_info:+${(e)git_info[prompt]}} %B%c%b %(?:%F{green}ツ%f:%F{red}✖%f) ' RPROMPT='${editor_info[overwrite]}${VIM:+" %B%F{green}V%f%b"}' SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? ' } prompt_smiley_setup "$@"