ihelp 0.4.4 → 0.4.5
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/ihelp.rb +20 -17
- metadata +2 -2
data/lib/ihelp.rb
CHANGED
@@ -4,6 +4,7 @@ begin
|
|
4
4
|
if $ihelp_full_text_search != false
|
5
5
|
require 'rubygems'
|
6
6
|
require 'ferret'
|
7
|
+
require 'stringio'
|
7
8
|
require 'fileutils'
|
8
9
|
$ihelp_full_text_search = true
|
9
10
|
end
|
@@ -97,6 +98,11 @@ end
|
|
97
98
|
#
|
98
99
|
# Changelog:
|
99
100
|
#
|
101
|
+
# 0.4.5
|
102
|
+
# Use RI environment variable to pass config to ri (thanks to Parragh Szabolcs.)
|
103
|
+
# Bugfix for missing stringio (thanks to Marcel M. Cary.)
|
104
|
+
# Show first thousand hits instead of a mere ten.
|
105
|
+
#
|
100
106
|
# 0.4.0
|
101
107
|
# Full-text documentation search using Ferret.
|
102
108
|
#
|
@@ -110,7 +116,7 @@ end
|
|
110
116
|
# Author: Ilmari Heikkinen <kig misfiring net>
|
111
117
|
#
|
112
118
|
module IHelp
|
113
|
-
HELP_VERSION = "0.4.
|
119
|
+
HELP_VERSION = "0.4.5"
|
114
120
|
end
|
115
121
|
|
116
122
|
|
@@ -471,7 +477,8 @@ module IHelp
|
|
471
477
|
info_str = ri_driver.get_info_str(anc.name, meth_str, instance)
|
472
478
|
}
|
473
479
|
# Avoid returning Object in case of no help.
|
474
|
-
if ancest == Object and meth_str.nil? and klass_name != Object
|
480
|
+
if ((ancest == Object and meth_str.nil? and klass_name != 'Object') or
|
481
|
+
(ancest == IHelp and meth_str.nil? and klass_name != 'IHelp'))
|
475
482
|
info_str = nil
|
476
483
|
end
|
477
484
|
end
|
@@ -490,7 +497,7 @@ module IHelp
|
|
490
497
|
# Create new IHelpDriver, with the given args
|
491
498
|
# passed to @options, which is a RI::Options.instance
|
492
499
|
#
|
493
|
-
def initialize(args = [])
|
500
|
+
def initialize(args = (ENV["RI"] || "").split)
|
494
501
|
@options = RI::Options.instance
|
495
502
|
@options.parse(args)
|
496
503
|
|
@@ -558,15 +565,11 @@ module IHelp
|
|
558
565
|
# Get info for the method in the given methods.
|
559
566
|
#
|
560
567
|
def get_method_info_str(requested_method_name, methods)
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
method = nil
|
567
|
-
entries.find{|entry| method = @ri_reader.get_method(entry)}
|
568
|
-
method
|
569
|
-
end
|
568
|
+
entries = methods.find_all {|m| m.name == requested_method_name}
|
569
|
+
return nil if entries.empty?
|
570
|
+
method = nil
|
571
|
+
entries.find{|entry| method = @ri_reader.get_method(entry)}
|
572
|
+
method
|
570
573
|
end
|
571
574
|
|
572
575
|
end
|
@@ -738,7 +741,7 @@ module IHelp
|
|
738
741
|
|
739
742
|
def display
|
740
743
|
return @display if @display
|
741
|
-
@display =
|
744
|
+
@display = IHelp.ri_driver.display
|
742
745
|
if ENV["PAGER"].to_s.size > 0
|
743
746
|
unless ENV["PAGER"] =~ /(^|\/)less\b.* -[a-zA-Z]*[rR]/
|
744
747
|
IHelp.no_colors = true
|
@@ -778,8 +781,8 @@ module IHelp
|
|
778
781
|
#
|
779
782
|
# See Ferret::QueryParser for query string format.
|
780
783
|
#
|
781
|
-
def search(query
|
782
|
-
result = @index.search(query,
|
784
|
+
def search(query)
|
785
|
+
result = @index.search(query, :limit => 1000)
|
783
786
|
init_display
|
784
787
|
if IHelp.no_colors or `which less`.strip.empty?
|
785
788
|
pre_tag = "<<"
|
@@ -792,7 +795,7 @@ module IHelp
|
|
792
795
|
end
|
793
796
|
page do
|
794
797
|
puts
|
795
|
-
puts "=== #{result.total_hits} hits#{", showing first
|
798
|
+
puts "=== #{result.total_hits} hits#{", showing first 1000" if result.total_hits > 1000} ".ljust(72,"=")
|
796
799
|
puts
|
797
800
|
result.hits.each_with_index do |hit, i|
|
798
801
|
id, score = hit.doc, hit.score
|
@@ -1009,7 +1012,7 @@ if __FILE__ == $0
|
|
1009
1012
|
}
|
1010
1013
|
IHelp.instance_variable_set(
|
1011
1014
|
:@ri_driver,
|
1012
|
-
IHelp::IHelpDriver.new(
|
1015
|
+
IHelp::IHelpDriver.new([]))
|
1013
1016
|
end
|
1014
1017
|
|
1015
1018
|
def test_simple_help
|
metadata
CHANGED