rdoc 5.1.0 → 6.13.1

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 (179) hide show
  1. checksums.yaml +5 -5
  2. data/CONTRIBUTING.rdoc +5 -6
  3. data/ExampleMarkdown.md +2 -0
  4. data/ExampleRDoc.rdoc +2 -0
  5. data/History.rdoc +68 -66
  6. data/LEGAL.rdoc +1 -1
  7. data/LICENSE.rdoc +2 -0
  8. data/README.rdoc +18 -6
  9. data/RI.md +842 -0
  10. data/TODO.rdoc +8 -7
  11. data/exe/rdoc +0 -1
  12. data/lib/rdoc/{alias.rb → code_object/alias.rb} +4 -12
  13. data/lib/rdoc/{anon_class.rb → code_object/anon_class.rb} +1 -2
  14. data/lib/rdoc/{any_method.rb → code_object/any_method.rb} +83 -26
  15. data/lib/rdoc/{attr.rb → code_object/attr.rb} +5 -9
  16. data/lib/rdoc/{class_module.rb → code_object/class_module.rb} +112 -24
  17. data/lib/rdoc/{constant.rb → code_object/constant.rb} +4 -5
  18. data/lib/rdoc/{context → code_object/context}/section.rb +13 -83
  19. data/lib/rdoc/{context.rb → code_object/context.rb} +69 -70
  20. data/lib/rdoc/{extend.rb → code_object/extend.rb} +1 -2
  21. data/lib/rdoc/{ghost_method.rb → code_object/ghost_method.rb} +1 -2
  22. data/lib/rdoc/{include.rb → code_object/include.rb} +1 -2
  23. data/lib/rdoc/{meta_method.rb → code_object/meta_method.rb} +1 -2
  24. data/lib/rdoc/{method_attr.rb → code_object/method_attr.rb} +22 -31
  25. data/lib/rdoc/{mixin.rb → code_object/mixin.rb} +1 -2
  26. data/lib/rdoc/{normal_class.rb → code_object/normal_class.rb} +4 -5
  27. data/lib/rdoc/{normal_module.rb → code_object/normal_module.rb} +2 -3
  28. data/lib/rdoc/{require.rb → code_object/require.rb} +2 -3
  29. data/lib/rdoc/{single_class.rb → code_object/single_class.rb} +6 -2
  30. data/lib/rdoc/{top_level.rb → code_object/top_level.rb} +22 -32
  31. data/lib/rdoc/code_object.rb +8 -41
  32. data/lib/rdoc/code_objects.rb +2 -3
  33. data/lib/rdoc/comment.rb +48 -41
  34. data/lib/rdoc/cross_reference.rb +77 -33
  35. data/lib/rdoc/encoding.rb +50 -38
  36. data/lib/rdoc/erb_partial.rb +2 -3
  37. data/lib/rdoc/erbio.rb +4 -5
  38. data/lib/rdoc/generator/darkfish.rb +178 -125
  39. data/lib/rdoc/generator/json_index.rb +9 -22
  40. data/lib/rdoc/generator/markup.rb +6 -17
  41. data/lib/rdoc/generator/pot/message_extractor.rb +4 -4
  42. data/lib/rdoc/generator/pot/po.rb +3 -3
  43. data/lib/rdoc/generator/pot/po_entry.rb +12 -12
  44. data/lib/rdoc/generator/pot.rb +4 -8
  45. data/lib/rdoc/generator/ri.rb +1 -2
  46. data/lib/rdoc/generator/template/darkfish/_footer.rhtml +2 -2
  47. data/lib/rdoc/generator/template/darkfish/_head.rhtml +35 -12
  48. data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +1 -5
  49. data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +7 -7
  50. data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +7 -7
  51. data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +6 -6
  52. data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +19 -10
  53. data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +26 -6
  54. data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +4 -9
  55. data/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml +1 -1
  56. data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +4 -4
  57. data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +27 -6
  58. data/lib/rdoc/generator/template/darkfish/_sidebar_toggle.rhtml +3 -0
  59. data/lib/rdoc/generator/template/darkfish/class.rhtml +125 -78
  60. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +430 -339
  61. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
  62. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
  63. data/lib/rdoc/generator/template/darkfish/index.rhtml +13 -13
  64. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +51 -92
  65. data/lib/rdoc/generator/template/darkfish/js/search.js +35 -34
  66. data/lib/rdoc/generator/template/darkfish/page.rhtml +5 -5
  67. data/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml +10 -8
  68. data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +20 -18
  69. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +32 -20
  70. data/lib/rdoc/generator/template/json_index/js/navigation.js +12 -49
  71. data/lib/rdoc/generator/template/json_index/js/searcher.js +6 -6
  72. data/lib/rdoc/generator.rb +6 -6
  73. data/lib/rdoc/i18n/locale.rb +1 -1
  74. data/lib/rdoc/i18n/text.rb +5 -5
  75. data/lib/rdoc/i18n.rb +4 -4
  76. data/lib/rdoc/known_classes.rb +6 -5
  77. data/lib/rdoc/markdown/entities.rb +1 -2
  78. data/lib/rdoc/markdown/literals.kpeg +1 -2
  79. data/lib/rdoc/markdown/literals.rb +99 -50
  80. data/lib/rdoc/markdown.kpeg +115 -58
  81. data/lib/rdoc/markdown.rb +1584 -902
  82. data/lib/rdoc/markup/attr_changer.rb +1 -2
  83. data/lib/rdoc/markup/attr_span.rb +9 -4
  84. data/lib/rdoc/markup/attribute_manager.rb +118 -57
  85. data/lib/rdoc/markup/attributes.rb +7 -8
  86. data/lib/rdoc/markup/blank_line.rb +1 -2
  87. data/lib/rdoc/markup/block_quote.rb +1 -2
  88. data/lib/rdoc/markup/document.rb +1 -2
  89. data/lib/rdoc/markup/formatter.rb +44 -37
  90. data/lib/rdoc/markup/hard_break.rb +1 -2
  91. data/lib/rdoc/markup/heading.rb +11 -6
  92. data/lib/rdoc/markup/include.rb +1 -2
  93. data/lib/rdoc/markup/indented_paragraph.rb +1 -2
  94. data/lib/rdoc/markup/list.rb +1 -2
  95. data/lib/rdoc/markup/list_item.rb +1 -2
  96. data/lib/rdoc/markup/paragraph.rb +1 -2
  97. data/lib/rdoc/markup/parser.rb +90 -48
  98. data/lib/rdoc/markup/pre_process.rb +38 -11
  99. data/lib/rdoc/markup/raw.rb +1 -2
  100. data/lib/rdoc/markup/regexp_handling.rb +40 -0
  101. data/lib/rdoc/markup/rule.rb +1 -2
  102. data/lib/rdoc/markup/table.rb +56 -0
  103. data/lib/rdoc/markup/to_ansi.rb +1 -2
  104. data/lib/rdoc/markup/to_bs.rb +30 -5
  105. data/lib/rdoc/markup/to_html.rb +95 -40
  106. data/lib/rdoc/markup/to_html_crossref.rb +108 -43
  107. data/lib/rdoc/markup/to_html_snippet.rb +13 -11
  108. data/lib/rdoc/markup/to_joined_paragraph.rb +6 -32
  109. data/lib/rdoc/markup/to_label.rb +11 -12
  110. data/lib/rdoc/markup/to_markdown.rb +13 -14
  111. data/lib/rdoc/markup/to_rdoc.rb +49 -31
  112. data/lib/rdoc/markup/to_table_of_contents.rb +2 -2
  113. data/lib/rdoc/markup/to_test.rb +1 -2
  114. data/lib/rdoc/markup/to_tt_only.rb +3 -4
  115. data/lib/rdoc/markup/verbatim.rb +1 -2
  116. data/lib/rdoc/markup.rb +64 -694
  117. data/lib/rdoc/options.rb +226 -44
  118. data/lib/rdoc/parser/c.rb +231 -246
  119. data/lib/rdoc/parser/changelog.rb +169 -23
  120. data/lib/rdoc/parser/markdown.rb +1 -3
  121. data/lib/rdoc/parser/prism_ruby.rb +1092 -0
  122. data/lib/rdoc/parser/rd.rb +1 -2
  123. data/lib/rdoc/parser/ripper_state_lex.rb +302 -0
  124. data/lib/rdoc/parser/ruby.rb +695 -478
  125. data/lib/rdoc/parser/ruby_tools.rb +33 -36
  126. data/lib/rdoc/parser/simple.rb +4 -4
  127. data/lib/rdoc/parser/text.rb +1 -2
  128. data/lib/rdoc/parser.rb +37 -42
  129. data/lib/rdoc/rd/block_parser.rb +708 -57
  130. data/lib/rdoc/rd/block_parser.ry +15 -11
  131. data/lib/rdoc/rd/inline.rb +5 -6
  132. data/lib/rdoc/rd/inline_parser.rb +787 -140
  133. data/lib/rdoc/rd/inline_parser.ry +1 -1
  134. data/lib/rdoc/rd.rb +4 -5
  135. data/lib/rdoc/rdoc.rb +72 -87
  136. data/lib/rdoc/ri/driver.rb +236 -152
  137. data/lib/rdoc/ri/formatter.rb +1 -1
  138. data/lib/rdoc/ri/paths.rb +4 -18
  139. data/lib/rdoc/ri/store.rb +1 -2
  140. data/lib/rdoc/ri/task.rb +2 -2
  141. data/lib/rdoc/ri.rb +5 -6
  142. data/lib/rdoc/rubygems_hook.rb +98 -20
  143. data/lib/rdoc/servlet.rb +30 -20
  144. data/lib/rdoc/stats/normal.rb +24 -18
  145. data/lib/rdoc/stats/quiet.rb +1 -2
  146. data/lib/rdoc/stats/verbose.rb +1 -3
  147. data/lib/rdoc/stats.rb +6 -7
  148. data/lib/rdoc/store.rb +84 -55
  149. data/lib/rdoc/task.rb +35 -10
  150. data/lib/rdoc/text.rb +40 -27
  151. data/lib/rdoc/token_stream.rb +56 -34
  152. data/lib/rdoc/tom_doc.rb +18 -19
  153. data/lib/rdoc/version.rb +10 -0
  154. data/lib/rdoc.rb +80 -56
  155. data/lib/rubygems_plugin.rb +23 -0
  156. data/man/ri.1 +247 -0
  157. metadata +45 -99
  158. data/.document +0 -5
  159. data/.gitignore +0 -13
  160. data/.travis.yml +0 -24
  161. data/Gemfile +0 -3
  162. data/RI.rdoc +0 -57
  163. data/Rakefile +0 -133
  164. data/bin/console +0 -7
  165. data/bin/setup +0 -6
  166. data/lib/gauntlet_rdoc.rb +0 -82
  167. data/lib/rdoc/generator/template/darkfish/.document +0 -0
  168. data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +0 -19
  169. data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +0 -9
  170. data/lib/rdoc/generator/template/darkfish/js/jquery.js +0 -4
  171. data/lib/rdoc/generator/template/json_index/.document +0 -1
  172. data/lib/rdoc/markup/formatter_test_case.rb +0 -764
  173. data/lib/rdoc/markup/inline.rb +0 -2
  174. data/lib/rdoc/markup/special.rb +0 -41
  175. data/lib/rdoc/markup/text_formatter_test_case.rb +0 -115
  176. data/lib/rdoc/ruby_lex.rb +0 -1367
  177. data/lib/rdoc/ruby_token.rb +0 -461
  178. data/lib/rdoc/test_case.rb +0 -204
  179. data/rdoc.gemspec +0 -57
