每个repo配置zsh vcs_info

时间:2014-10-29 13:36:37

标签: git version-control zsh

由于性能不佳,我试图在specyfic巨大的存储库中禁用check-for-changes样式。我试着这样做:

zstyle :vcs_info:git:* check-for-changes true
zstyle :vcs_info:git:*:huge_repo1 check-for-changes false
zstyle :vcs_info:git:*:huge_repo2 check-for-changes false

但它不起作用,而这:

zstyle :vcs_info:git:*:huge_repo1 formats foo

按预期替换格式 有没有办法正确禁用check-for-changes的specyfic repo?

1 个答案:

答案 0 :(得分:0)

以下是每个目录vcs_info配置的示例: https://github.com/johan/zsh/blob/master/Misc/vcs_info-examples#L88-L102

zstyle -e ':vcs_info:git:*' \
    check-for-changes 'estyle-cfc && reply=( true ) || reply=( false )'

function estyle-cfc() {
    local d
    local -a cfc_dirs
    cfc_dirs=(
        ${HOME}/src/code/*(/)
    )

    for d in ${cfc_dirs}; do
        d=${d%/##}
        [[ $PWD == $d(|/*) ]] && return 0
    done
    return 1
}