使Coderay(在Pry中)突出显示注释

时间:2014-05-12 17:46:33

标签: ruby bash pry coderay

我的.pryrc看起来像这样:

Pry.config.print = proc { |output, value| 
    output.puts "# => " + value.inspect ; puts 
}

Pry.config.prompt = [
  proc { "" },
  proc { "" }
]

Pry.config.prompt_name = 'my_project_name'

puts "# " + Time.now.strftime("%H:%M %d-%m-%Y")

并且结果以#进行返回,因此coderay忽略它们并且不对它们着色。我想用coderay来为它们着色。这里有信息: http://coderay.rubychan.de/doc/CodeRay/Encoders/CommentFilter.html

但我无法弄明白。任何帮助表示赞赏。如果我搞清楚,我会发布解决方案。

编辑:我希望突出显示的事情好像#不存在(数字一种颜色,字符串另一种颜色,以及多种颜色,例如,返回一系列不同的东西),但即使只是制作整个返回线一种颜色现在会有所帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

Pry.config.print = proc { |output, value|
     output.puts '# => ' + CodeRay.scan(value, :ruby).encode(:terminal) ; puts 
}

似乎可以做到这一点!