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.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +1 -3
  3. data/RI.md +75 -75
  4. data/exe/rdoc +2 -2
  5. data/lib/rdoc/code_object/alias.rb +71 -69
  6. data/lib/rdoc/code_object/any_method.rb +305 -303
  7. data/lib/rdoc/code_object/attr.rb +150 -148
  8. data/lib/rdoc/code_object/class_module.rb +798 -792
  9. data/lib/rdoc/code_object/constant.rb +175 -173
  10. data/lib/rdoc/code_object/context/section.rb +142 -138
  11. data/lib/rdoc/code_object/context.rb +926 -958
  12. data/lib/rdoc/code_object/extend.rb +7 -5
  13. data/lib/rdoc/code_object/include.rb +7 -5
  14. data/lib/rdoc/code_object/method_attr.rb +326 -319
  15. data/lib/rdoc/code_object/mixin.rb +97 -95
  16. data/lib/rdoc/code_object/normal_class.rb +77 -78
  17. data/lib/rdoc/code_object/normal_module.rb +61 -59
  18. data/lib/rdoc/code_object/require.rb +23 -39
  19. data/lib/rdoc/code_object/single_class.rb +21 -19
  20. data/lib/rdoc/code_object/top_level.rb +212 -219
  21. data/lib/rdoc/code_object.rb +305 -303
  22. data/lib/rdoc/comment.rb +275 -273
  23. data/lib/rdoc/cross_reference.rb +192 -190
  24. data/lib/rdoc/encoding.rb +105 -103
  25. data/lib/rdoc/erb_partial.rb +13 -11
  26. data/lib/rdoc/erbio.rb +29 -27
  27. data/lib/rdoc/generator/aliki.rb +161 -153
  28. data/lib/rdoc/generator/darkfish.rb +645 -635
  29. data/lib/rdoc/generator/json_index.rb +233 -229
  30. data/lib/rdoc/generator/markup.rb +164 -146
  31. data/lib/rdoc/generator/pot/message_extractor.rb +57 -51
  32. data/lib/rdoc/generator/pot/po.rb +52 -51
  33. data/lib/rdoc/generator/pot/po_entry.rb +138 -132
  34. data/lib/rdoc/generator/pot.rb +85 -81
  35. data/lib/rdoc/generator/ri.rb +23 -19
  36. data/lib/rdoc/generator/template/aliki/DESIGN.md +6 -4
  37. data/lib/rdoc/generator/template/aliki/_footer.rhtml +1 -1
  38. data/lib/rdoc/generator/template/aliki/_head.rhtml +10 -10
  39. data/lib/rdoc/generator/template/aliki/_header.rhtml +29 -44
  40. data/lib/rdoc/generator/template/aliki/_sidebar_search.rhtml +4 -4
  41. data/lib/rdoc/generator/template/aliki/css/rdoc.css +207 -178
  42. data/lib/rdoc/generator/template/aliki/js/aliki.js +60 -84
  43. data/lib/rdoc/generator/template/darkfish/_footer.rhtml +1 -1
  44. data/lib/rdoc/generator.rb +48 -46
  45. data/lib/rdoc/i18n/locale.rb +99 -95
  46. data/lib/rdoc/i18n/text.rb +109 -105
  47. data/lib/rdoc/i18n.rb +7 -5
  48. data/lib/rdoc/markdown/byte_runtime.rb +80 -0
  49. data/lib/rdoc/markdown.kpeg +15 -11
  50. data/lib/rdoc/markdown.rb +40 -47
  51. data/lib/rdoc/markup/block_quote.rb +12 -8
  52. data/lib/rdoc/markup/document.rb +127 -123
  53. data/lib/rdoc/markup/formatter.rb +219 -215
  54. data/lib/rdoc/markup/include.rb +33 -29
  55. data/lib/rdoc/markup/indented_paragraph.rb +37 -33
  56. data/lib/rdoc/markup/inline_parser.rb +281 -277
  57. data/lib/rdoc/markup/list.rb +80 -88
  58. data/lib/rdoc/markup/list_item.rb +73 -85
  59. data/lib/rdoc/markup/paragraph.rb +23 -19
  60. data/lib/rdoc/markup/parser.rb +501 -497
  61. data/lib/rdoc/markup/pre_process.rb +283 -279
  62. data/lib/rdoc/markup/raw.rb +2 -2
  63. data/lib/rdoc/markup/rule.rb +16 -12
  64. data/lib/rdoc/markup/to_ansi.rb +143 -139
  65. data/lib/rdoc/markup/to_bs.rb +72 -68
  66. data/lib/rdoc/markup/to_html.rb +594 -565
  67. data/lib/rdoc/markup/to_html_crossref.rb +234 -230
  68. data/lib/rdoc/markup/to_html_snippet.rb +232 -227
  69. data/lib/rdoc/markup/to_joined_paragraph.rb +36 -32
  70. data/lib/rdoc/markup/to_label.rb +63 -59
  71. data/lib/rdoc/markup/to_markdown.rb +212 -208
  72. data/lib/rdoc/markup/to_rdoc.rb +336 -332
  73. data/lib/rdoc/markup/to_table_of_contents.rb +66 -62
  74. data/lib/rdoc/markup/to_test.rb +60 -56
  75. data/lib/rdoc/markup/to_tt_only.rb +84 -80
  76. data/lib/rdoc/markup/verbatim.rb +62 -58
  77. data/lib/rdoc/markup.rb +198 -196
  78. data/lib/rdoc/options.rb +1063 -1061
  79. data/lib/rdoc/parser/c.rb +1039 -1037
  80. data/lib/rdoc/parser/changelog.rb +319 -315
  81. data/lib/rdoc/parser/markdown.rb +17 -13
  82. data/lib/rdoc/parser/rbs.rb +239 -235
  83. data/lib/rdoc/parser/rd.rb +17 -13
  84. data/lib/rdoc/parser/ruby.rb +1245 -1124
  85. data/lib/rdoc/parser/ruby_colorizer.rb +263 -213
  86. data/lib/rdoc/parser/simple.rb +31 -27
  87. data/lib/rdoc/parser/text.rb +12 -8
  88. data/lib/rdoc/parser.rb +228 -220
  89. data/lib/rdoc/rbs_helper.rb +1 -1
  90. data/lib/rdoc/rd/inline.rb +57 -53
  91. data/lib/rdoc/rd.rb +90 -88
  92. data/lib/rdoc/rdoc.rb +500 -491
  93. data/lib/rdoc/ri/driver.rb +1140 -1135
  94. data/lib/rdoc/ri/formatter.rb +7 -3
  95. data/lib/rdoc/ri/paths.rb +140 -136
  96. data/lib/rdoc/ri/servlet.rb +354 -350
  97. data/lib/rdoc/ri/store.rb +4 -2
  98. data/lib/rdoc/ri/task.rb +55 -51
  99. data/lib/rdoc/ri.rb +14 -12
  100. data/lib/rdoc/rubygems_hook.rb +183 -181
  101. data/lib/rdoc/server.rb +349 -347
  102. data/lib/rdoc/stats/normal.rb +46 -42
  103. data/lib/rdoc/stats/quiet.rb +39 -35
  104. data/lib/rdoc/stats/verbose.rb +35 -31
  105. data/lib/rdoc/stats.rb +365 -363
  106. data/lib/rdoc/store.rb +888 -902
  107. data/lib/rdoc/task.rb +260 -256
  108. data/lib/rdoc/text.rb +135 -133
  109. data/lib/rdoc/token_stream.rb +101 -93
  110. data/lib/rdoc/tom_doc.rb +203 -201
  111. data/lib/rdoc/version.rb +1 -1
  112. metadata +4 -5
  113. data/lib/rdoc/markdown/literals.kpeg +0 -21
  114. data/lib/rdoc/markdown/literals.rb +0 -454
