Thread (5 messages) flat view 5 messages, 3 authors, 2016-06-15

Re: [PATCH v5 1/2] git-prompt.sh: if pc mode, immediately set PS1

From: SZEDER Gábor <hidden>
Date: 2016-06-15 23:03:28

Hi,


Quoting Richard Hansen [off-list ref]:
quoted hunk ↗ jump to hunk
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 <redacted>
---
  contrib/completion/git-prompt.sh | 11 ++++-------
  1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/contrib/completion/git-prompt.sh
b/contrib/completion/git-prompt.sh
index 729f769..b0de082 100644
--- a/contrib/completion/git-prompt.sh
+++ b/contrib/completion/git-prompt.sh
@@ -299,6 +299,10 @@ __git_ps1 ()
  			ps1pc_start="$1"
  			ps1pc_end="$2"
  			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}"
  		;;
@@ -350,10 +354,6 @@ __git_ps1 ()
  	rev_parse_exit_code="$?"

  	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
  	fi
@@ -412,9 +412,6 @@ __git_ps1 ()
  		else
  			local head=""
  			if ! __git_eread "$g/HEAD" head; then
-				if [ $pcmode = yes ]; then
-					PS1="$ps1pc_start$ps1pc_end"
-				fi
  				return
  			fi
  			# is it a symbolic ref?
--
2.2.1
As the one responsible for the last hunk I really like this change.

Thanks,
Gábor
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help