]> Sergey Matveev's repositories - dotfiles.git/blob - zsh/.zsh/rc/015prompt.zsh
3ffbab91d8b47120830fe74843207f75e7693564
[dotfiles.git] / zsh / .zsh / rc / 015prompt.zsh
1 function zle-line-init zle-keymap-select {
2     prompt="%2~ %B"
3     [[ "$#_autoenv_stack_entered" -gt 0 ]] && prompt+="A"
4     [[ -n "$VIRTUAL_ENV" ]] && prompt+="V"
5     prompt+="%(1j.%j.)%b"
6     prompt+="%U${vcs_info_msg_0_[1,-32]}%u"
7     prompt+="%(?..%S%?%s)"
8     [[ $timer ]] && {
9         local val=$(( $SECONDS - $timer ))
10         [[ $val -gt 0 ]] && prompt+="%U${val}%u"
11     }
12     local state="%#"
13     [[ ${KEYMAP} == vicmd ]] && state="+"
14     prompt+="%B%F{magenta}${state}%f%b "
15     PS1=$prompt
16     zle reset-prompt
17 }
18 zle -N zle-line-init
19 zle -N zle-keymap-select
20
21 preexec() {
22     timer=$SECONDS
23 }
24
25 precmd() {
26     printf "\a\033]2;\033\\"
27     vcs_info
28 }