Quiero vista (y / o modificar) el texto coloreada en emacs, como es la producción en ls -l --color=always, tree...o lo que sea.
El texto al que me refiero existe en un archivo. Cuando abro ese archivo en emacs, quiero poder verlo coloreado o alternarlo para mostrar secuencias de escape ANSI (SGR).
ansi-color.el parece ser lo que necesito, pero no he podido hacer que coloree las secuencias de escape ANSi , pero veo negrita azul para los bytes de control individuales (por ejemplo, ^Ay ^[) ... no estoy Seguro si esa es una característica de ansi-color, pero creo que lo es.
Según los comentarios de ansi-color.el , puede funcionar con cadenas y regiones, pero incluso eso no parece funcionar. Por ejemplo, la función ansi-color-apply-on-regionno es reconocida por M-x. Dice: "No coincide"
He agregado (require 'ansi-color)a mi archivo .emacs e incluso (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on). No recibo ningún error o advertencia cuando se inicia emacs, así que estoy atascado.
¿Cómo puedo hacer que funcionen las funciones estándar, y puedo hacer que se apliquen automáticamente al abrir un archivo cuyo nombre tiene el sufijo .col?

La siguiente solución permite leer (y no guardar) archivos que contienen secuencias de color ANSI. Los nombres de archivo deben tener una
.txtextensión.Ponga la biblioteca TTY-formato en
~/.emacs.d/site-lisp/, a continuación, añadir estas líneas a su~/.emacsarchivo de inicio.fuente
ansi-colory va un paso más allá para, como dice su enlace, "... El objetivo de tty-format.el es simplemente hacer que * tales archivos sean visibles". ".." tales archivos "son aquellos que contienen ANSI SGR escape secuencias y retroceso .. Gracias ..tty-format. Parece ser superior a mi función de contenedor o modo derivado de 3 líneas. :) Emacs tiene dificultades para lidiar con muchas superposiciones, que es cómo ansi-color realiza la coloración. Aquí hay una oportunidad para una mayor optimización, ya que no necesitamos colorear todo el búfer, solo la parte que se muestra.¡Muchas gracias @enzotib por tu solución!
Solo como una adición a su solución, aquí hay una manera de hacerla explícitamente invocable por el usuario:
y automático para archivos que no sean solo * .txt o README:
De esta manera, puede reemplazar sus secuencias de escape con colores sin alterar el archivo original, a diferencia de las soluciones que utiliza
ansi-color-apply-on-region.fuente