Subscribed unsubscribe Subscribe Subscribe

目の前に僕らの道がある

勉強会とか、技術的にはまったことのメモ

【新人さんに教えたこと】zshの右プロンプトにgitのブランチを表示したい

メモを残しておかないと何を教えたか忘れてしまうのでメモ。
zshの新しいバージョンだとvcs_infoとか使えば良いんでしょうけど、たぶんどこでも使える方法を教えた。

こんなのを.zshrcに追記する。

function _set_env_git_current_branch() {
        GIT_CURRENT_BRANCH=$( git branch &> /dev/null | grep '^\*' | cut -b 3- )
}
 
function _update_rprompt () {
    if [ $GIT_CURRENT_BRANCH ];
    then;
        RPROMPT="[branch:$GIT_CURRENT_BRANCH]";
    else;
        RPROMPT="";
    fi;
}

function precmd() {
  _set_env_git_current_branch
  _update_rprompt
}
 
function chpwd() {
  _set_env_git_current_branch
  _update_rprompt
}

precmdはプロンプト表示前に実行される関数。chpwdはディレクトリ変更後に実行される関数となります。SEE ALSO: man zshmisc

自分はこんな感じでやっている。たぶんもっとスマートには書けるとは思いつつ。