class DEBUGGER__::LimitedPP

def self.pp(obj, max=80)

def self.pp(obj, max=80)
  out = self.new(max)
  catch out do
    PP.singleline_pp(obj, out)
  end
  out.buf
end

def <<(other)

def <<(other)
  @buf << other
  if @buf.size >= @max
    @buf = @buf[0..@max] + '...'
    throw self
  end
end

def initialize max

def initialize max
  @max = max
  @cnt = 0
  @buf = String.new
end