def process(spec)
require 'rdoc/ri/driver'
unless defined? RDoc::RI::PryDriver
subclass = Class.new(RDoc::RI::Driver)
subclass.class_eval do
def initialize(pager, opts)
@pager = pager
super opts
end
def page
paging_text = StringIO.new
yield paging_text
@pager.page(paging_text.string)
end
def formatter(io)
if @formatter_klass
@formatter_klass.new
else
RDoc::Markup::ToAnsi.new
end
end
end
RDoc::RI.const_set :PryDriver, subclass
end
ri = RDoc::RI::PryDriver.new _pry_.pager, :use_stdout => true, :interactive => false
begin
ri.display_names [spec]
rescue RDoc::RI::Driver::NotFoundError => e
output.puts "error: '#{e.name}' not found"
end
end