44 votes

Les couleurs ANSI du concombre gâchent la mémoire tampon de compilation emacs

Lorsque vous travaillez dans Emacs, j'utilise la commande de la compilation (F12 par défaut) pour exécuter des programmes. Quand je lance le Concombre dans Emacs, Concombre crache couleurs ANSI que Emacs mode de compilation n'est pas en mesure d'interpréter. Le résultat est laid et difficile à lire. Voici un extrait de l' *compilation* tampon montrant le truand:

^[[31m(::) failed steps (::)^[[0m

La commande que j'utilise:

( cd ~/lab/rails/todolist && rake cucumber:all )

Versions:

  • Emacs 23.1
  • Concombre 0.8.3
  • Concombre-rails 0.3.2

Le monde serait le soleil et le chant des oiseaux, si je le pouvais:

  • Obtenir Emacs pour interpréter la norme ANSI codes de couleur dans sa compilation de la mémoire tampon, ou
  • Obtenez de Concombre à arrêter de cracher ANSI codes de couleur

Des idées?

75voto

ataylor Points 31154

J'utilise ceci pour activer l'interprétation couleur Ansi dans mon tampon de compilation:

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

22voto

gavenkoa Points 6974

J'améliore le code pour qu'il ne pollue pas M-x grep comme les commandes et plus efficace:

 (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))
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X