shell emacs text-coloring ansi-escape compilationmode

shell - Colorear ANSI En Modo Compilación



emacs text-coloring (2)

Mi solución optimizada que no contamina Mx grep (solo para Mx compile ):

(ignore-errors (require ''ansi-color) (defun my-colorize-compilation-buffer () (when (eq major-mode ''compilation-mode) (ansi-color-apply-on-region compilation-filter-start (point-max)))) (add-hook ''compilation-filter-hook ''my-colorize-compilation-buffer))

¿Alguien ha agregado soporte para ansi-color en Emacs en modo compilación? Si es así, ¿qué propiedad / atributo debe verificar el programa de escritura de color para asegurarse de que su terminal activo admita la coloración de escape ANSI?


Ya existe una función para aplicar color a los buffers de comint. Simplemente necesitas habilitarlo en los buffers de compilación:

(require ''ansi-color) (defun colorize-compilation-buffer () (toggle-read-only) (ansi-color-apply-on-region compilation-filter-start (point)) (toggle-read-only)) (add-hook ''compilation-filter-hook ''colorize-compilation-buffer)

Los programas de escritura en color deben verificar la variable de entorno TERM y la base de datos terminfo para verificar si el terminal es compatible con el color. En la práctica, muchos programas ignoran esto y dependen de la configuración del usuario. Emacs establecerá el tipo de terminal de compilación en dumb de forma predeterminada, pero esto puede anularse configurando la variable de compilation-environment .