cores não sendo expandidas em zsh print -P

1

Eu tenho um script de prompt zsh que usa print -P para executar a expansão de prompt. O script não funciona corretamente em um sistema remoto específico em que eu esteja. As diretivas de cor nos comandos de prompt de impressão não estão sendo expandidas:

$ print -P '%F{blue}this should be blue'
{blue} this should be blue

Existe alguma maneira de contornar isso? Eu não tenho certeza porque é importante que eu esteja usando um sistema remoto, já que a exibição está acontecendo através do meu emulador de terminal local (iTerm2).

    
por Sean Mackesey 24.09.2014 / 19:09

1 resposta

1

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 ).

    
por 25.09.2014 / 16:44

Tags