123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #
- # A simple theme from PeepCode.
- # http://peepcode.com/blog/2012/my-command-line-prompt
- #
- # Authors:
- # Geoffrey Grosenbach <boss@topfunky.com>
- # Sorin Ionescu <sorin.ionescu@gmail.com>
- #
- # Screenshots:
- # http://i.imgur.com/LhgmW.png
- #
- function prompt_peepcode_precmd {
- # Get Git repository information.
- if (( $+functions[git-info] )); then
- git-info
- fi
- # Get Ruby information.
- if (( $+functions[ruby-info] )); then
- ruby-info
- fi
- }
- function prompt_peepcode_setup {
- setopt LOCAL_OPTIONS
- unsetopt XTRACE KSH_ARRAYS
- prompt_opts=(cr percent sp subst)
- # Load required functions.
- autoload -Uz add-zsh-hook
- autoload -Uz vcs_info
- # Add a hook for calling info functions before each command.
- add-zsh-hook precmd prompt_peepcode_precmd
- # Tell prezto we can manage this prompt
- zstyle ':prezto:module:prompt' managed 'yes'
- # Set git-info parameters.
- zstyle ':prezto:module:git:info' verbose 'no'
- zstyle ':prezto:module:git:info:action' format ' +%s'
- zstyle ':prezto:module:git:info:branch' format ' %F{8}%b%f'
- zstyle ':prezto:module:git:info:commit' format ' %F{white}%.7c%f'
- zstyle ':prezto:module:git:info:indexed' format ' '
- zstyle ':prezto:module:git:info:unindexed' format ' '
- zstyle ':prezto:module:git:info:untracked' format ' '
- zstyle ':prezto:module:git:info:dirty' format ' %F{8}✗%f'
- zstyle ':prezto:module:git:info:keys' format 'rprompt' '%b%c%s%D'
- # Set ruby-info parameters.
- zstyle ':prezto:module:ruby:info:version' format ' %F{white}%v%f'
- # Define prompts.
- PROMPT="
- %~
- %(?.%F{green}${1:-☻ }%f.%F{red}${1:-☻ }%f) "
- RPROMPT='${ruby_info[version]}${git_info[rprompt]}'
- }
- function prompt_peepcode_help {
- cat <<EOH
- This prompt's last command exit status symbol is customizable:
- prompt peepcode [<symbol>]
- If this option is not provided, the symbol defaults to ☻.
- EOH
- }
- function prompt_peepcode_preview {
- local +h PROMPT='%# '
- local +h RPROMPT=''
- local +h SPROMPT=''
- if (( $# > 0 )); then
- prompt_preview_theme 'peepcode' "$@"
- else
- prompt_preview_theme 'peepcode'
- print
- prompt_preview_theme 'peepcode' "❯"
- print
- prompt_preview_theme 'peepcode' "$"
- fi
- }
- prompt_peepcode_setup "$@"
- # vim: ft=zsh
|