Re: git-prompt.sh vs leading white space in __git_ps1()::printf_format
- From
Simon Oosthoek <s.oosthoek@xs4all.nl>
- Date
- Nov 28, 2012, 13:20 UTC
- Message-ID
- <20121128132033.GA10082@xs4all.nl>
- In-Reply-To
- <CAA01Cso1E4EC4W667FEU_af2=uGOfPuaWEB3y+zPCpB+bPzoaA@mail.gmail.com>
* Piotr Krukowiecki <piotr.krukowiecki@gmail.com> [2012-11-28 11:03:29 +0100]:
> Hi, > > when I set PROMPT_COMMAND to __git_ps1 I get a space at the beginning: >
Is your setting?: PROMPT_COMMAND=__git_ps1
I believe you need to give 2 parameters in order to use it in PROMPT_COMMAND mode.
In my .bashrc I have:
if [ -f ~/.gitprompt.sh ]
then
. ~/.gitprompt.sh
GIT_PS1_SHOWDIRTYSTATE=true
GIT_PS1_SHOWCOLORHINTS=true
GIT_PS1_SHOWUNTRACKEDFILES=true
PROMPT_COMMAND="__git_ps1 '\u@\[\e[1;34m\]\h\[\e[0m\]:\w' '\\\$ '"
fiShow 24 quoted lines
> (master)pkruk@foobar ~/dir$ > ^ space > > Is there a reason for this? It looks like a waste of space. If I'm not in > git repository I don't have the space: > > pkruk@foobar ~/other$ > > I noticed the space is explicitly specified in printf_format in > git-prompt.sh. Is it needed? If I remove it, everything seems to work fine > (no leading space)... > > --- /usr/local/src/git/git/contrib/completion/git-prompt.sh 2012-11-28 > 10:27:05.728939201 +0100 > +++ /home/pkruk/.git-prompt.sh 2012-11-28 10:52:56.852629745 +0100 > @@ -218,7 +218,7 @@ __git_ps1 () > local detached=no > local ps1pc_start='\u@\h:\w ' > local ps1pc_end='\$ ' > - local printf_format=' (%s)' > + local printf_format='(%s)' > > case "$#" in > 2) pcmode=yes
These last 2 lines say: if 2 arguments are given, use pcmode. Otherwise you get command-subtitution mode, which gives weird effects when being called from PROMPT_COMMAND.
Cheers
Simon