Timebox the git status checks inside prompt so slow repos don't hang the zsh prompt.

Give "robbyrussell" them support for the timed-out check.

Uses zsh's `coproc` to put a timeout on the `git status` call inside git_prompt_info()
Introduces $ZSH_THEME_GIT_PROMPT_TIMEDOUT and $ZSH_THEME_SCM_CHECK_TIMEOUT theme configuration variables to control how long the timeout is and how the timed-out indicator appears inside the prompt.
This commit is contained in:
Andrew Janke 2015-03-26 17:53:02 -04:00
commit 3efa6ceddd
3 changed files with 22 additions and 6 deletions

View file

@ -4,4 +4,5 @@ PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(g
ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_TIMEDOUT="%{$fg[blue]%}) %{$fg[red]%}?%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"