@@ -1,4 +1,4 @@
1
- # frozen_string_literal: false
1
+ # frozen_string_literal: true
2
2
  # :markup: markdown
3
3
 
4
4
  ##
@@ -19,8 +19,8 @@ class RDoc::Markup::ToMarkdown < RDoc::Markup::ToRdoc
19
19
  @headings[5] = ['##### ', '']
20
20
  @headings[6] = ['###### ', '']
21
21
 
22
- add_special_RDOCLINK
23
- add_special_TIDYLINK
22
+ add_regexp_handling_RDOCLINK
23
+ add_regexp_handling_TIDYLINK
24
24
 
25
25
  @hard_break = " \n"
26
26
  end
@@ -37,7 +37,7 @@ class RDoc::Markup::ToMarkdown < RDoc::Markup::ToRdoc
37
37
  ##
38
38
  # Adds a newline to the output
39
39
 
40
- def handle_special_HARD_BREAK special
40
+ def handle_regexp_HARD_BREAK target
41
41
  " \n"
42
42
  end
43
43
 
@@ -45,8 +45,6 @@ class RDoc::Markup::ToMarkdown < RDoc::Markup::ToRdoc
45
45
  # Finishes consumption of `list`
46
46
 
47
47
  def accept_list_end list
48
- @res << "\n"
49
-
50
48
  super
