gem-man 0.1.3 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +20 -0
- data/lib/rubygems/commands/man_command.rb +22 -10
- data/man/gem-man.1.ron +20 -0
- metadata +1 -1
data/README.md
CHANGED
@@ -5,6 +5,7 @@ gem-man(1) -- view a gem's man page
|
|
5
5
|
|
6
6
|
gem man <GEM>
|
7
7
|
gem man <SECTION> <GEM>
|
8
|
+
gem man --system <GEM>
|
8
9
|
gem man --latest <GEM>
|
9
10
|
gem man --exact <GEM>
|
10
11
|
gem man --all
|
@@ -52,6 +53,12 @@ man` will ask which you'd prefer.
|
|
52
53
|
|
53
54
|
You can specify gems or list available gems using a few options.
|
54
55
|
|
56
|
+
* `-s`, `--system`:
|
57
|
+
Fall back to searching for system manuals. That is, `gem man -s
|
58
|
+
mac` will first look for a gem named `mac` with a man page before
|
59
|
+
looking for any system man pages named `mac`. `gem man -s fork`
|
60
|
+
should find the fork(2) manual, for instance.
|
61
|
+
|
55
62
|
* `-l`, `--latest`:
|
56
63
|
If there are multiple versions of a gem, open the latest.
|
57
64
|
|
@@ -83,6 +90,19 @@ For information on authoring man pages, see [`ron(7)`][r7]:
|
|
83
90
|
gem install ron
|
84
91
|
gem man 7 ron
|
85
92
|
|
93
|
+
## CHEATING
|
94
|
+
|
95
|
+
If you want `man` to find RubyGems, it's this easy:
|
96
|
+
|
97
|
+
alias man="gem man -s"
|
98
|
+
|
99
|
+
Now:
|
100
|
+
|
101
|
+
man say
|
102
|
+
man rails
|
103
|
+
man 1 ronn
|
104
|
+
man 2 fork
|
105
|
+
|
86
106
|
## BUGS
|
87
107
|
|
88
108
|
Requires the `man(1)` script to be in your path, executable, and to
|
@@ -13,11 +13,21 @@ class Gem::Commands::ManCommand < Gem::Command
|
|
13
13
|
:all => false
|
14
14
|
|
15
15
|
add_all_gems_option
|
16
|
+
add_system_fallback_option
|
16
17
|
add_latest_version_option
|
17
18
|
add_version_option
|
18
19
|
add_exact_match_option
|
19
20
|
end
|
20
21
|
|
22
|
+
def usage
|
23
|
+
"gem man [SECTION] GEMNAME"
|
24
|
+
end
|
25
|
+
|
26
|
+
def arguments
|
27
|
+
"SECTION section of the manual to search\n" +
|
28
|
+
"GEMNAME gem whose manual you wish to read"
|
29
|
+
end
|
30
|
+
|
21
31
|
def add_all_gems_option
|
22
32
|
add_option('-a', '--all',
|
23
33
|
'List all installed gems that have manuals.') do |value, options|
|
@@ -25,8 +35,11 @@ class Gem::Commands::ManCommand < Gem::Command
|
|
25
35
|
end
|
26
36
|
end
|
27
37
|
|
28
|
-
def
|
29
|
-
|
38
|
+
def add_system_fallback_option
|
39
|
+
add_option('-s', '--system',
|
40
|
+
'Falls back to searching for system-wide man pages.') do |value, options|
|
41
|
+
options[:system] = true
|
42
|
+
end
|
30
43
|
end
|
31
44
|
|
32
45
|
def add_latest_version_option
|
@@ -42,11 +55,6 @@ class Gem::Commands::ManCommand < Gem::Command
|
|
42
55
|
end
|
43
56
|
end
|
44
57
|
|
45
|
-
def arguments
|
46
|
-
"SECTION section of the manual to search\n" +
|
47
|
-
"GEMNAME gem whose manual you wish to read"
|
48
|
-
end
|
49
|
-
|
50
58
|
def execute
|
51
59
|
if get_one_optional_argument =~ /^\d$/
|
52
60
|
section = get_one_optional_argument
|
@@ -67,8 +75,13 @@ class Gem::Commands::ManCommand < Gem::Command
|
|
67
75
|
end
|
68
76
|
|
69
77
|
# Try to read manpages.
|
70
|
-
spec = get_spec(name) { |s| s.has_manpage?(section) }
|
71
|
-
|
78
|
+
if spec = get_spec(name) { |s| s.has_manpage?(section) }
|
79
|
+
read_manpage(spec, section)
|
80
|
+
elsif options[:system]
|
81
|
+
exec "man #{section} #{name}"
|
82
|
+
else
|
83
|
+
abort "No manual entry for #{name}"
|
84
|
+
end
|
72
85
|
end
|
73
86
|
end
|
74
87
|
|
@@ -115,7 +128,6 @@ class Gem::Commands::ManCommand < Gem::Command
|
|
115
128
|
pattern = /#{Regexp.escape name}/
|
116
129
|
get_spec(pattern, &block)
|
117
130
|
else
|
118
|
-
say "Can't find any manpages for '#{name.inspect}"
|
119
131
|
nil
|
120
132
|
end
|
121
133
|
elsif specs.length == 1 || options[:latest]
|
data/man/gem-man.1.ron
CHANGED
@@ -5,6 +5,7 @@ gem-man(1) -- view a gem's man page
|
|
5
5
|
|
6
6
|
gem man <GEM>
|
7
7
|
gem man <SECTION> <GEM>
|
8
|
+
gem man --system <GEM>
|
8
9
|
gem man --latest <GEM>
|
9
10
|
gem man --exact <GEM>
|
10
11
|
gem man --all
|
@@ -52,6 +53,12 @@ man` will ask which you'd prefer.
|
|
52
53
|
|
53
54
|
You can specify gems or list available gems using a few options.
|
54
55
|
|
56
|
+
* `-s`, `--system`:
|
57
|
+
Fall back to searching for system manuals. That is, `gem man -s
|
58
|
+
mac` will first look for a gem named `mac` with a man page before
|
59
|
+
looking for any system man pages named `mac`. `gem man -s fork`
|
60
|
+
should find the fork(2) manual, for instance.
|
61
|
+
|
55
62
|
* `-l`, `--latest`:
|
56
63
|
If there are multiple versions of a gem, open the latest.
|
57
64
|
|
@@ -83,6 +90,19 @@ For information on authoring man pages, see [`ron(7)`][r7]:
|
|
83
90
|
gem install ron
|
84
91
|
gem man 7 ron
|
85
92
|
|
93
|
+
## CHEATING
|
94
|
+
|
95
|
+
If you want `man` to find RubyGems, it's this easy:
|
96
|
+
|
97
|
+
alias man="gem man -s"
|
98
|
+
|
99
|
+
Now:
|
100
|
+
|
101
|
+
man say
|
102
|
+
man rails
|
103
|
+
man 1 ronn
|
104
|
+
man 2 fork
|
105
|
+
|
86
106
|
## BUGS
|
87
107
|
|
88
108
|
Requires the `man(1)` script to be in your path, executable, and to
|