prompt: introduce GIT_PS1_STATESEPARATOR
authorRamkumar Ramachandra <artagnon@gmail.com>
Fri, 17 May 2013 08:55:46 +0000 (14:25 +0530)
committerJunio C Hamano <gitster@pobox.com>
Fri, 17 May 2013 17:01:17 +0000 (10:01 -0700)
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 <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-prompt.sh
index eaf5c369aacde207cbad4c9df9574e7b26634bb7..fb9296ba3d8c14bf09bfcdd069e321f41c16acbc 100644 (file)
@@ -359,6 +359,7 @@ __git_ps1 ()
                        fi
                fi
 
+               local z="${GIT_PS1_STATESEPARATOR-" "}"
                local f="$w$i$s$u"
                if [ $pcmode = yes ]; then
                        local gitstring=
@@ -384,7 +385,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 +401,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
 }