51
49
  end
52
50
 
@@ -60,6 +58,8 @@ class RDoc::Markup::ToMarkdown < RDoc::Markup::ToRdoc
60
58
  when :NOTE, :LABEL then
61
59
  use_prefix
62
60
 
61
+ @res << "\n"
62
+
63
63
  4
64
64
  else
65
65
  @list_index[-1] = @list_index.last.succ
@@ -81,11 +81,11 @@ class RDoc::Markup::ToMarkdown < RDoc::Markup::ToRdoc
81
81
  attributes(label).strip
82
82
  end.join "\n"
83
83
 
84
- bullets << "\n:"
84
+ bullets << "\n" unless bullets.empty?
85
85
 
86
86
  @prefix = ' ' * @indent
87
87
  @indent += 4
88
- @prefix << bullets + (' ' * (@indent - 1))
88
+ @prefix << bullets << ":" << (' ' * (@indent - 1))
89
89
  else
90
90
  bullet = type == :BULLET ? '*' : @list_index.last.to_s + '.'
91
91
  @prefix = (' ' * @indent) + bullet.ljust(4)
@@ -131,7 +131,7 @@ class RDoc::Markup::ToMarkdown < RDoc::Markup::ToRdoc
131
131
  @res << part
132
132
  end
133
133
 
