+ if [ -n "${GIT_PS1_SHOWCOLORHINT-}" ]; then
+ local c_red='\e[31m'
+ local c_green='\e[32m'
+ local c_yellow='\e[33m'
+ local c_lblue='\e[1;34m'
+ local c_purple='\e[35m'
+ local c_cyan='\e[36m'
+ local c_clear='\e[0m'
+ local branchstring="$c${b##refs/heads/}"
+ local branch_color="$c_green"
+ local flags_color="$c_cyan"
+
+ if [ "$w" = "*" ]; then
+ branch_color="$c_red"
+ elif [ -n "$i" ]; then
+ branch_color="$c_yellow"
+ fi
+
+ # Setting PS1 directly with \[ and \] around colors
+ # is necessary to prevent wrapping issues!
+ PS1="$PS1\[$branch_color\]$branchstring\[$c_clear\]"
+ if [ -n "$f" ]; then
+ PS1="$PS1 \[$flags_color\]$f\[$c_clear\]"
+ fi
+ else
+ PS1="$PS1$c${b##refs/heads/}${f:+ $f}$r$p"
+ fi