--- /dev/null
+autoload -Uz vcs_info
+zstyle ":vcs_info:*" enable git
+zstyle ":vcs_info:*" max-exports 1
+zstyle ":vcs_info:*" get-revision true
+zstyle ":vcs_info:*" formats "%i"
+zstyle ":vcs_info:*" actionformats "%a|%i"
function zle-line-init zle-keymap-select {
- local state="%#" timer_val="?"
+ prompt="%2~ %B"
+ [[ "$#_autoenv_stack_entered" -gt 0 ]] && prompt+="A"
+ [[ -n "$VIRTUAL_ENV" ]] && prompt+="V"
+ prompt+="%(1j.%j.)%b"
+ prompt+="%U${vcs_info_msg_0_[1,-32]}%u"
+ prompt+="%(?..%S%?%s)"
+ [[ $timer ]] && {
+ local val=$(( $SECONDS - $timer ))
+ [[ $val -gt 0 ]] && prompt+="%U${val}%u"
+ }
+ local state="%#"
[[ ${KEYMAP} == vicmd ]] && state="+"
- [[ $timer ]] && timer_val=$(( $SECONDS - $timer ))
- prompt="%2~ "
- prompt+="%U${timer_val}%u|"
- prompt+="%B%?%b"
prompt+="%B%F{magenta}${state}%f%b "
PS1=$prompt
zle reset-prompt
precmd() {
printf "\a\033]2;\033\\"
+ vcs_info
}