Class: Pry::ColorPrinter
Constant Summary collapse
- OBJ_COLOR =
begin code = CodeRay::Encoders::Terminal::TOKEN_COLORS[:keyword] if code.start_with? "\e" code else "\e[0m\e[0;#{code}m" end end
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.pp(obj, out = $>, width = 79) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/pry/color_printer.rb', line 15 def self.pp(obj, out = $>, width = 79) q = ColorPrinter.new(out, width) q.guard_inspect_key { q.pp obj } q.flush out << "\n" end |
Instance Method Details
#pp(obj) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/pry/color_printer.rb', line 33 def pp(obj) super rescue => e raise if e.is_a? Pry::Pager::StopPaging # Read the class name off of the singleton class to provide a default # inspect. singleton = class << obj; self; end ancestors = Pry::Method.safe_send(singleton, :ancestors) klass = ancestors.reject { |k| k == singleton }.first obj_id = obj.__id__.to_s(16) rescue 0 str = "#<#{klass}:0x#{obj_id}>" text highlight_object_literal(str) end |
#text(str, width = str.length) ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/pry/color_printer.rb', line 22 def text(str, width = str.length) # Don't recolorize output with color [Issue #751] if str.include?("\e[") super "#{str}\e[0m", width elsif str.start_with?('#<') || str == '=' || str == '>' super highlight_object_literal(str), width else super CodeRay.scan(str, :ruby).term, width end end |