Obtenir plus de 8 couleurs dans un émulateur de terminal dans Emacs


14

Ma compréhension est que ansi-termne prend en charge que 8 couleurs (une bonne discussion à ce sujet dans reddit ici ).

Parallèlement, un nombre croissant d'émulateurs de terminaux (par exemple tmuxou iTerm2sous OS X) prennent en charge True color(24 bits, soit 16 millions de couleurs). Une bonne liste peut être trouvée ici .

  • Si le plafonnement à 8 couleurs est spécifique à ansi-term, existe-t-il d'autres packages pour l'émulation de terminal qui tentent de résoudre cette limitation?
  • Est-il prévu d'apporter un True colorsupport à un émulateur de terminal dans Emacs?

Et peut-être pour confirmer:

  • Existe-t-il un moyen d'avoir effectivement plus de 8 couleurs dans les ansi-termtampons?
  • Le réglage est-il ansi-color-names-vectortoujours la méthode recommandée pour définir les ansi-termcouleurs dans Emacs 25?

Comment tester si un émulateur prend en charge " True color ":

Voici un extrait du lien ci-dessus qui testerait si l'émulateur prend en charge les vraies couleurs:

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

S'il est pris en charge, la ligne du bas afficherait un joli dégradé comme celui illustré ci-dessous:

entrez la description de l'image ici


D'après ce que j'ai lu, NeoVim (un éditeur VIM) a ajouté un support pour cela en 2015, et il y avait une demande faite aux bugs Emacs pour l'ajouter.


Depuis Emacs 26, je ne peux pas voir ansi-color-names-vectorcomme une variable que je peux personnaliser. En plus de cela, je lance multi-termet avec zsh comme shell. Votre script ne produit pas de sortie positive :-(
spav

Réponses:


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.