2011-10-17 53 views
8

编辑:褪色的灰色只是版本0.9.7.3和之前的问题。它从那以后变成了深灰色。如何调整pry颜色

Pry具有很好的着色功能,但创建或更改对象时返回的值是褪色的灰色,几乎看不到。

u = User.new 
=>#<User... <<<<<< This is what is barely readable. 

我试图搞乱.pryrc中的值,但无法得到这个或任何其他颜色的事情,改变。

回答

9

撬使用CodeRay着色,这样你就可以把你的.pryrc文件中的以下内容:

CodeRay.scan("example", :ruby).term # just to load necessary files 

TERM_TOKEN_COLORS = { 
    :symbol => '1;31' # will make symbols bolded and light red on my terminal 
} 

module CodeRay 
    module Encoders 
     class Term < Encoder 
      # override old colors 
      TERM_TOKEN_COLORS.each_pair do |key, value| 
       TOKEN_COLORS[key] = value 
      end 
     end 
    end 
end 

你可以在这里看到,可定制(不知道哪一个到底是你提到的所有值,但不应该很难追查): https://github.com/rubychan/coderay/blob/master/lib/coderay/encoders/terminal.rb

+0

这样做。我用':comment =>'34'替换了':symbol =>'1; 31''来获得标准的蓝色。谢谢。 –

+1

太棒了!我现在已经在Pry中解决了这个问题,所以从下一个版本开始,没有人应该有这个问题:)。 https://github.com/pry/pry/commit/c91975bb51424a951a0f39a6e7652cb7aaf26d17 –

+2

不错。但不得不将'class Term leucos