X-Git-Url: https://git.madduck.net/etc/zsh.git/blobdiff_plain/e7f4a8c5997e22bae02d741e9b1f40c42b0b0eb8..refs/heads/vcs_info:/.zsh/zshrc/75_vcsinfo diff --git a/.zsh/zshrc/75_vcsinfo b/.zsh/zshrc/75_vcsinfo index 5592fc1..fb7bb74 100644 --- a/.zsh/zshrc/75_vcsinfo +++ b/.zsh/zshrc/75_vcsinfo @@ -12,15 +12,40 @@ autoload -Uz vcs_info -zstyle ':vcs_info:*' actionformats \ - '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f ' -zstyle ':vcs_info:*' formats \ - '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{5}]%f ' -zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{3}%r' - -#PS1=’%F{5}[%F{2}%n%F{5}] %F{3}%3~ ${vcs_info_msg_0_}’"%f%# ’ +# %s The vcs in use (git, hg, svn etc.) +# %b Information about the current branch. +# %a An identifier, that describes the action. Only makes sense in actionformats. +# %i The current revision number or identifier. +# %c The string from the stagedstr style if there are staged changes in the repository. +# %u The string from the unstagedstr style if there are unstaged changes in the repository. +# %R base directory of the repository. +# %r repository name. If %R is /foo/bar/repoXY, %r is repoXY. +# %S subdirectory within a repository. If $PWD is /foo/bar/reposXY/beer/tasty, %S is +# beer/tasty. +# %m A "misc" replacement. It is at the discretion of the backend to decide what this +# replacement expands to. It is currently used only by the hg backend. The hg backend +# replaces %m with the global hash value of the current revision. zstyle ':vcs_info:*' disable cdv darcs mtn svk p4 tla +zstyle ':vcs_info:*' check-for-changes true +zstyle ':vcs_info:*' max-exports 6 +zstyle ':vcs_info:*' formats '%R' '%s' '%b' '' '%c%u' '%S' +zstyle ':vcs_info:*' actionformats '%R' '%s' '%b' '%a' '%c%u' '%S' + +__vcs_info_precmd() { + vcs_info + + local prefix="${vcs_info_msg_0_/$HOME/~}" + local suffix="$vcs_info_msg_5_" + [[ $suffix = . ]] && suffix='' + + local type="$vcs_info_msg_1_" + [[ $type = git ]] && type='' + local branch="$vcs_info_msg_2_" + local action="$vcs_info_msg_3_" + local changes="$vcs_info_msg_4_" + local vcsinfo="${type:+${type}:}%B${branch}%b${action:+|%B${action}%b}" -#this enables vcs_info -#precmd_functions+=vcs_info + _make_ps1 "$prefix|$vcsinfo|$suffix${changes:+|%S${changes}%s}" +} +precmd_functions+=__vcs_info_precmd