setopt PROMPT_SUBST
-PS1="%2~ %B"
-PS1+='${(j::)psvar}'
-PS1+="%(1j.%j.)%b"
-PS1+='%U${vcs_info_msg_0_[1,-32]}%u'
-PS1+="%(?..%S%?%s)"
-PS1+='%(1S.%B${SECONDS}%b.)'
-PS1+='%B%F{magenta}${_VIMODE}%f%b '
+PROMPT="%2~ %B"
+# A: autoenv
+# V: virtualenv
+# M: laxed umask
+PROMPT+='${(j::)psvar}'
+PROMPT+="%(1j.%j.)%b"
+PROMPT+='%U${vcs_info_msg_0_}%u'
+PROMPT+="%(?.. %S%?%s)"
+PROMPT+='%(1S. %B${SECONDS}%b.)'
+PROMPT+='%B%F{magenta}%#%f%b '
function zle-line-init zle-keymap-select {
- [[ ${KEYMAP} == vicmd ]] && _VIMODE="+" || _VIMODE="%#"
+ local ccolour=red
+ [[ ${KEYMAP} == vicmd ]] || ccolour=green
+ printf "\e]12;${ccolour}\e\\"
[[ "$#_autoenv_stack_entered" -eq 0 ]] && psvar=(${psvar#A}) || {
[[ -n "${psvar[(r)A]}" ]] || psvar=(A $psvar)
}
[[ -z "$VIRTUAL_ENV" ]] && psvar=(${psvar#V}) || {
[[ -n "${psvar[(r)V]}" ]] || psvar=(V $psvar)
}
+ [[ `umask` == "077" ]] && psvar=(${psvar#M}) || {
+ [[ -n "${psvar[(r)M]}" ]] || psvar=("M" $psvar)
+ }
zle reset-prompt
}
}
precmd() {
- printf "\a\033]2;\033\\"
+ printf "\a\e]2;\e\\"
vcs_info
}