1

我尝试通过 Ruby 将命令行命令的输出传递给管道。它工作正常,但缺少着色。我怎样才能保存颜色?

这就是我的代码的样子:

cmd = "cucumber #{ARGV.join(" ")}"
IO.popen(cmd) do |io|
  io.each { |s| print s }
end

更新:问题的前提是错误的 - IO.popen确实保留了颜色。

4

1 回答 1

2

-c使用该选项运行黄瓜。否则 cucumber 确定终端(管道)不支持着色,如果没有明确强制使用,将丢弃它-c

https://github.com/cucumber/cucumber/blob/master/lib/cucumber/cli/options.rb#L211

...
opts.on("-c", "--[no-]color",
        "Whether or not to use ANSI color in the output. Cucumber decides",
        "based on your platform and the output destination if not specified.")
...
于 2012-05-16T12:43:41.303 回答