rubys中的奇怪控制字符测试emacs缓冲区内的输出

时间:2011-09-28 21:14:17

标签: ruby-on-rails ruby emacs

我正在使用ruby-test从emacs内部运行rails测试到* Ruby-Test *缓冲区。除了输出混乱了ascii颜色控制字符(不确定正确的术语是什么)之外,它的效果很好。

示例:

MyTest:
    ^[[32m     PASS^[[0m Test Passed (2.85s) 

如果我在显示为绿色“通过”的终端中运行测试。我能做些什么来让颜色显示在输出缓冲区中?

有关于使用M- |运行命令获取颜色的相关问题,但我无法弄清楚如何使其适用于通用缓冲区。

emacs shell command output not showing ANSI colors but the code

3 个答案:

答案 0 :(得分:1)

为了让Emacs猜测常规缓冲区的ansi-color模式,请使用:

(require 'tty-format)
(add-hook 'find-file-hooks 'tty-format-guess)

首先需要download tty格式包。 请参阅:https://unix.stackexchange.com/questions/19494/how-to-colorize-text-in-emacs

看一下代码,看起来作者做了一堆可疑的决定,但也许这会有所帮助:

(defadvice ruby-test-runner-sentinel (after add-ansi-colors activate compile)
  (ansi-color-apply-on-region (point-min) (point-max)))

答案 1 :(得分:0)

您是否已安装ansi-color.el并已启用? See this also.

答案 2 :(得分:0)

尝试运行

ansi-color-for-coming-mode-on

此缓冲区中的函数