É possível usar cores nomeadas em Zsh além dos nomes ANSI?

6

Eu sei que existem maneiras de usar nomes de cores ANSI no Zsh (como vermelho), mas o Zsh suporta 256 cores por número. Estou curioso para saber se há alguma maneira de se referir às cores não-ANSI por um nome? (Sem apenas colocá-los em uma variável)

    
por xenoterracide 31.08.2010 / 23:49

1 resposta

3

As primeiras 16 cores são padrão há muito tempo (e possuem principalmente matizes padrão). 256 cores são uma extensão mais recente definida pelo xterm e terminais compatíveis. A documentação do xterm tem isto a dizer sobre as cores 16–255:

These specify the colors for the 256-color extension. The default resource values are for colors 16 through 231 to make a 6x6x6 color cube, and colors 232 through 255 to make a grayscale ramp.

As cores podem ser alteradas a partir do terminal; veja o arquivo ctlseqs . Por exemplo, print '\e]4;42;taupe\a' altera a cor 42 para ser taupe (os nomes das cores estão disponíveis em /etc/X11/rgb.txt ou algum outro local dependente da distribuição).

Se estiver satisfeito em assumir que as cores acima de 16 têm seus valores padrão, você pode estender a matriz $color com nomes de rgb.txt . Você precisará fazer um pouco de aritmética para encontrar a aproximação mais próxima das cores de 8 bits em cores de lg (6).

    
por 01.09.2010 / 01:34