【发布时间】:2012-02-07 01:31:27
【问题描述】:
我正在使用 Ruby 中的 readline 为一些输出着色,但我没有任何运气让换行正常工作。例如:
"\e[01;32mThis prompt is green and bold\e[00m > "
期望的结果是:
This prompt is green and bold > aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
我实际得到的是:
aaaaaaaaaaa is green and bold > aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
如果我删除颜色代码,换行将正常工作。我知道使用 bash,如果颜色代码被错误地终止,就会发生这种情况,但我已经尝试了我能想到的一切,包括一些不同的 gem,并且行为是相同的。它也发生在具有不同版本 Readline 的多个系统上。这个特定的项目使用 rb-readline 而不是 C readline。
【问题讨论】:
-
您是否尝试过使用rubygems.org/gems/colored 为您的输出着色?
-
是的,我尝试了那个以及着色。输出工作正常,但在使用 readline 提示符时,它会中断换行。