Mercurial > dotfiles
changeset 380:0ceb8554801e
zsh: make vcs info in prompt async
Roughly cribbed from [0], but I'm hoping to rework this soon to use
the zsh async library that shouldn't require a tempfile.
0: http://www.anishathalye.com/2015/02/07/an-asynchronous-shell-prompt/
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Thu, 10 Mar 2016 18:56:28 -0500 |
parents | 0b8457903012 |
children | e84b6da69ea0 |
files | .shell.d/99.prompt.zsh |
diffstat | 1 files changed, 11 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/.shell.d/99.prompt.zsh +++ b/.shell.d/99.prompt.zsh @@ -18,17 +18,24 @@ preexec () { fi } +PROMPT_TMP="${HOME}/.augie-zsh-tmp-prompt" + function right_side_prompt() { branch=`vcs_current_branch` if [ $? = 0 ] ; then - echo -n $branch - else - date '+%D %H:%M' + echo -n $branch > "$PROMPT_TMP" + kill -s USR1 $$ fi } +function TRAPUSR1() { + rps_branch=$(cat "$PROMPT_TMP") + zle && zle reset-prompt +} + function precmd () { - rps_branch=`right_side_prompt` + rps_branch="$(date '+%D %H:%M')" + right_side_prompt &! } if [ "x`whoami`" = "xroot" ] ; then