A expansão rápida não é recursiva. Você tem %1v
no seu prompt, então o conteúdo de $psvar[1]
é inserido no seu prompt.
Em vez de colocar diretivas de expansão imediatas em $psvar
, coloque o conteúdo do prompt. Insira as seqüências de escape do terminal para mudanças de cor. Você pode usar colors
para isso.
autoload -U colors
colors
… {
psvar[1]="$fg[green]$branch$fg[default]"
}