다음과 같은 프롬프트를 표시하려고 합니다.
$ 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'