黄瓜的ANSI颜色弄乱emacs编译缓冲区

在Emacs中工作时,我使用编译命令(默认为F12)来运行程序。 当我在Emacs中运行Cucumber时,Cucumber吐出Emacs编译模式不能解释的ANSI颜色。 结果是丑陋难读。 这是*编译*缓冲区的一个片段,显示了丑陋:

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

我正在使用的命令:

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

版本:

  • Emacs 23.1
  • 黄瓜0.8.3
  • 黄瓜栏0.3.2

世界将是阳光和鸟儿唱歌,如果我能:

  • 让Emacs在编译缓冲区中解释ANSI颜色代码,或者
  • 让黄瓜停止吐出ANSI颜色代码

有任何想法吗?

我用这个来打开我的编译缓冲区中的ansi颜色解释:

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

我改进了代码,所以它不会像使用命令一样污染Mx grep并且更高效:

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