@@ -1,6 +1,10 @@
1
1
  # frozen_string_literal: true
2
- ##
3
- # For RubyGems backwards compatibility
2
+ module RDoc
3
+ module RI
4
+ ##
5
+ # For RubyGems backwards compatibility
4
6
 
5
- module RDoc::RI::Formatter # :nodoc:
7
+ module Formatter # :nodoc:
8
+ end
9
+ end
6
10
  end
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
- # The directories where ri data lives. Paths can be enumerated via ::each, or
6
- # queried individually via ::system_dir, ::site_dir, ::home_dir and ::gem_dir.
7
-
8
- module RDoc::RI::Paths
9
-
10
- #:stopdoc:
11
- require 'rbconfig'
12
-
13
- version = RbConfig::CONFIG['ruby_version']
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
- BASE = File.join RbConfig::CONFIG['ridir'], version
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
- HOMEDIR = RDoc.home
18
- #:startdoc:
47
+ gemdirs(gems).each do |dir|
48
+ yield dir, :gem
49
+ end if gems
19
50
 
20
- ##
21
- # Iterates over each selected path yielding the directory and type.
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
- def self.each(system = true, site = true, home = true, gems = :latest, *extra_dirs) # :yields: directory, type
34
- return enum_for __method__, system, site, home, gems, *extra_dirs unless
35
- block_given?
54
+ ##
55
+ # The ri directory for the gem with +gem_name+.
36
56
 