134
- @res << "\n" unless @res =~ /\n\z/
134
+ @res << "\n"
135
135
  end
136
136
 
137
137
  ##
@@ -166,8 +166,8 @@ class RDoc::Markup::ToMarkdown < RDoc::Markup::ToRdoc
166
166
  ##
167
167
  # Converts the RDoc markup tidylink into a Markdown.style link.
168
168
 
169
- def handle_special_TIDYLINK special
170
- text = special.text
169
+ def handle_regexp_TIDYLINK target
170
+ text = target.text
171
171
 
172
172
  return text unless text =~ /\{(.*?)\}\[(.*?)\]/ or text =~ /(\S+)\[(.*?)\]/
173
173
 
@@ -184,9 +184,8 @@ class RDoc::Markup::ToMarkdown < RDoc::Markup::ToRdoc
184
184
  ##
185
185
  # Converts the rdoc-...: links into a Markdown.style links.
186
186
 
187
- def handle_special_RDOCLINK special
188
- handle_rdoc_link special.text
187
+ def handle_regexp_RDOCLINK target
188
+ handle_rdoc_link target.text
189
189
  end
190
190
 
191
191
  end
192
-
@@ -1,4 +1,4 @@
1
- # frozen_string_literal: false
1
+ # frozen_string_literal: true
2
2
  ##
3
3
  # Outputs RDoc markup as RDoc markup! (mostly)
4
4
 
@@ -45,7 +45,7 @@ class RDoc::Markup::ToRdoc < RDoc::Markup::Formatter
45
45
  def initialize markup = nil
46
46
  super nil, markup
47
47
 
48
- @markup.add_special(/\\\S/, :SUPPRESSED_CROSSREF)
48
+ @markup.add_regexp_handling(/\\\S/, :SUPPRESSED_CROSSREF)
49
49
  @width = 78
50
50
  init_tags
51
51
 
@@ -145,11 +145,19 @@ class RDoc::Markup::ToRdoc < RDoc::Markup::Formatter
145
145
 
146
146
  case type
147
147
  when :NOTE, :LABEL then
148
- bullets = Array(list_item.label).map do |label|
148
+ stripped_labels = Array(list_item.label).map do |label|
149
149
  attributes(label).strip
150
- end.join "\n"
150
+ end
151
+
152
+ bullets = case type
153
+ when :NOTE
154
+ stripped_labels.map { |b| "#{b}::" }
155
+ when :LABEL
156
+ stripped_labels.map { |b| "[#{b}]" }
157
+ end
151
158
 
152
- bullets << ":\n" unless bullets.empty?
159
+ bullets = bullets.join("\n")
160
+ bullets << "\n" unless stripped_labels.empty?
153
161
 
154
162
  @prefix = ' ' * @indent
155
163
  @indent += 2
@@ -234,7 +242,35 @@ class RDoc::Markup::ToRdoc < RDoc::Markup::Formatter
234
242
  @res << part
235
243
  end
236
244
 
237
- @res << "\n" unless @res =~ /\n\z/
245
+ @res << "\n"
246
+ end
247
+
248
+ ##
249
+ # Adds +table+ to the output
250
+
251
+ def accept_table header, body, aligns
252
+ widths = header.zip(*body).map do |cols|
253
+ cols.map(&:size).max
254
+ end
255
+ aligns = aligns.map do |a|
256
+ case a
257
+ when nil, :center
258
+ :center
259
+ when :left
260
+ :ljust
261
+ when :right
262
+ :rjust
263
+ end
264
+ end
265
+ @res << header.zip(widths, aligns).map do |h, w, a|
266
+ h.__send__(a, w)
267
+ end.join("|").rstrip << "\n"
268
+ @res << widths.map {|w| "-" * w }.join("|") << "\n"
269
+ body.each do |row|
270
+ @res << row.zip(widths, aligns).map do |t, w, a|
271
+ t.__send__(a, w)
272
+ end.join("|").rstrip << "\n"
273
+ end
238
274
  end
239
275
 
240
276
  ##
