From b930f401947d809a0ef7ab9aed7aa808105fb682 Mon Sep 17 00:00:00 2001 From: Simon Ruderich Date: Thu, 5 Feb 2009 14:37:19 +0100 Subject: [PATCH] Only use VCS_Info when it's available. It was added in Zsh 4.3.9. --- zsh/rc | 50 +++++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/zsh/rc b/zsh/rc index 73f3f1d..d627a08 100644 --- a/zsh/rc +++ b/zsh/rc @@ -66,30 +66,34 @@ PROMPT="%{${fg[green]}%}%B%m%b%{${fg[default]}%}:\ %(1j.%{${fg[yellow]}%}%j%{${fg[default]}%}.)%(2L.+.)%# \ %(?..(%{${fg[red]}%}%B%?%b%{${fg[default]}%}%) )" -# Allow substitutions and expansions in the prompt, necessary for vcs_info. -setopt promptsubst -# Load vcs_info to display information about version control repositories. -autoload -Uz vcs_info -# Only look for git and mercurial repositories; the only I use. -zstyle ':vcs_info:*' enable git hg -# Set style of vcs_info display. The current branch (green) and vcs (blue) is -# displayed. If there is an special action going on (merge, rebase) it's also -# displayed (red). -zstyle ':vcs_info:*' formats \ -"(%{${fg[green]}%}%b%{${fg[default]}%}:\ -%{${fg[blue]}%}%s%{${fg[default]}%})" -zstyle ':vcs_info:*' actionformats \ -"(%{${fg[green]}%}%b%{${fg[default]}%}/\ -%{${fg[red]}%}%a%{${fg[default]}%}:\ -%{${fg[blue]}%}%s%{${fg[default]}%})" -# Call vcs_info as precmd before every prompt. -prompt_precmd() { - vcs_info -} -add-zsh-hook precmd prompt_precmd +# VCS_Info was added in 4.3.9. +if [[ $ZSH_VERSION == (4.3.<9->|4.<4->*|<5->*) ]]; then + # Allow substitutions and expansions in the prompt, necessary for + # vcs_info. + setopt promptsubst + # Load vcs_info to display information about version control repositories. + autoload -Uz vcs_info + # Only look for git and mercurial repositories; the only I use. + zstyle ':vcs_info:*' enable git hg + # Set style of vcs_info display. The current branch (green) and vcs (blue) + # is displayed. If there is an special action going on (merge, rebase) + # it's also displayed (red). + zstyle ':vcs_info:*' formats \ + "(%{${fg[green]}%}%b%{${fg[default]}%}:\ + %{${fg[blue]}%}%s%{${fg[default]}%})" + zstyle ':vcs_info:*' actionformats \ + "(%{${fg[green]}%}%b%{${fg[default]}%}/\ + %{${fg[red]}%}%a%{${fg[default]}%}:\ + %{${fg[blue]}%}%s%{${fg[default]}%})" + # Call vcs_info as precmd before every prompt. + prompt_precmd() { + vcs_info + } + add-zsh-hook precmd prompt_precmd -# Display the vcs information in the right prompt. -RPROMPT='${vcs_info_msg_0_}' + # Display the vcs information in the right prompt. + RPROMPT='${vcs_info_msg_0_}' +fi # When screen is used set the name of the window to the currently running # program. -- 2.44.2