Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

zshのRPROMPTにbranchをだす

hgのコマンドが遅いのでどうしたものかと。
とある条件でのみ出すようにすればいいかなあと思い、開発時には大体virtualenvを使うので
active時のみ出すようにしてみた。

_set_env_hg_current_branch(){
    HG_CURRENT_BRANCH=$( hg branch 2>/dev/null )
}

_update_rprompt(){
    if [ "`hg locate 2>/dev/null`" ]; then
        RPROMPT="%{$fg[cyan]%}($HG_CURRENT_BRANCH)%{$reset_color%}%~"
    else
        RPROMPT="%~"
    fi
}

precmd()
{
    if [ -n "$VIRTUAL_ENV" ]; then
        _set_env_hg_current_branch
        _update_rprompt
    fi
}

chpwd()
{
    if [ -n "$VIRTUAL_ENV" ]; then
        _set_env_hg_current_branch
        _update_rprompt
    fi
    ls -al
}