git-prompt.sh(분기 등)의 출력을 굵게 표시하려면 어떻게 해야 합니까?

git-prompt.sh(분기 등)의 출력을 굵게 표시하려면 어떻게 해야 합니까?

브랜치 등 Git 정보로 git-prompt.sh프롬프트를 맞춤설정합니다 .bash

https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh

git-prompt.sh프롬프트의 다른 부분이 굵게 표시되어 있기 때문에 내가 원하는 출력은 굵게 표시됩니다( PS1아래 참조). 업데이트하고 싶지 않지만 git-prompt.sh에서 출력을 굵게 표시합니다 ~/.bashrc.

그러나 나는 그것을 작동시킬 수 없습니다. 굵게 표시하면 $fmt상태 정보가 아닌 분기만 굵게 표시됩니다.

어떤 아이디어가 있나요?

~/.bashrc:

# ps1 {{{1

PS1='\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\W\[\033[00m\] \$ '

if declare -F __git_ps1 &>/dev/null; then
    __git_ps1_venv() {
        local pre="$1"
        local post="$2"
        local fmt=" (%s)"

        if [ -n "${VIRTUAL_ENV}" ] && [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ]; then
            if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
                # special case for Aspen magic directories
                # see http://www.zetadev.com/software/aspen/
                pre="[`basename \`dirname \"$VIRTUAL_ENV\"\``] ${pre}"
            else
                pre="(`basename \"$VIRTUAL_ENV\"`) ${pre}"
            fi
        fi

        __git_ps1 "${pre}" "${post}" "${fmt}"
    }

    GIT_PS1_SHOWDIRTYSTATE=1
    GIT_PS1_SHOWSTASHSTATE=1
    GIT_PS1_SHOWUNTRACKEDFILES=1
    GIT_PS1_SHOWUPSTREAM="name"
    GIT_PS1_STATESEPARATOR=" "
    GIT_PS1_SHOWCOLORHINTS=1
    GIT_PS1_HIDE_IF_PWD_IGNORED=1

    PROMPT_COMMAND='__git_ps1_venv "'"${PS1% \\\$ }"'" " \\\$ "'
fi

답변1

~에서git-prompt.sh

# __git_ps1 requires 2 or 3 arguments when called from PROMPT_COMMAND (pc)
# in that case it _sets_ PS1. The arguments are parts of a PS1 string.
# when two arguments are given, the first is prepended and the second appended
# to the state string when assigned to PS1.
# The optional third parameter will be used as printf format string to further
# customize the output of the git-status string.

실행 전에 추가(SGR Bold Sequence)가 \e[1m귀하의 경우에 적합해야 합니다. 귀하의 경우 초기화되는 첫 번째 매개변수 때문에 이렇게 할 수 있습니다. 이렇게 입력하고 재설정하는 데 사용할 수 있습니다.${pre}__git_ps1${pre}__git_ps1_venv\e[1m\e[0m

PROMPT_COMMAND='__git_ps1_venv "'"${PS1% \\\$ }\e[1m"'" "\e[0m \\\$ "'

관련 정보