ブランチなどの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_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 \\\$ "'