xonshでは、{gitstatus}
を含んだプロンプトの書式を$PROMPT
に格納することで、gitの状態をプロンプトに追加できる。
この機能のマークや色などの書式変更は、$XONSH_GITSTATUS_*
を変更することで実現できる。
それ以上のカスタマイズは、promptで実行する関数は、$PROMPT_FIELDS["some_command"] = lambda: xxx
と関数を定義し、{some_command}
を書式に追加する必要がある。
ちょっとした改修であれば、元の{gitstatus}
のコードは以下にあるため、これをコピーして(xonsh:2条項BSDライセンス)流用すると簡単である。
私の場合、masterの時には気づくようにしたいため、ブランチに絵文字を追加した。
def gitstatus_prompt()
~
ret = ""
if s.branch == "master":
ret += "🌟"
~
これを、$PROMPT_FIELDS
に追加し、書式に関数を追加すれば良い。
$PROMPT_FIELDS["git"] = gitstatus_prompt
やはりPythonでShellを拡張できるxonshは便利です!!