37
- extra_dirs.each do |dir|
38
- yield dir, :extra
39
- end
57
+ def self.gem_dir(name, version)
58
+ req = Gem::Requirement.new "= #{version}"
40
59
 
41
- yield system_dir, :system if system
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
- gemdirs(gems).each do |dir|
46
- yield dir, :gem
47
- end if gems
62
+ File.join spec.doc_dir, 'ri'
63
+ end
48
64
 
49
- nil
50
- end
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
- # The ri directory for the gem with +gem_name+.
72
+ def self.gemdirs(filter = :latest)
73
+ ri_paths = {}
54
74
 
55
- def self.gem_dir(name, version)
56
- req = Gem::Requirement.new "= #{version}"
75
+ all = Gem::Specification.map do |spec|
76
+ [File.join(spec.doc_dir, 'ri'), spec.name, spec.version]
77
+ end
57
78
 
58
- spec = Gem::Specification.find_by_name name, req
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
- File.join spec.doc_dir, 'ri'
61
- end
97
+ all.each do |dir, name, ver|
98
+ next unless File.exist? dir
62
99
 
63
- ##
64
- # The latest installed gems' ri directories. +filter+ can be :all or
65
- # :latest.
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
- def self.gemdirs(filter = :latest)
71
- ri_paths = {}
105
+ ri_paths.sort_by { |_, (_, name, _)| name }.map { |k, v| v.last }
106
+ rescue LoadError
107
+ []
108
+ end
72
109
 
73
- all = Gem::Specification.map do |spec|
74
- [File.join(spec.doc_dir, 'ri'), spec.name, spec.version]
75
- end
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
- if filter == :all then
78
- gemdirs = []
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
- return gemdirs
93
- end
121
+ ##
122
+ # Returns existing directories from the selected documentation directories
123
+ # as an Array.
124
+ #
125
+ # See also ::each
94
126
 
95
- all.each do |dir, name, ver|
96
- next unless File.exist? dir
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
- if ri_paths[name].nil? or ver > ri_paths[name].first then
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
- # The location of the rdoc data in the user's home directory.
110
- #
111
- # Like ::system, ri data in the user's home directory is rare and predates
112
- # libraries distributed via RubyGems. ri data is rarely generated into this
113
- # directory.
133
+ ##
134
+ # Returns selected documentation directories including nonexistent
135
+ # directories.
136
+ #
137
+ # See also ::each
114
138
 
115
- def self.home_dir
116
- HOMEDIR
117
- end
139
+ def self.raw_path(system, site, home, gems, *extra_dirs)
140
+ path = []
118
141
 
119
- ##
120
- # Returns existing directories from the selected documentation directories
121
- # as an Array.
122
- #
123
- # See also ::each
142
+ each(system, site, home, gems, *extra_dirs) do |dir, type|
143
+ path << dir
144
+ end
124
145
 
125
- def self.path(system = true, site = true, home = true, gems = :latest, *extra_dirs)
126
- path = raw_path system, site, home, gems, *extra_dirs
146
+ path.compact
147
+ end
127
148
 
128
- path.select { |directory| File.directory? directory }
129
- end
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
- # Returns selected documentation directories including nonexistent
133
- # directories.
134
- #
135
- # See also ::each
156
+ def self.site_dir
157
+ File.join BASE, 'site'
158
+ end
136
159
 
137
- def self.raw_path(system, site, home, gems, *extra_dirs)
138
- path = []
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