次のプロンプトを表示しようとしています。
$ some-folder (patch-name):
次の操作を行ったときに機能させることができました。
hg_ps1() {
hg prompt " ({patch})" 2> /dev/null
}
export PS1='$ \W$(hg_ps1): '
ただし、パッチを適用しないと、次のことが発生します。
$ some-folder ():
パッチを適用しない場合は、次のようになります。
$ some-folder:
私ができる方法はありますか?
答え1
hg_ps1
コマンドの結果に応じて、出力を条件付きにすることができますhg
。
hg_ps1()
{
typeset prmpt=$(hg prompt "{patch}" 2>/dev/null)
[[ -n "$prmpt" ]] && echo " ($prmpt)"
}
答え2
次のコマンドを使用して、適用されたパッチと適用されていないパッチを表示できます。
hg prompt --angle-brackets "<patches|join( → )|pre_applied(${COLOR_BROWN})|post_applied(${COLOR_NC})|pre_unapplied(${COLOR_BLACK})|post_unapplied(${COLOR_NC})>"
希望の色を選択してください。たとえば、私は次の色を使用しました。
COLOR_BROWN=$'\e[0;33m'
COLOR_NC=$'\e[0m' # No Color
COLOR_BLACK=$'\e[0;30m'