Bug 517692 - RI can't find Array#new docs
Adjust to new rdoc api.
Change-Id: I62eac3ca03518b63b1d640e9a28c5c3a3c86b676
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/plugins/org.eclipse.dltk.ruby.ui/support/dltkri.rb b/plugins/org.eclipse.dltk.ruby.ui/support/dltkri.rb
index 340568f..f492d5c 100644
--- a/plugins/org.eclipse.dltk.ruby.ui/support/dltkri.rb
+++ b/plugins/org.eclipse.dltk.ruby.ui/support/dltkri.rb
@@ -1,9 +1,18 @@
-require 'rdoc/ri/ri_driver'
+require 'rdoc'
-ENV["RI"] = "-f html -T"
+class DLTKRi < RDoc::RI::Driver
+ def display_name name
+ out = RDoc::Markup::Document.new
+
+ add_method out, name
+
+ puts (out.accept formatter(RDoc::Markup::ToAnsi.new))
+ end
+end
endMarker = "DLTKDOCEND"
-ri = RiDriver.new
+ri = DLTKRi.new(RDoc::RI::Driver.process_args(%w[-T --format=ansi --doc-dir=/usr/share/ri/system/]))
+ri.use_stdout = true
while true do
s = STDIN.gets
@@ -12,10 +21,10 @@
end
s = s.chop!
begin
- ri.get_info_for(s)
+ ri.display_name(s)
STDOUT.puts "\n" + endMarker
STDOUT.flush
- rescue RiError => e
+ rescue RDoc::RI::Driver::Error => e
STDOUT.puts "#{e}"
STDOUT.puts "\n" + endMarker
STDOUT.flush