rdoc 8.0.0 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +1 -3
- data/RI.md +75 -75
- data/exe/rdoc +2 -2
- data/lib/rdoc/code_object/alias.rb +71 -69
- data/lib/rdoc/code_object/any_method.rb +305 -303
- data/lib/rdoc/code_object/attr.rb +150 -148
- data/lib/rdoc/code_object/class_module.rb +798 -792
- data/lib/rdoc/code_object/constant.rb +175 -173
- data/lib/rdoc/code_object/context/section.rb +142 -138
- data/lib/rdoc/code_object/context.rb +926 -958
- data/lib/rdoc/code_object/extend.rb +7 -5
- data/lib/rdoc/code_object/include.rb +7 -5
- data/lib/rdoc/code_object/method_attr.rb +326 -319
- data/lib/rdoc/code_object/mixin.rb +97 -95
- data/lib/rdoc/code_object/normal_class.rb +77 -78
- data/lib/rdoc/code_object/normal_module.rb +61 -59
- data/lib/rdoc/code_object/require.rb +23 -39
- data/lib/rdoc/code_object/single_class.rb +21 -19
- data/lib/rdoc/code_object/top_level.rb +212 -219
- data/lib/rdoc/code_object.rb +305 -303
- data/lib/rdoc/comment.rb +275 -273
- data/lib/rdoc/cross_reference.rb +192 -190
- data/lib/rdoc/encoding.rb +105 -103
- data/lib/rdoc/erb_partial.rb +13 -11
- data/lib/rdoc/erbio.rb +29 -27
- data/lib/rdoc/generator/aliki.rb +161 -153
- data/lib/rdoc/generator/darkfish.rb +645 -635
- data/lib/rdoc/generator/json_index.rb +233 -229
- data/lib/rdoc/generator/markup.rb +164 -146
- data/lib/rdoc/generator/pot/message_extractor.rb +57 -51
- data/lib/rdoc/generator/pot/po.rb +52 -51
- data/lib/rdoc/generator/pot/po_entry.rb +138 -132
- data/lib/rdoc/generator/pot.rb +85 -81
- data/lib/rdoc/generator/ri.rb +23 -19
- data/lib/rdoc/generator/template/aliki/DESIGN.md +6 -4
- data/lib/rdoc/generator/template/aliki/_footer.rhtml +1 -1
- data/lib/rdoc/generator/template/aliki/_head.rhtml +10 -10
- data/lib/rdoc/generator/template/aliki/_header.rhtml +29 -44
- data/lib/rdoc/generator/template/aliki/_sidebar_search.rhtml +4 -4
- data/lib/rdoc/generator/template/aliki/css/rdoc.css +207 -178
- data/lib/rdoc/generator/template/aliki/js/aliki.js +60 -84
- data/lib/rdoc/generator/template/darkfish/_footer.rhtml +1 -1
- data/lib/rdoc/generator.rb +48 -46
- data/lib/rdoc/i18n/locale.rb +99 -95
- data/lib/rdoc/i18n/text.rb +109 -105
- data/lib/rdoc/i18n.rb +7 -5
- data/lib/rdoc/markdown/byte_runtime.rb +80 -0
- data/lib/rdoc/markdown.kpeg +15 -11
- data/lib/rdoc/markdown.rb +40 -47
- data/lib/rdoc/markup/block_quote.rb +12 -8
- data/lib/rdoc/markup/document.rb +127 -123
- data/lib/rdoc/markup/formatter.rb +219 -215
- data/lib/rdoc/markup/include.rb +33 -29
- data/lib/rdoc/markup/indented_paragraph.rb +37 -33
- data/lib/rdoc/markup/inline_parser.rb +281 -277
- data/lib/rdoc/markup/list.rb +80 -88
- data/lib/rdoc/markup/list_item.rb +73 -85
- data/lib/rdoc/markup/paragraph.rb +23 -19
- data/lib/rdoc/markup/parser.rb +501 -497
- data/lib/rdoc/markup/pre_process.rb +283 -279
- data/lib/rdoc/markup/raw.rb +2 -2
- data/lib/rdoc/markup/rule.rb +16 -12
- data/lib/rdoc/markup/to_ansi.rb +143 -139
- data/lib/rdoc/markup/to_bs.rb +72 -68
- data/lib/rdoc/markup/to_html.rb +594 -565
- data/lib/rdoc/markup/to_html_crossref.rb +234 -230
- data/lib/rdoc/markup/to_html_snippet.rb +232 -227
- data/lib/rdoc/markup/to_joined_paragraph.rb +36 -32
- data/lib/rdoc/markup/to_label.rb +63 -59
- data/lib/rdoc/markup/to_markdown.rb +212 -208
- data/lib/rdoc/markup/to_rdoc.rb +336 -332
- data/lib/rdoc/markup/to_table_of_contents.rb +66 -62
- data/lib/rdoc/markup/to_test.rb +60 -56
- data/lib/rdoc/markup/to_tt_only.rb +84 -80
- data/lib/rdoc/markup/verbatim.rb +62 -58
- data/lib/rdoc/markup.rb +198 -196
- data/lib/rdoc/options.rb +1063 -1061
- data/lib/rdoc/parser/c.rb +1039 -1037
- data/lib/rdoc/parser/changelog.rb +319 -315
- data/lib/rdoc/parser/markdown.rb +17 -13
- data/lib/rdoc/parser/rbs.rb +239 -235
- data/lib/rdoc/parser/rd.rb +17 -13
- data/lib/rdoc/parser/ruby.rb +1245 -1124
- data/lib/rdoc/parser/ruby_colorizer.rb +263 -213
- data/lib/rdoc/parser/simple.rb +31 -27
- data/lib/rdoc/parser/text.rb +12 -8
- data/lib/rdoc/parser.rb +228 -220
- data/lib/rdoc/rbs_helper.rb +1 -1
- data/lib/rdoc/rd/inline.rb +57 -53
- data/lib/rdoc/rd.rb +90 -88
- data/lib/rdoc/rdoc.rb +500 -491
- data/lib/rdoc/ri/driver.rb +1140 -1135
- data/lib/rdoc/ri/formatter.rb +7 -3
- data/lib/rdoc/ri/paths.rb +140 -136
- data/lib/rdoc/ri/servlet.rb +354 -350
- data/lib/rdoc/ri/store.rb +4 -2
- data/lib/rdoc/ri/task.rb +55 -51
- data/lib/rdoc/ri.rb +14 -12
- data/lib/rdoc/rubygems_hook.rb +183 -181
- data/lib/rdoc/server.rb +349 -347
- data/lib/rdoc/stats/normal.rb +46 -42
- data/lib/rdoc/stats/quiet.rb +39 -35
- data/lib/rdoc/stats/verbose.rb +35 -31
- data/lib/rdoc/stats.rb +365 -363
- data/lib/rdoc/store.rb +888 -902
- data/lib/rdoc/task.rb +260 -256
- data/lib/rdoc/text.rb +135 -133
- data/lib/rdoc/token_stream.rb +101 -93
- data/lib/rdoc/tom_doc.rb +203 -201
- data/lib/rdoc/version.rb +1 -1
- metadata +4 -5
- data/lib/rdoc/markdown/literals.kpeg +0 -21
- data/lib/rdoc/markdown/literals.rb +0 -454
data/lib/rdoc/ri/formatter.rb
CHANGED
data/lib/rdoc/ri/paths.rb
CHANGED
|
@@ -1,171 +1,175 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
require_relative '../rdoc'
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
module RDoc
|
|
5
|
+
module RI
|
|
6
|
+
##
|
|
7
|
+
# The directories where ri data lives. Paths can be enumerated via ::each, or
|
|
8
|
+
# queried individually via ::system_dir, ::site_dir, ::home_dir and ::gem_dir.
|
|
9
|
+
|
|
10
|
+
module Paths
|
|
11
|
+
|
|
12
|
+
#:stopdoc:
|
|
13
|
+
require 'rbconfig'
|
|
14
|
+
|
|
15
|
+
version = RbConfig::CONFIG['ruby_version']
|
|
16
|
+
|
|
17
|
+
BASE = File.join RbConfig::CONFIG['ridir'], version
|
|
18
|
+
|
|
19
|
+
HOMEDIR = ::RDoc.home
|
|
20
|
+
#:startdoc:
|
|
21
|
+
|
|
22
|
+
##
|
|
23
|
+
# Iterates over each selected path yielding the directory and type.
|
|
24
|
+
#
|
|
25
|
+
# Yielded types:
|
|
26
|
+
# :system:: Where Ruby's ri data is stored. Yielded when +system+ is
|
|
27
|
+
# true
|
|
28
|
+
# :site:: Where ri for installed libraries are stored. Yielded when
|
|
29
|
+
# +site+ is true. Normally no ri data is stored here.
|
|
30
|
+
# :home:: ~/.rdoc. Yielded when +home+ is true.
|
|
31
|
+
# :gem:: ri data for an installed gem. Yielded when +gems+ is true.
|
|
32
|
+
# :extra:: ri data directory from the command line. Yielded for each
|
|
33
|
+
# entry in +extra_dirs+
|
|
34
|
+
|
|
35
|
+
def self.each(system = true, site = true, home = true, gems = :latest, *extra_dirs) # :yields: directory, type
|
|
36
|
+
return enum_for __method__, system, site, home, gems, *extra_dirs unless
|
|
37
|
+
block_given?
|
|
38
|
+
|
|
39
|
+
extra_dirs.each do |dir|
|
|
40
|
+
yield dir, :extra
|
|
41
|
+
end
|
|
14
42
|
|
|
15
|
-
|
|
43
|
+
yield system_dir, :system if system
|
|
44
|
+
yield site_dir, :site if site
|
|
45
|
+
yield home_dir, :home if home and HOMEDIR
|
|
16
46
|
|
|
17
|
-
|
|
18
|
-
|
|
47
|
+
gemdirs(gems).each do |dir|
|
|
48
|
+
yield dir, :gem
|
|
49
|
+
end if gems
|
|
19
50
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
#
|
|
23
|
-
# Yielded types:
|
|
24
|
-
# :system:: Where Ruby's ri data is stored. Yielded when +system+ is
|
|
25
|
-
# true
|
|
26
|
-
# :site:: Where ri for installed libraries are stored. Yielded when
|
|
27
|
-
# +site+ is true. Normally no ri data is stored here.
|
|
28
|
-
# :home:: ~/.rdoc. Yielded when +home+ is true.
|
|
29
|
-
# :gem:: ri data for an installed gem. Yielded when +gems+ is true.
|
|
30
|
-
# :extra:: ri data directory from the command line. Yielded for each
|
|
31
|
-
# entry in +extra_dirs+
|
|
51
|
+
nil
|
|
52
|
+
end
|
|
32
53
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
block_given?
|
|
54
|
+
##
|
|
55
|
+
# The ri directory for the gem with +gem_name+.
|
|
36
56
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
end
|
|
57
|
+
def self.gem_dir(name, version)
|
|
58
|
+
req = Gem::Requirement.new "= #{version}"
|
|
40
59
|
|
|
41
|
-
|
|
42
|
-
yield site_dir, :site if site
|
|
43
|
-
yield home_dir, :home if home and HOMEDIR
|
|
60
|
+
spec = Gem::Specification.find_by_name name, req
|
|
44
61
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
end if gems
|
|
62
|
+
File.join spec.doc_dir, 'ri'
|
|
63
|
+
end
|
|
48
64
|
|
|
49
|
-
|
|
50
|
-
|
|
65
|
+
##
|
|
66
|
+
# The latest installed gems' ri directories. +filter+ can be :all or
|
|
67
|
+
# :latest.
|
|
68
|
+
#
|
|
69
|
+
# A +filter+ :all includes all versions of gems and includes gems without
|
|
70
|
+
# ri documentation.
|
|
51
71
|
|
|
52
|
-
|
|
53
|
-
|
|
72
|
+
def self.gemdirs(filter = :latest)
|
|
73
|
+
ri_paths = {}
|
|
54
74
|
|
|
55
|
-
|
|
56
|
-
|
|
75
|
+
all = Gem::Specification.map do |spec|
|
|
76
|
+
[File.join(spec.doc_dir, 'ri'), spec.name, spec.version]
|
|
77
|
+
end
|
|
57
78
|
|
|
58
|
-
|
|
79
|
+
if filter == :all
|
|
80
|
+
gemdirs = []
|
|
81
|
+
|
|
82
|
+
all.group_by do |_, name, _|
|
|
83
|
+
name
|
|
84
|
+
end.sort_by do |group, _|
|
|
85
|
+
group
|
|
86
|
+
end.map do |group, items|
|
|
87
|
+
items.sort_by do |_, _, version|
|
|
88
|
+
version
|
|
89
|
+
end.reverse_each do |dir,|
|
|
90
|
+
gemdirs << dir
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
return gemdirs
|
|
95
|
+
end
|
|
59
96
|
|
|
60
|
-
|
|
61
|
-
|
|
97
|
+
all.each do |dir, name, ver|
|
|
98
|
+
next unless File.exist? dir
|
|
62
99
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
# A +filter+ :all includes all versions of gems and includes gems without
|
|
68
|
-
# ri documentation.
|
|
100
|
+
if ri_paths[name].nil? or ver > ri_paths[name].first
|
|
101
|
+
ri_paths[name] = [ver, name, dir]
|
|
102
|
+
end
|
|
103
|
+
end
|
|
69
104
|
|
|
70
|
-
|
|
71
|
-
|
|
105
|
+
ri_paths.sort_by { |_, (_, name, _)| name }.map { |k, v| v.last }
|
|
106
|
+
rescue LoadError
|
|
107
|
+
[]
|
|
108
|
+
end
|
|
72
109
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
110
|
+
##
|
|
111
|
+
# The location of the rdoc data in the user's home directory.
|
|
112
|
+
#
|
|
113
|
+
# Like ::system, ri data in the user's home directory is rare and predates
|
|
114
|
+
# libraries distributed via RubyGems. ri data is rarely generated into this
|
|
115
|
+
# directory.
|
|
76
116
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
all.group_by do |_, name, _|
|
|
81
|
-
name
|
|
82
|
-
end.sort_by do |group, _|
|
|
83
|
-
group
|
|
84
|
-
end.map do |group, items|
|
|
85
|
-
items.sort_by do |_, _, version|
|
|
86
|
-
version
|
|
87
|
-
end.reverse_each do |dir,|
|
|
88
|
-
gemdirs << dir
|
|
89
|
-
end
|
|
117
|
+
def self.home_dir
|
|
118
|
+
HOMEDIR
|
|
90
119
|
end
|
|
91
120
|
|
|
92
|
-
|
|
93
|
-
|
|
121
|
+
##
|
|
122
|
+
# Returns existing directories from the selected documentation directories
|
|
123
|
+
# as an Array.
|
|
124
|
+
#
|
|
125
|
+
# See also ::each
|
|
94
126
|
|
|
95
|
-
|
|
96
|
-
|
|
127
|
+
def self.path(system = true, site = true, home = true, gems = :latest, *extra_dirs)
|
|
128
|
+
path = raw_path system, site, home, gems, *extra_dirs
|
|
97
129
|
|
|
98
|
-
|
|
99
|
-
ri_paths[name] = [ver, name, dir]
|
|
130
|
+
path.select { |directory| File.directory? directory }
|
|
100
131
|
end
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
ri_paths.sort_by { |_, (_, name, _)| name }.map { |k, v| v.last }
|
|
104
|
-
rescue LoadError
|
|
105
|
-
[]
|
|
106
|
-
end
|
|
107
132
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
# directory.
|
|
133
|
+
##
|
|
134
|
+
# Returns selected documentation directories including nonexistent
|
|
135
|
+
# directories.
|
|
136
|
+
#
|
|
137
|
+
# See also ::each
|
|
114
138
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
end
|
|
139
|
+
def self.raw_path(system, site, home, gems, *extra_dirs)
|
|
140
|
+
path = []
|
|
118
141
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
#
|
|
123
|
-
# See also ::each
|
|
142
|
+
each(system, site, home, gems, *extra_dirs) do |dir, type|
|
|
143
|
+
path << dir
|
|
144
|
+
end
|
|
124
145
|
|
|
125
|
-
|
|
126
|
-
|
|
146
|
+
path.compact
|
|
147
|
+
end
|
|
127
148
|
|
|
128
|
-
|
|
129
|
-
|
|
149
|
+
##
|
|
150
|
+
# The location of ri data installed into the site dir.
|
|
151
|
+
#
|
|
152
|
+
# Historically this was available for documentation installed by Ruby
|
|
153
|
+
# libraries predating RubyGems. It is unlikely to contain any content for
|
|
154
|
+
# modern Ruby installations.
|
|
130
155
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
#
|
|
135
|
-
# See also ::each
|
|
156
|
+
def self.site_dir
|
|
157
|
+
File.join BASE, 'site'
|
|
158
|
+
end
|
|
136
159
|
|
|
137
|
-
|
|
138
|
-
|
|
160
|
+
##
|
|
161
|
+
# The location of the built-in ri data.
|
|
162
|
+
#
|
|
163
|
+
# This data is built automatically when `make` is run when Ruby is
|
|
164
|
+
# installed. If you did not install Ruby by hand you may need to install
|
|
165
|
+
# the documentation yourself. Please consult the documentation for your
|
|
166
|
+
# package manager or Ruby installer for details. You can also use the
|
|
167
|
+
# rdoc-data gem to install system ri data for common versions of Ruby.
|
|
168
|
+
|
|
169
|
+
def self.system_dir
|
|
170
|
+
File.join BASE, 'system'
|
|
171
|
+
end
|
|
139
172
|
|
|
140
|
-
each(system, site, home, gems, *extra_dirs) do |dir, type|
|
|
141
|
-
path << dir
|
|
142
173
|
end
|
|
143
|
-
|
|
144
|
-
path.compact
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
##
|
|
148
|
-
# The location of ri data installed into the site dir.
|
|
149
|
-
#
|
|
150
|
-
# Historically this was available for documentation installed by Ruby
|
|
151
|
-
# libraries predating RubyGems. It is unlikely to contain any content for
|
|
152
|
-
# modern Ruby installations.
|
|
153
|
-
|
|
154
|
-
def self.site_dir
|
|
155
|
-
File.join BASE, 'site'
|
|
156
|
-
end
|
|
157
|
-
|
|
158
|
-
##
|
|
159
|
-
# The location of the built-in ri data.
|
|
160
|
-
#
|
|
161
|
-
# This data is built automatically when `make` is run when Ruby is
|
|
162
|
-
# installed. If you did not install Ruby by hand you may need to install
|
|
163
|
-
# the documentation yourself. Please consult the documentation for your
|
|
164
|
-
# package manager or Ruby installer for details. You can also use the
|
|
165
|
-
# rdoc-data gem to install system ri data for common versions of Ruby.
|
|
166
|
-
|
|
167
|
-
def self.system_dir
|
|
168
|
-
File.join BASE, 'system'
|
|
169
174
|
end
|
|
170
|
-
|
|
171
175
|
end
|