]> Sergey Matveev's repositories - dotfiles.git/blobdiff - zsh/.zsh/rc/015prompt.zsh
Ability to temporary disable vcs_info
[dotfiles.git] / zsh / .zsh / rc / 015prompt.zsh
index d119a19739111722f47f0832007a5c53a6e739eb..abd25029b242806f692185b508cba7673a86cd11 100644 (file)
@@ -1,23 +1,29 @@
 setopt PROMPT_SUBST
 
-PS1="%2~ %B"
-PS1+='${(j::)psvar}'
-PS1+="%(1j.%j.)%b"
-PS1+='%U${vcs_info_msg_0_}%u'
-PS1+="%(?.. %S%?%s)"
-PS1+='%(1S. %B${SECONDS}%b.)'
-PS1+='%B%F{magenta}%#%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 {
-    printf "\e]12;"
-    [[ ${KEYMAP} == vicmd ]] && printf "red" || printf "green"
-    printf "\e\\"
+    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
 }
 
@@ -30,5 +36,5 @@ preexec() {
 
 precmd() {
     printf "\a\e]2;\e\\"
-    vcs_info
+    [[ -n "$NO_VCS_INFO" ]] || vcs_info
 }