[PATCH 1/3] prompt: introduce GIT_PS1_STATESEPARATOR
- From
Ramkumar Ramachandra <artagnon@gmail.com>
- Date
- May 17, 2013, 08:55 UTC
- Message-ID
- <1368780948-28917-2-git-send-email-artagnon@gmail.com>
- In-Reply-To
- <1368780948-28917-1-git-send-email-artagnon@gmail.com>
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> --- contrib/completion/git-prompt.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh index eaf5c36..fb9296b 100644 --- a/contrib/completion/git-prompt.sh +++ b/contrib/completion/git-prompt.sh @@ -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 }
-- 1.8.1.2.432.g070c57d