Umi Uyuraのブログ

プログラミング関連の作業ログ

magit-statusにユーザー情報を表示する

ふだん、コンソールの表示をカスタマイズしてGitのユーザー情報を表示させているのですが、同じようにMagit statusしたときにユーザー情報を表示できないかと思って調べてみたところ、Magitの仕組みとして用意されていたので、設定してみました。

Magit status headers hook

magit-status の表示内容はカスタマイズすることができるようで、上段の部分はStatus Header Sectionsと呼ばれ、 magit-status-header-hook に登録された関数で生成される仕組み。

標準で表示されるheadやupstream、エラー情報などもこの機構を利用して出力されているもよう。

Function: magit-insert-user-header

その中で、デフォルトでは有効になっていない magit-insert-user-header という関数を使うとユーザー情報を表示できます。

この関数を magit-status-header-hook に登録することで、git config で設定されている user.nameuser.email を表示してくれるようになります。

magit-statusにユーザー情報を表示

設定方法

今回はEmacsのcustomizeを利用して設定しました。

M-x customize でcustomizeを開いて、検索欄で magit-status を検索します。

検索結果に出てくる Magit Status Headers Hook を開くと、プリセットの関数が選択できるようになっています。

ところが、ドキュメントサイトには掲載されているものの、なぜか magit-insert-user-header は選択肢にないため、 INS を押してから magit-insert-user-header を直接入力しました。

customizeでmagit-insert-user-headerを設定

そのまま保存して良ければ、 State を押して 1: Save For Future Session を選択。

問題がなければ、以降 magit-status を実行したとき、ヘッダ部分にユーザー情報が表示されるようになります。

おわり

Magitはデフォルトでも充分便利なので、今まであまりカスタマイズなど考えなかったのですが、あらためてドキュメントを眺めてみると色々とできることがわかったので、他にも自分的に使える機能がないか探してみよう。

参考