Simon Oosthoek <s.oosthoek@xxxxxxxxx> writes: > Hi Andrew > > sorry, I only noticed your request this morning... > > On 22/04/16 07:00, Andrew Schwartzmeyer wrote: >> diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh >> index f18aedc73..ffe79168c 100644 >> --- a/contrib/completion/git-prompt.sh >> +++ b/contrib/completion/git-prompt.sh >> @@ -12,8 +12,8 @@ >> # source ~/.git-prompt.sh >> # 3a) Change your PS1 to call __git_ps1 as >> # command-substitution: >> -# Bash: PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ ' >> -# ZSH: setopt PROMPT_SUBST ; PS1='[%n@%m %c$(__git_ps1 " (%s)")]\$ ' >> +# Bash: PS1="[\u@\h \W$(__git_ps1 ' (%s)')]\$ " >> +# ZSH: setopt PROMPT_SUBST ; PS1="[%n@%m %c$(__git_ps1 ' (%s)')]\$ " > > I haven't tested this at all, but when using double quotes, you need to at > least check all the escapings, like \$ should probably be: \\\$ when used > in double quotes. By using double quotes the command subsititution is expanded when PS1 is set, which makes it pretty useless. > The original reason for not using colors in command substitution mode was > that the prompt string length was not calculated correctly by bash and it > messed up the commandline with very long commands (relative to the > terminal width), when browsing the command history. If you want to include control characters in the prompt that don't contribute to the length you have to enclose them in \[ \]. The problem is that \[ \] are processed before embedded command substitutions are expanded, thus they cannot produce such control characters. Andreas. -- Andreas Schwab, schwab@xxxxxxxxxxxxxx GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html