黄瓜的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))