A typical prompt looks like:

    artagnon|master *=:~/src/git$
                   ^
                   why do we have this space?

Nobody has branch names that end with +, *, =, < or > anyway, so it
doesn't serve the purpose of disambiguation.

Make this separator configurable via GIT_PS1_STATESEPARATOR.  This means
that you can set it to "" and get this prompt:

    artagnon|master*=:~/src/git$

Signed-off-by: Ramkumar Ramachandra <artag...@gmail.com>
---
 contrib/completion/git-prompt.sh | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh
index eaf5c36..5d8b745 100644
--- a/contrib/completion/git-prompt.sh
+++ b/contrib/completion/git-prompt.sh
@@ -359,6 +359,11 @@ __git_ps1 ()
                        fi
                fi
 
+               local z=" "
+               if [ -n "${GIT_PS1_STATESEPARATOR+set}" ]; then
+                       z="${GIT_PS1_STATESEPARATOR}"
+               fi
+
                local f="$w$i$s$u"
                if [ $pcmode = yes ]; then
                        local gitstring=
@@ -384,7 +389,7 @@ __git_ps1 ()
                                
gitstring="\[$branch_color\]$branchstring\[$c_clear\]"
 
                                if [ -n "$w$i$s$u$r$p" ]; then
-                                       gitstring="$gitstring "
+                                       gitstring="$gitstring$z"
                                fi
                                if [ "$w" = "*" ]; then
                                        gitstring="$gitstring\[$bad_color\]$w"
@@ -400,13 +405,13 @@ __git_ps1 ()
                                fi
                                gitstring="$gitstring\[$c_clear\]$r$p"
                        else
-                               gitstring="$c${b##refs/heads/}${f:+ $f}$r$p"
+                               gitstring="$c${b##refs/heads/}${f:+$z$f}$r$p"
                        fi
                        gitstring=$(printf -- "$printf_format" "$gitstring")
                        PS1="$ps1pc_start$gitstring$ps1pc_end"
                else
                        # NO color option unless in PROMPT_COMMAND mode
-                       printf -- "$printf_format" "$c${b##refs/heads/}${f:+ 
$f}$r$p"
+                       printf -- "$printf_format" 
"$c${b##refs/heads/}${f:+$z$f}$r$p"
                fi
        fi
 }
-- 
1.8.3.rc1.57.g4ac1522

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to