X-Git-Url: http://www.git.stargrave.org/?p=dotfiles.git;a=blobdiff_plain;f=zsh%2F.zsh%2Frc%2F015prompt.zsh;h=d119a19739111722f47f0832007a5c53a6e739eb;hp=cdbd0faac9423679640101f2b9524cd53640000e;hb=3c909dab2de881f2a3212f491eec1b716a33e373;hpb=c5f634a4e789eef85fcd3ac72f19779d4d87b59e diff --git a/zsh/.zsh/rc/015prompt.zsh b/zsh/.zsh/rc/015prompt.zsh index cdbd0fa..d119a19 100644 --- a/zsh/.zsh/rc/015prompt.zsh +++ b/zsh/.zsh/rc/015prompt.zsh @@ -1,21 +1,34 @@ +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 ' + function zle-line-init zle-keymap-select { - local state="%#" timer_val="?" - [[ ${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 + printf "\e]12;" + [[ ${KEYMAP} == vicmd ]] && printf "red" || printf "green" + printf "\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) + } zle reset-prompt } + zle -N zle-line-init zle -N zle-keymap-select preexec() { - timer=$SECONDS + SECONDS=0 } precmd() { - printf "\a\033]2;\033\\" + printf "\a\e]2;\e\\" + vcs_info }