Obtener más de 8 colores en un emulador de terminal dentro de Emacs


14

Tengo entendido que ansi-termsolo admite 8 colores (una buena discusión de esto en reddit aquí ).

Mientras tanto, un número creciente de emuladores de terminal (por ejemplo, tmuxo iTerm2en OS X) admite True color(24 bits, es decir, 16 millones de colores). Una buena lista se puede encontrar aquí .

  • Si el límite de 8 colores es específico para ansi-term, ¿hay otros paquetes para la emulación de terminal que estén tratando de resolver esta limitación?
  • ¿Hay algún plan para brindar True colorsoporte a un emulador de terminal en Emacs?

Y tal vez para confirmar:

  • ¿Hay alguna manera de tener efectivamente más de 8 colores en ansi-termbuffers?
  • ¿ ansi-color-names-vectorSigue siendo el ajuste la forma recomendada de configurar los ansi-termcolores en Emacs 25?

Cómo probar si un emulador admite " Color verdadero ":

Aquí hay un fragmento del enlace anterior que probaría si el emulador admite colores verdaderos:

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";
}'

Si es compatible, la línea inferior mostrará un buen gradiente como el que se muestra a continuación:

ingrese la descripción de la imagen aquí


Por lo que leí, NeoVim (un editor VIM) agregó soporte para él en 2015, y se hizo una solicitud a los errores de Emacs para agregarlo.


A partir de Emacs 26, no puedo ver ansi-color-names-vectorcomo una variable que puedo personalizar. Además de eso, corro multi-termy con zsh como shell. Su secuencia de comandos no produce una salida positiva :-(
spav

Respuestas:


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.