Meu entendimento é que ansi-term
apenas suporta 8 cores (uma boa discussão sobre isso no reddit aqui ).
Enquanto isso, um número crescente de emuladores de terminal (por exemplo, tmux
ou iTerm2
no OS X) suporta True color
(24 bits, ou seja, 16 milhões de cores). Uma boa lista pode ser encontrada aqui .
- Se o limite de 8 cores for específico
ansi-term
, existem outros pacotes para emulação de terminal que estão tentando resolver essa limitação? - Existem planos para oferecer
True color
suporte a um emulador de terminal no Emacs?
E talvez para confirmar:
- Existe alguma maneira de efetivamente ter mais de 8 cores em
ansi-term
buffers? - Os ajustes
ansi-color-names-vector
ainda são a maneira recomendada de definiransi-term
cores no Emacs25
?
Como testar se um emulador suporta " True color ":
Aqui está um trecho do link acima que testaria se o emulador suporta cores verdadeiras:
awk 'BEGIN{
s="/\\/\\/\\/\\/\\"; s=s s s s s s s s;
for (colnum = 0; colnum<77; colnum++) {
r = 255-(colnum*255/76);
g = (colnum*510/76);
b = (colnum*255/76);
if (g>255) g = 510-g;
printf "\033[48;2;%d;%d;%dm", r,g,b;
printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
printf "%s\033[0m", substr(s,colnum+1,1);
}
printf "\n";
}'
Se for suportado, a linha inferior exibirá um bom gradiente como o mostrado abaixo:
Pelo que li, o NeoVim (editor do VIM) adicionou suporte para ele em 2015, e houve uma solicitação feita aos erros do Emacs para adicioná-lo.
ansi-color-names-vector
como uma variável que posso personalizar. Além disso, eu corromulti-term
e com o zsh como shell. Seu script não produz uma saída positiva :-(