git-prompt.sh: if pc mode, immediately set PS1 to a plain prompt
At the beginning of __git_ps1, right after determining that the function is running in pc mode, set PS1 to a plain (undecorated) prompt. This makes it possible to simply return early without having to set PS1 if the prompt should not be decorated. Signed-off-by: Richard Hansen <rhansen@bbn.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c5b9256360
commit
76b4309400
@ -299,6 +299,10 @@ __git_ps1 ()
|
|||||||
ps1pc_start="$1"
|
ps1pc_start="$1"
|
||||||
ps1pc_end="$2"
|
ps1pc_end="$2"
|
||||||
printf_format="${3:-$printf_format}"
|
printf_format="${3:-$printf_format}"
|
||||||
|
# set PS1 to a plain prompt so that we can
|
||||||
|
# simply return early if the prompt should not
|
||||||
|
# be decorated
|
||||||
|
PS1="$ps1pc_start$ps1pc_end"
|
||||||
;;
|
;;
|
||||||
0|1) printf_format="${1:-$printf_format}"
|
0|1) printf_format="${1:-$printf_format}"
|
||||||
;;
|
;;
|
||||||
@ -350,10 +354,6 @@ __git_ps1 ()
|
|||||||
rev_parse_exit_code="$?"
|
rev_parse_exit_code="$?"
|
||||||
|
|
||||||
if [ -z "$repo_info" ]; then
|
if [ -z "$repo_info" ]; then
|
||||||
if [ $pcmode = yes ]; then
|
|
||||||
#In PC mode PS1 always needs to be set
|
|
||||||
PS1="$ps1pc_start$ps1pc_end"
|
|
||||||
fi
|
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -412,9 +412,6 @@ __git_ps1 ()
|
|||||||
else
|
else
|
||||||
local head=""
|
local head=""
|
||||||
if ! __git_eread "$g/HEAD" head; then
|
if ! __git_eread "$g/HEAD" head; then
|
||||||
if [ $pcmode = yes ]; then
|
|
||||||
PS1="$ps1pc_start$ps1pc_end"
|
|
||||||
fi
|
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
# is it a symbolic ref?
|
# is it a symbolic ref?
|
||||||
|
Loading…
x
Reference in New Issue
Block a user