O problema era que a versão de zsh
era 4.3.6. De acordo com as notas de lançamento , o recurso de expansão de cor %F
do prompt não foi adicionado até 5.0 (embora as notas de versão não são 100% claros aqui-- em todo caso, %F
não aparece na 4.3.6 zshmisc
manpage, que contém a documentação de expansão de prompt). Confusamente, o %F
ainda é removido da string de formato (aparentemente sem fazer nada) - é apenas o argumento (o nome da cor ou o número entre chaves) que não é tocado. Consegui resolver o problema substituindo %F{color}
strings em minha string de formato de prompt por códigos de escape ANSI (por exemplo, %F{blue}
se torna \e[34m
e %f
, que redefine a cor, torna-se \e[0m
).