Skip to content

Commit

Permalink
prompt: introduce GIT_PS1_STATESEPARATOR
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Ramkumar Ramachandra authored and Junio C Hamano committed May 17, 2013
1 parent 629b60a commit 15a54fb
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions contrib/completion/git-prompt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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=
Expand All @@ -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"
Expand All @@ -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
}

0 comments on commit 15a54fb

Please sign in to comment.