@@ -253,10 +289,10 @@ class RDoc::Markup::ToRdoc < RDoc::Markup::Formatter
253
289
  end
254
290
 
255
291
  ##
256
- # Removes preceding \\ from the suppressed crossref +special+
292
+ # Removes preceding \\ from the suppressed crossref +target+
257
293
 
258
- def handle_special_SUPPRESSED_CROSSREF special
259
- text = special.text
294
+ def handle_regexp_SUPPRESSED_CROSSREF target
295
+ text = target.text
260
296
  text = text.sub('\\', '') unless in_tt?
261
297
  text
262
298
  end
@@ -264,7 +300,7 @@ class RDoc::Markup::ToRdoc < RDoc::Markup::Formatter
264
300
  ##
265
301
  # Adds a newline to the output
266
302
 
267
- def handle_special_HARD_BREAK special
303
+ def handle_regexp_HARD_BREAK target
268
304
  "\n"
269
305
  end
270
306
 
@@ -302,33 +338,15 @@ class RDoc::Markup::ToRdoc < RDoc::Markup::Formatter
302
338
 
303
339
  text_len = 20 if text_len < 20
304
340
 
305
- re = /^(.{0,#{text_len}})[ \n]/
306
341
  next_prefix = ' ' * @indent
307
342
 
308
343
  prefix = @prefix || next_prefix
309
344
  @prefix = nil
310
345
 
311
- @res << prefix
312
-
313
- while text.length > text_len
314
- if text =~ re then
315
- @res << $1
316
- text.slice!(0, $&.length)
317
- else
318
- @res << text.slice!(0, text_len)
319
- end
320
-
321
- @res << "\n" << next_prefix
322
- end
323
-
324
- if text.empty? then
325
- @res.pop
326
- @res.pop
327
- else
328
- @res << text
329
- @res << "\n"
346
+ text.scan(/\G(?:([^ \n]{#{text_len}})(?=[^ \n])|(.{1,#{text_len}})(?:[ \n]|\z))/) do
347
+ @res << prefix << ($1 || $2) << "\n"
348
+ prefix = next_prefix
330
349
  end
331
350
  end
332
351
 
333
352
  end
334
-
@@ -1,4 +1,4 @@
1
- # frozen_string_literal: false
1
+ # frozen_string_literal: true
2
2
  ##
3
3
  # Extracts just the RDoc::Markup::Heading elements from a
4
4
  # RDoc::Markup::Document to help build a table of contents
@@ -82,7 +82,7 @@ class RDoc::Markup::ToTableOfContents < RDoc::Markup::Formatter
82
82
  alias accept_list_item_end ignore
83
83
  alias accept_list_end_bullet ignore
84
84
  alias accept_list_start ignore
85
+ alias accept_table ignore
85
86
  # :startdoc:
86
87
 
87
88
  end
88
-
@@ -1,4 +1,4 @@
1
- # frozen_string_literal: false
1
+ # frozen_string_literal: true
2
2
  ##
3
3
  # This Markup outputter is used for testing purposes.
4
4
 
@@ -67,4 +67,3 @@ class RDoc::Markup::ToTest < RDoc::Markup::Formatter
67
67
  # :startdoc:
68
68
 
69
69
  end
70
-
@@ -1,4 +1,4 @@
1
- # frozen_string_literal: false
1
+ # frozen_string_literal: true
2
2
  ##
3
3
  # Extracts sections of text enclosed in plus, tt or code. Used to discover
4
4
  # undocumented parameters.
@@ -91,8 +91,8 @@ class RDoc::Markup::ToTtOnly < RDoc::Markup::Formatter
91
91
  when RDoc::Markup::AttrChanger then
92
92
  off_tags res, item
93
93
  on_tags res, item
94
- when RDoc::Markup::Special then
95
- @res << convert_special(item) if in_tt? # TODO can this happen?
94
+ when RDoc::Markup::RegexpHandling then
95
+ @res << convert_regexp_handling(item) if in_tt? # TODO can this happen?
96
96
  else
97
97
  raise "Unknown flow element: #{item.inspect}"
98
98
  end
@@ -118,4 +118,3 @@ class RDoc::Markup::ToTtOnly < RDoc::Markup::Formatter
118
118
  end
119
119
 
120
120
  end
121
-
@@ -1,4 +1,4 @@
1
- # frozen_string_literal: false
1
+ # frozen_string_literal: true
2
2
  ##
3
3
  # A section of verbatim text
4
4
 
@@ -81,4 +81,3 @@ class RDoc::Markup::Verbatim < RDoc::Markup::Raw
81
81
  end
82
82
 
83
83
  end
84
-