123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- # ZSH Git Prompt Plugin from:
- # http://github.com/olivierverdier/zsh-git-prompt
- #
- export __GIT_PROMPT_DIR=$ZSH/plugins/git-prompt
- # Allow for functions in the prompt.
- setopt PROMPT_SUBST
- ## Enable auto-execution of functions.
- typeset -ga preexec_functions
- typeset -ga precmd_functions
- typeset -ga chpwd_functions
- # Append git functions needed for prompt.
- preexec_functions+='preexec_update_git_vars'
- precmd_functions+='precmd_update_git_vars'
- chpwd_functions+='chpwd_update_git_vars'
- ## Function definitions
- function preexec_update_git_vars() {
- case "$2" in
- git*)
- __EXECUTED_GIT_COMMAND=1
- ;;
- esac
- }
- function precmd_update_git_vars() {
- if [ -n "$__EXECUTED_GIT_COMMAND" ]; then
- update_current_git_vars
- unset __EXECUTED_GIT_COMMAND
- fi
- }
- function chpwd_update_git_vars() {
- update_current_git_vars
- }
- function update_current_git_vars() {
- unset __CURRENT_GIT_STATUS
- local gitstatus="$__GIT_PROMPT_DIR/gitstatus.py"
- _GIT_STATUS=`python ${gitstatus}`
- __CURRENT_GIT_STATUS=("${(f)_GIT_STATUS}")
- }
- function prompt_git_info() {
- if [ -n "$__CURRENT_GIT_STATUS" ]; then
- echo "(%{${fg[red]}%}$__CURRENT_GIT_STATUS[1]%{${fg[default]}%}$__CURRENT_GIT_STATUS[2]%{${fg[magenta]}%}$__CURRENT_GIT_STATUS[3]%{${fg[default]}%})"
- fi
- }
- # Set the prompt.
- #PROMPT='%B%m%~%b$(prompt_git_info) %# '
- # for a right prompt:
- #RPROMPT='%b$(prompt_git_info)'
- RPROMPT='$(prompt_git_info)'
|