rdoc 4.2.1 → 6.3.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rdoc might be problematic. Click here for more details.

Files changed (277) hide show
  1. checksums.yaml +5 -5
  2. data/CONTRIBUTING.rdoc +8 -7
  3. data/Gemfile +12 -0
  4. data/History.rdoc +48 -4
  5. data/LEGAL.rdoc +2 -2
  6. data/README.rdoc +5 -5
  7. data/Rakefile +73 -155
  8. data/bin/console +7 -0
  9. data/bin/setup +6 -0
  10. data/{bin → exe}/rdoc +0 -0
  11. data/{bin → exe}/ri +0 -0
  12. data/lib/rdoc/alias.rb +1 -0
  13. data/lib/rdoc/anon_class.rb +1 -0
  14. data/lib/rdoc/any_method.rb +59 -14
  15. data/lib/rdoc/attr.rb +1 -0
  16. data/lib/rdoc/class_module.rb +5 -2
  17. data/lib/rdoc/code_object.rb +3 -11
  18. data/lib/rdoc/code_objects.rb +1 -0
  19. data/lib/rdoc/comment.rb +32 -11
  20. data/lib/rdoc/constant.rb +3 -2
  21. data/lib/rdoc/context/section.rb +7 -13
  22. data/lib/rdoc/context.rb +78 -23
  23. data/lib/rdoc/cross_reference.rb +33 -14
  24. data/lib/rdoc/encoding.rb +92 -55
  25. data/lib/rdoc/erb_partial.rb +2 -1
  26. data/lib/rdoc/erbio.rb +8 -3
  27. data/lib/rdoc/extend.rb +1 -0
  28. data/lib/rdoc/generator/darkfish.rb +62 -32
  29. data/lib/rdoc/generator/json_index.rb +8 -5
  30. data/lib/rdoc/generator/markup.rb +3 -12
  31. data/lib/rdoc/generator/pot/message_extractor.rb +68 -0
  32. data/lib/rdoc/generator/pot/po.rb +84 -0
  33. data/lib/rdoc/generator/pot/po_entry.rb +141 -0
  34. data/lib/rdoc/generator/pot.rb +4 -3
  35. data/lib/rdoc/generator/ri.rb +1 -0
  36. data/lib/rdoc/generator/template/darkfish/_footer.rhtml +2 -2
  37. data/lib/rdoc/generator/template/darkfish/_head.rhtml +11 -8
  38. data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +2 -2
  39. data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +2 -2
  40. data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +7 -7
  41. data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +2 -2
  42. data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +7 -7
  43. data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +6 -6
  44. data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +5 -5
  45. data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +5 -5
  46. data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +5 -5
  47. data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +4 -4
  48. data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +4 -4
  49. data/lib/rdoc/generator/template/darkfish/class.rhtml +45 -47
  50. data/lib/rdoc/generator/template/darkfish/css/fonts.css +6 -6
  51. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +55 -6
  52. data/lib/rdoc/generator/template/darkfish/index.rhtml +3 -4
  53. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +23 -100
  54. data/lib/rdoc/generator/template/darkfish/js/search.js +32 -31
  55. data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +15 -16
  56. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +16 -16
  57. data/lib/rdoc/generator/template/json_index/js/navigation.js +4 -41
  58. data/lib/rdoc/generator/template/json_index/js/searcher.js +7 -6
  59. data/lib/rdoc/generator.rb +1 -1
  60. data/lib/rdoc/ghost_method.rb +1 -0
  61. data/lib/rdoc/i18n/locale.rb +2 -1
  62. data/lib/rdoc/i18n/text.rb +5 -4
  63. data/lib/rdoc/i18n.rb +3 -2
  64. data/lib/rdoc/include.rb +1 -0
  65. data/lib/rdoc/known_classes.rb +1 -0
  66. data/lib/rdoc/markdown/entities.rb +1 -0
  67. data/lib/rdoc/markdown/{literals_1_9.kpeg → literals.kpeg} +1 -0
  68. data/lib/rdoc/markdown/{literals_1_9.rb → literals.rb} +1 -4
  69. data/lib/rdoc/markdown.kpeg +94 -51
  70. data/lib/rdoc/markdown.rb +1171 -619
  71. data/lib/rdoc/markup/attr_changer.rb +1 -0
  72. data/lib/rdoc/markup/attr_span.rb +9 -2
  73. data/lib/rdoc/markup/attribute_manager.rb +115 -49
  74. data/lib/rdoc/markup/attributes.rb +7 -6
  75. data/lib/rdoc/markup/blank_line.rb +1 -0
  76. data/lib/rdoc/markup/block_quote.rb +1 -0
  77. data/lib/rdoc/markup/document.rb +1 -0
  78. data/lib/rdoc/markup/formatter.rb +25 -23
  79. data/lib/rdoc/markup/hard_break.rb +1 -0
  80. data/lib/rdoc/markup/heading.rb +4 -3
  81. data/lib/rdoc/markup/include.rb +1 -0
  82. data/lib/rdoc/markup/indented_paragraph.rb +1 -0
  83. data/lib/rdoc/markup/list.rb +1 -0
  84. data/lib/rdoc/markup/list_item.rb +1 -0
  85. data/lib/rdoc/markup/paragraph.rb +1 -0
  86. data/lib/rdoc/markup/parser.rb +78 -61
  87. data/lib/rdoc/markup/pre_process.rb +12 -9
  88. data/lib/rdoc/markup/raw.rb +1 -0
  89. data/lib/rdoc/markup/regexp_handling.rb +41 -0
  90. data/lib/rdoc/markup/rule.rb +1 -0
  91. data/lib/rdoc/markup/to_ansi.rb +1 -0
  92. data/lib/rdoc/markup/to_bs.rb +4 -5
  93. data/lib/rdoc/markup/to_html.rb +71 -25
  94. data/lib/rdoc/markup/to_html_crossref.rb +41 -25
  95. data/lib/rdoc/markup/to_html_snippet.rb +10 -9
  96. data/lib/rdoc/markup/to_joined_paragraph.rb +7 -31
  97. data/lib/rdoc/markup/to_label.rb +10 -9
  98. data/lib/rdoc/markup/to_markdown.rb +9 -8
  99. data/lib/rdoc/markup/to_rdoc.rb +35 -6
  100. data/lib/rdoc/markup/to_table_of_contents.rb +2 -0
  101. data/lib/rdoc/markup/to_test.rb +1 -0
  102. data/lib/rdoc/markup/to_tt_only.rb +3 -2
  103. data/lib/rdoc/markup/verbatim.rb +1 -0
  104. data/lib/rdoc/markup.rb +14 -16
  105. data/lib/rdoc/meta_method.rb +1 -0
  106. data/lib/rdoc/method_attr.rb +2 -1
  107. data/lib/rdoc/mixin.rb +1 -0
  108. data/lib/rdoc/normal_class.rb +3 -2
  109. data/lib/rdoc/normal_module.rb +1 -0
  110. data/lib/rdoc/options.rb +92 -58
  111. data/lib/rdoc/parser/c.rb +219 -223
  112. data/lib/rdoc/parser/changelog.rb +155 -18
  113. data/lib/rdoc/parser/markdown.rb +1 -0
  114. data/lib/rdoc/parser/rd.rb +1 -0
  115. data/lib/rdoc/parser/ripper_state_lex.rb +590 -0
  116. data/lib/rdoc/parser/ruby.rb +635 -468
  117. data/lib/rdoc/parser/ruby_tools.rb +33 -33
  118. data/lib/rdoc/parser/simple.rb +3 -3
  119. data/lib/rdoc/parser/text.rb +1 -0
  120. data/lib/rdoc/parser.rb +17 -50
  121. data/lib/rdoc/rd/block_parser.rb +66 -65
  122. data/lib/rdoc/rd/block_parser.ry +3 -3
  123. data/lib/rdoc/rd/inline.rb +5 -4
  124. data/lib/rdoc/rd/inline_parser.rb +52 -51
  125. data/lib/rdoc/rd/inline_parser.ry +1 -1
  126. data/lib/rdoc/rd.rb +1 -0
  127. data/lib/rdoc/rdoc.rb +68 -63
  128. data/lib/rdoc/require.rb +1 -0
  129. data/lib/rdoc/ri/driver.rb +133 -58
  130. data/lib/rdoc/ri/formatter.rb +1 -0
  131. data/lib/rdoc/ri/paths.rb +4 -20
  132. data/lib/rdoc/ri/store.rb +1 -0
  133. data/lib/rdoc/ri/task.rb +71 -0
  134. data/lib/rdoc/ri.rb +1 -0
  135. data/lib/rdoc/rubygems_hook.rb +5 -12
  136. data/lib/rdoc/servlet.rb +24 -14
  137. data/lib/rdoc/single_class.rb +1 -0
  138. data/lib/rdoc/stats/normal.rb +20 -21
  139. data/lib/rdoc/stats/quiet.rb +1 -0
  140. data/lib/rdoc/stats/verbose.rb +1 -0
  141. data/lib/rdoc/stats.rb +1 -0
  142. data/lib/rdoc/store.rb +41 -41
  143. data/lib/rdoc/task.rb +2 -3
  144. data/lib/rdoc/text.rb +19 -38
  145. data/lib/rdoc/token_stream.rb +56 -32
  146. data/lib/rdoc/tom_doc.rb +17 -11
  147. data/lib/rdoc/top_level.rb +9 -2
  148. data/lib/rdoc/version.rb +8 -0
  149. data/lib/rdoc.rb +24 -10
  150. data/man/ri.1 +247 -0
  151. data/rdoc.gemspec +248 -0
  152. metadata +43 -236
  153. data/.autotest +0 -24
  154. data/.document +0 -5
  155. data/Manifest.txt +0 -306
  156. data/lib/gauntlet_rdoc.rb +0 -84
  157. data/lib/rdoc/generator/template/darkfish/js/jquery.js +0 -4
  158. data/lib/rdoc/markdown/literals_1_8.kpeg +0 -18
  159. data/lib/rdoc/markdown/literals_1_8.rb +0 -416
  160. data/lib/rdoc/markup/formatter_test_case.rb +0 -767
  161. data/lib/rdoc/markup/inline.rb +0 -1
  162. data/lib/rdoc/markup/special.rb +0 -40
  163. data/lib/rdoc/markup/text_formatter_test_case.rb +0 -114
  164. data/lib/rdoc/ruby_lex.rb +0 -1377
  165. data/lib/rdoc/ruby_token.rb +0 -460
  166. data/lib/rdoc/test_case.rb +0 -217
  167. data/test/MarkdownTest_1.0.3/Amps and angle encoding.text +0 -21
  168. data/test/MarkdownTest_1.0.3/Auto links.text +0 -13
  169. data/test/MarkdownTest_1.0.3/Backslash escapes.text +0 -120
  170. data/test/MarkdownTest_1.0.3/Blockquotes with code blocks.text +0 -11
  171. data/test/MarkdownTest_1.0.3/Code Blocks.text +0 -14
  172. data/test/MarkdownTest_1.0.3/Code Spans.text +0 -6
  173. data/test/MarkdownTest_1.0.3/Hard-wrapped paragraphs with list-like lines.text +0 -8
  174. data/test/MarkdownTest_1.0.3/Horizontal rules.text +0 -67
  175. data/test/MarkdownTest_1.0.3/Inline HTML (Advanced).text +0 -15
  176. data/test/MarkdownTest_1.0.3/Inline HTML (Simple).text +0 -69
  177. data/test/MarkdownTest_1.0.3/Inline HTML comments.text +0 -13
  178. data/test/MarkdownTest_1.0.3/Links, inline style.text +0 -12
  179. data/test/MarkdownTest_1.0.3/Links, reference style.text +0 -71
  180. data/test/MarkdownTest_1.0.3/Links, shortcut references.text +0 -20
  181. data/test/MarkdownTest_1.0.3/Literal quotes in titles.text +0 -7
  182. data/test/MarkdownTest_1.0.3/Markdown Documentation - Basics.text +0 -306
  183. data/test/MarkdownTest_1.0.3/Markdown Documentation - Syntax.text +0 -888
  184. data/test/MarkdownTest_1.0.3/Nested blockquotes.text +0 -5
  185. data/test/MarkdownTest_1.0.3/Ordered and unordered lists.text +0 -131
  186. data/test/MarkdownTest_1.0.3/Strong and em together.text +0 -7
  187. data/test/MarkdownTest_1.0.3/Tabs.text +0 -21
  188. data/test/MarkdownTest_1.0.3/Tidyness.text +0 -5
  189. data/test/README +0 -1
  190. data/test/binary.dat +0 -0
  191. data/test/hidden.zip.txt +0 -1
  192. data/test/test.ja.largedoc +0 -3
  193. data/test/test.ja.rdoc +0 -10
  194. data/test/test.ja.txt +0 -8
  195. data/test/test.txt +0 -1
  196. data/test/test_rdoc_alias.rb +0 -13
  197. data/test/test_rdoc_any_method.rb +0 -460
  198. data/test/test_rdoc_attr.rb +0 -190
  199. data/test/test_rdoc_class_module.rb +0 -1492
  200. data/test/test_rdoc_code_object.rb +0 -450
  201. data/test/test_rdoc_comment.rb +0 -504
  202. data/test/test_rdoc_constant.rb +0 -181
  203. data/test/test_rdoc_context.rb +0 -901
  204. data/test/test_rdoc_context_section.rb +0 -130
  205. data/test/test_rdoc_cross_reference.rb +0 -192
  206. data/test/test_rdoc_encoding.rb +0 -227
  207. data/test/test_rdoc_extend.rb +0 -94
  208. data/test/test_rdoc_generator_darkfish.rb +0 -229
  209. data/test/test_rdoc_generator_json_index.rb +0 -324
  210. data/test/test_rdoc_generator_markup.rb +0 -59
  211. data/test/test_rdoc_generator_pot.rb +0 -91
  212. data/test/test_rdoc_generator_pot_po.rb +0 -51
  213. data/test/test_rdoc_generator_pot_po_entry.rb +0 -139
  214. data/test/test_rdoc_generator_ri.rb +0 -78
  215. data/test/test_rdoc_i18n_locale.rb +0 -73
  216. data/test/test_rdoc_i18n_text.rb +0 -123
  217. data/test/test_rdoc_include.rb +0 -108
  218. data/test/test_rdoc_markdown.rb +0 -980
  219. data/test/test_rdoc_markdown_test.rb +0 -1884
  220. data/test/test_rdoc_markup.rb +0 -95
  221. data/test/test_rdoc_markup_attribute_manager.rb +0 -364
  222. data/test/test_rdoc_markup_attributes.rb +0 -39
  223. data/test/test_rdoc_markup_document.rb +0 -207
  224. data/test/test_rdoc_markup_formatter.rb +0 -175
  225. data/test/test_rdoc_markup_hard_break.rb +0 -31
  226. data/test/test_rdoc_markup_heading.rb +0 -29
  227. data/test/test_rdoc_markup_include.rb +0 -19
  228. data/test/test_rdoc_markup_indented_paragraph.rb +0 -53
  229. data/test/test_rdoc_markup_paragraph.rb +0 -32
  230. data/test/test_rdoc_markup_parser.rb +0 -1680
  231. data/test/test_rdoc_markup_pre_process.rb +0 -473
  232. data/test/test_rdoc_markup_raw.rb +0 -22
  233. data/test/test_rdoc_markup_to_ansi.rb +0 -369
  234. data/test/test_rdoc_markup_to_bs.rb +0 -366
  235. data/test/test_rdoc_markup_to_html.rb +0 -662
  236. data/test/test_rdoc_markup_to_html_crossref.rb +0 -225
  237. data/test/test_rdoc_markup_to_html_snippet.rb +0 -711
  238. data/test/test_rdoc_markup_to_joined_paragraph.rb +0 -32
  239. data/test/test_rdoc_markup_to_label.rb +0 -112
  240. data/test/test_rdoc_markup_to_markdown.rb +0 -389
  241. data/test/test_rdoc_markup_to_rdoc.rb +0 -377
  242. data/test/test_rdoc_markup_to_table_of_contents.rb +0 -126
  243. data/test/test_rdoc_markup_to_tt_only.rb +0 -246
  244. data/test/test_rdoc_markup_verbatim.rb +0 -29
  245. data/test/test_rdoc_method_attr.rb +0 -193
  246. data/test/test_rdoc_normal_class.rb +0 -47
  247. data/test/test_rdoc_normal_module.rb +0 -42
  248. data/test/test_rdoc_options.rb +0 -766
  249. data/test/test_rdoc_parser.rb +0 -327
  250. data/test/test_rdoc_parser_c.rb +0 -1896
  251. data/test/test_rdoc_parser_changelog.rb +0 -315
  252. data/test/test_rdoc_parser_markdown.rb +0 -61
  253. data/test/test_rdoc_parser_rd.rb +0 -55
  254. data/test/test_rdoc_parser_ruby.rb +0 -3322
  255. data/test/test_rdoc_parser_simple.rb +0 -115
  256. data/test/test_rdoc_rd.rb +0 -30
  257. data/test/test_rdoc_rd_block_parser.rb +0 -535
  258. data/test/test_rdoc_rd_inline.rb +0 -63
  259. data/test/test_rdoc_rd_inline_parser.rb +0 -177
  260. data/test/test_rdoc_rdoc.rb +0 -455
  261. data/test/test_rdoc_require.rb +0 -25
  262. data/test/test_rdoc_ri_driver.rb +0 -1436
  263. data/test/test_rdoc_ri_paths.rb +0 -155
  264. data/test/test_rdoc_ruby_lex.rb +0 -421
  265. data/test/test_rdoc_ruby_token.rb +0 -19
  266. data/test/test_rdoc_rubygems_hook.rb +0 -251
  267. data/test/test_rdoc_servlet.rb +0 -534
  268. data/test/test_rdoc_single_class.rb +0 -20
  269. data/test/test_rdoc_stats.rb +0 -722
  270. data/test/test_rdoc_store.rb +0 -993
  271. data/test/test_rdoc_task.rb +0 -173
  272. data/test/test_rdoc_text.rb +0 -557
  273. data/test/test_rdoc_token_stream.rb +0 -42
  274. data/test/test_rdoc_tom_doc.rb +0 -520
  275. data/test/test_rdoc_top_level.rb +0 -287
  276. data/test/xref_data.rb +0 -76
  277. data/test/xref_test_case.rb +0 -67
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  ##
2
3
  # Inline keeps track of markup and labels to create proper links.
3
4
 
@@ -49,11 +50,11 @@ class RDoc::RD::Inline
49
50
  def append more
50
51
  case more
51
52
  when String then
52
- @reference << more
53
- @rdoc << more
53
+ @reference += more
54
+ @rdoc += more
54
55
  when RDoc::RD::Inline then
55
- @reference << more.reference
56
- @rdoc << more.rdoc
56
+ @reference += more.reference
57
+ @rdoc += more.rdoc
57
58
  else
58
59
  raise "unknown thingy #{more}"
59
60
  end
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.4.14
4
- # from Racc grammer file "".
4
+ # This file is automatically generated by Racc 1.5.1
5
+ # from Racc grammar file "".
5
6
  #
6
7
 
7
8
  require 'racc/parser.rb'
@@ -96,7 +97,7 @@ end
96
97
  def parse inline
97
98
  @inline = inline
98
99
  @src = StringScanner.new inline
99
- @pre = ""
100
+ @pre = "".dup
100
101
  @yydebug = true
101
102
  do_parse.to_s
102
103
  end
@@ -732,12 +733,12 @@ Racc_debug_parser = false
732
733
  # reduce 1 omitted
733
734
 
734
735
  def _reduce_2(val, _values, result)
735
- result.append val[1]
736
+ result.append val[1]
736
737
  result
737
738
  end
738
739
 
739
740
  def _reduce_3(val, _values, result)
740
- result = val[0]
741
+ result = val[0]
741
742
  result
742
743
  end
743
744
 
@@ -762,28 +763,28 @@ end
762
763
  def _reduce_13(val, _values, result)
763
764
  content = val[1]
764
765
  result = inline "<em>#{content}</em>", content
765
-
766
+
766
767
  result
767
768
  end
768
769
 
769
770
  def _reduce_14(val, _values, result)
770
771
  content = val[1]
771
772
  result = inline "<code>#{content}</code>", content
772
-
773
+
773
774
  result
774
775
  end
775
776
 
776
777
  def _reduce_15(val, _values, result)
777
778
  content = val[1]
778
779
  result = inline "+#{content}+", content
779
-
780
+
780
781
  result
781
782
  end
782
783
 
783
784
  def _reduce_16(val, _values, result)
784
785
  content = val[1]
785
786
  result = inline "<tt>#{content}</tt>", content
786
-
787
+
787
788
  result
788
789
  end
789
790
 
@@ -791,13 +792,13 @@ def _reduce_17(val, _values, result)
791
792
  label = val[1]
792
793
  @block_parser.add_label label.reference
793
794
  result = "<span id=\"label-#{label}\">#{label}</span>"
794
-
795
+
795
796
  result
796
797
  end
797
798
 
798
799
  def _reduce_18(val, _values, result)
799
800
  result = "{#{val[1]}}[#{val[2].join}]"
800
-
801
+
801
802
  result
802
803
  end
803
804
 
@@ -805,13 +806,13 @@ def _reduce_19(val, _values, result)
805
806
  scheme, inline = val[1]
806
807
 
807
808
  result = "{#{inline}}[#{scheme}#{inline.reference}]"
808
-
809
+
809
810
  result
810
811
  end
811
812
 
812
813
  def _reduce_20(val, _values, result)
813
814
  result = [nil, inline(val[1])]
814
-
815
+
815
816
  result
816
817
  end
817
818
 
@@ -820,25 +821,25 @@ def _reduce_21(val, _values, result)
820
821
  'rdoc-label:',
821
822
  inline("#{val[0].reference}/#{val[1].reference}")
822
823
  ]
823
-
824
+
824
825
  result
825
826
  end
826
827
 
827
828
  def _reduce_22(val, _values, result)
828
829
  result = ['rdoc-label:', val[0].reference]
829
-
830
+
830
831
  result
831
832
  end
832
833
 
833
834
  def _reduce_23(val, _values, result)
834
835
  result = ['rdoc-label:', "#{val[0].reference}/"]
835
-
836
+
836
837
  result
837
838
  end
838
839
 
839
840
  def _reduce_24(val, _values, result)
840
841
  result = [nil, inline(val[1])]
841
-
842
+
842
843
  result
843
844
  end
844
845
 
@@ -847,92 +848,92 @@ def _reduce_25(val, _values, result)
847
848
  'rdoc-label:',
848
849
  inline("#{val[0].reference}/#{val[1].reference}")
849
850
  ]
850
-
851
+
851
852
  result
852
853
  end
853
854
 
854
855
  def _reduce_26(val, _values, result)
855
856
  result = ['rdoc-label:', val[0]]
856
-
857
+
857
858
  result
858
859
  end
859
860
 
860
861
  def _reduce_27(val, _values, result)
861
862
  ref = val[0].reference
862
863
  result = ['rdoc-label:', inline(ref, "#{ref}/")]
863
-
864
+
864
865
  result
865
866
  end
866
867
 
867
868
  # reduce 28 omitted
868
869
 
869
870
  def _reduce_29(val, _values, result)
870
- result = val[1]
871
+ result = val[1]
871
872
  result
872
873
  end
873
874
 
874
875
  def _reduce_30(val, _values, result)
875
- result = val[1]
876
+ result = val[1]
876
877
  result
877
878
  end
878
879
 
879
880
  def _reduce_31(val, _values, result)
880
881
  result = inline val[0]
881
-
882
+
882
883
  result
883
884
  end
884
885
 
885
886
  def _reduce_32(val, _values, result)
886
887
  result = inline "\"#{val[1]}\""
887
-
888
+
888
889
  result
889
890
  end
890
891
 
891
892
  def _reduce_33(val, _values, result)
892
893
  result = inline val[0]
893
-
894
+
894
895
  result
895
896
  end
896
897
 
897
898
  def _reduce_34(val, _values, result)
898
899
  result = inline "\"#{val[1]}\""
899
-
900
+
900
901
  result
901
902
  end
902
903
 
903
904
  # reduce 35 omitted
904
905
 
905
906
  def _reduce_36(val, _values, result)
906
- result = val[1]
907
+ result = val[1]
907
908
  result
908
909
  end
909
910
 
910
911
  def _reduce_37(val, _values, result)
911
- result = inline val[1]
912
+ result = inline val[1]
912
913
  result
913
914
  end
914
915
 
915
916
  def _reduce_38(val, _values, result)
916
917
  result = val[0].append val[1]
917
-
918
+
918
919
  result
919
920
  end
920
921
 
921
922
  def _reduce_39(val, _values, result)
922
923
  result = val[0].append val[1]
923
-
924
+
924
925
  result
925
926
  end
926
927
 
927
928
  def _reduce_40(val, _values, result)
928
929
  result = val[0]
929
-
930
+
930
931
  result
931
932
  end
932
933
 
933
934
  def _reduce_41(val, _values, result)
934
935
  result = inline val[0]
935
-
936
+
936
937
  result
937
938
  end
938
939
 
@@ -940,25 +941,25 @@ end
940
941
 
941
942
  def _reduce_43(val, _values, result)
942
943
  result = val[0].append val[1]
943
-
944
+
944
945
  result
945
946
  end
946
947
 
947
948
  def _reduce_44(val, _values, result)
948
949
  result = inline val[0]
949
-
950
+
950
951
  result
951
952
  end
952
953
 
953
954
  def _reduce_45(val, _values, result)
954
955
  result = val[0].append val[1]
955
-
956
+
956
957
  result
957
958
  end
958
959
 
959
960
  def _reduce_46(val, _values, result)
960
961
  result = val[0]
961
-
962
+
962
963
  result
963
964
  end
964
965
 
@@ -984,24 +985,24 @@ end
984
985
 
985
986
  def _reduce_57(val, _values, result)
986
987
  result = val[0]
987
-
988
+
988
989
  result
989
990
  end
990
991
 
991
992
  def _reduce_58(val, _values, result)
992
993
  result = inline val[0]
993
-
994
+
994
995
  result
995
996
  end
996
997
 
997
998
  def _reduce_59(val, _values, result)
998
999
  result = inline val[0]
999
-
1000
+
1000
1001
  result
1001
1002
  end
1002
1003
 
1003
1004
  def _reduce_60(val, _values, result)
1004
- result << val[1]
1005
+ result << val[1]
1005
1006
  result
1006
1007
  end
1007
1008
 
@@ -1009,7 +1010,7 @@ end
1009
1010
 
1010
1011
  def _reduce_62(val, _values, result)
1011
1012
  result << val[1]
1012
-
1013
+
1013
1014
  result
1014
1015
  end
1015
1016
 
@@ -1017,7 +1018,7 @@ end
1017
1018
 
1018
1019
  def _reduce_64(val, _values, result)
1019
1020
  result << val[1]
1020
-
1021
+
1021
1022
  result
1022
1023
  end
1023
1024
 
@@ -1048,7 +1049,7 @@ end
1048
1049
  # reduce 77 omitted
1049
1050
 
1050
1051
  def _reduce_78(val, _values, result)
1051
- result << val[1]
1052
+ result << val[1]
1052
1053
  result
1053
1054
  end
1054
1055
 
@@ -1099,13 +1100,13 @@ end
1099
1100
  def _reduce_101(val, _values, result)
1100
1101
  index = @block_parser.add_footnote val[1].rdoc
1101
1102
  result = "{*#{index}}[rdoc-label:foottext-#{index}:footmark-#{index}]"
1102
-
1103
+
1103
1104
  result
1104
1105
  end
1105
1106
 
1106
1107
  def _reduce_102(val, _values, result)
1107
1108
  result = inline "<tt>#{val[1]}</tt>", val[1]
1108
-
1109
+
1109
1110
  result
1110
1111
  end
1111
1112
 
@@ -1122,7 +1123,7 @@ end
1122
1123
  # reduce 108 omitted
1123
1124
 
1124
1125
  def _reduce_109(val, _values, result)
1125
- result << val[1]
1126
+ result << val[1]
1126
1127
  result
1127
1128
  end
1128
1129
 
@@ -1130,24 +1131,24 @@ end
1130
1131
 
1131
1132
  def _reduce_111(val, _values, result)
1132
1133
  result = inline val[0]
1133
-
1134
+
1134
1135
  result
1135
1136
  end
1136
1137
 
1137
1138
  # reduce 112 omitted
1138
1139
 
1139
1140
  def _reduce_113(val, _values, result)
1140
- result = val[1]
1141
+ result = val[1]
1141
1142
  result
1142
1143
  end
1143
1144
 
1144
1145
  def _reduce_114(val, _values, result)
1145
- result = val[1]
1146
+ result = val[1]
1146
1147
  result
1147
1148
  end
1148
1149
 
1149
1150
  def _reduce_115(val, _values, result)
1150
- result = val[1]
1151
+ result = val[1]
1151
1152
  result
1152
1153
  end
1153
1154
 
@@ -1192,7 +1193,7 @@ end
1192
1193
  # reduce 135 omitted
1193
1194
 
1194
1195
  def _reduce_136(val, _values, result)
1195
- result << val[1]
1196
+ result << val[1]
1196
1197
  result
1197
1198
  end
1198
1199
 
@@ -436,7 +436,7 @@ end
436
436
  def parse inline
437
437
  @inline = inline
438
438
  @src = StringScanner.new inline
439
- @pre = ""
439
+ @pre = "".dup
440
440
  @yydebug = true
441
441
  do_parse.to_s
442
442
  end
data/lib/rdoc/rd.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  ##
2
3
  # RDoc::RD implements the RD format from the rdtool gem.
3
4
  #
data/lib/rdoc/rdoc.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'rdoc'
2
3
 
3
4
  require 'find'
@@ -23,7 +24,7 @@ require 'time'
23
24
  # rdoc.document argv
24
25
  #
25
26
  # Where +argv+ is an array of strings, each corresponding to an argument you'd
26
- # give rdoc on the command line. See <tt>rdoc --help<tt> for details.
27
+ # give rdoc on the command line. See <tt>rdoc --help</tt> for details.
27
28
 
28
29
  class RDoc::RDoc
29
30
 
@@ -34,11 +35,6 @@ class RDoc::RDoc
34
35
 
35
36
  GENERATORS = {}
36
37
 
37
- ##
38
- # File pattern to exclude
39
-
40
- attr_accessor :exclude
41
-
42
38
  ##
43
39
  # Generator instance used for creating output
44
40
 
@@ -92,7 +88,6 @@ class RDoc::RDoc
92
88
 
93
89
  def initialize
94
90
  @current = nil
95
- @exclude = nil
96
91
  @generator = nil
97
92
  @last_modified = {}
98
93
  @old_siginfo = nil
@@ -115,13 +110,19 @@ class RDoc::RDoc
115
110
  def gather_files files
116
111
  files = ["."] if files.empty?
117
112
 
118
- file_list = normalized_file_list files, true, @exclude
119
-
120
- file_list = file_list.uniq
113
+ file_list = normalized_file_list files, true, @options.exclude
121
114
 
122
- file_list = remove_unparseable file_list
115
+ file_list = remove_unparseable(file_list)
123
116
 
124
- file_list.sort
117
+ if file_list.count {|name, mtime|
118
+ file_list[name] = @last_modified[name] unless mtime
119
+ mtime
120
+ } > 0
121
+ @last_modified.replace file_list
122
+ file_list.keys.sort
123
+ else
124
+ []
125
+ end
125
126
  end
126
127
 
127
128
  ##
@@ -160,19 +161,20 @@ class RDoc::RDoc
160
161
 
161
162
  RDoc.load_yaml
162
163
 
163
- parse_error = if Object.const_defined? :Psych then
164
- Psych::SyntaxError
165
- else
166
- ArgumentError
167
- end
168
-
169
164
  begin
170
165
  options = YAML.load_file '.rdoc_options'
171
- rescue *parse_error
166
+ rescue Psych::SyntaxError
172
167
  end
173
168
 
169
+ return RDoc::Options.new if options == false # Allow empty file.
170
+
174
171
  raise RDoc::Error, "#{options_file} is not a valid rdoc options file" unless
175
- RDoc::Options === options
172
+ RDoc::Options === options or Hash === options
173
+
174
+ if Hash === options
175
+ # Override the default values with the contents of YAML file.
176
+ options = RDoc::Options.new options
177
+ end
176
178
 
177
179
  options
178
180
  end
@@ -193,7 +195,7 @@ class RDoc::RDoc
193
195
  error "#{dir} exists and is not a directory" unless File.directory? dir
194
196
 
195
197
  begin
196
- open flag_file do |io|
198
+ File.open flag_file do |io|
197
199
  unless force then
198
200
  Time.parse io.gets
199
201
 
@@ -237,8 +239,11 @@ option)
237
239
 
238
240
  def update_output_dir(op_dir, time, last = {})
239
241
  return if @options.dry_run or not @options.update_output_dir
242
+ unless ENV['SOURCE_DATE_EPOCH'].nil?
243
+ time = Time.at(ENV['SOURCE_DATE_EPOCH'].to_i).gmtime
244
+ end
240
245
 
241
- open output_flag_file(op_dir), "w" do |f|
246
+ File.open output_flag_file(op_dir), "w" do |f|
242
247
  f.puts time.rfc2822
243
248
  last.each do |n, t|
244
249
  f.puts "#{n}\t#{t.rfc2822}"
@@ -262,11 +267,11 @@ option)
262
267
  # read and strip comments
263
268
  patterns = File.read(filename).gsub(/#.*/, '')
264
269
 
265
- result = []
270
+ result = {}
266
271
 
267
- patterns.split.each do |patt|
272
+ patterns.split(' ').each do |patt|
268
273
  candidates = Dir.glob(File.join(in_dir, patt))
269
- result.concat normalized_file_list(candidates)
274
+ result.update normalized_file_list(candidates, false, @options.exclude)
270
275
  end
271
276
 
272
277
  result
@@ -286,21 +291,21 @@ option)
286
291
 
287
292
  def normalized_file_list(relative_files, force_doc = false,
288
293
  exclude_pattern = nil)
289
- file_list = []
294
+ file_list = {}
290
295
 
291
296
  relative_files.each do |rel_file_name|
297
+ rel_file_name = rel_file_name.sub(/^\.\//, '')
292
298
  next if rel_file_name.end_with? 'created.rid'
293
299
  next if exclude_pattern && exclude_pattern =~ rel_file_name
294
300
  stat = File.stat rel_file_name rescue next
295
301
 
296
302
  case type = stat.ftype
297
303
  when "file" then
298
- next if last_modified = @last_modified[rel_file_name] and
299
- stat.mtime.to_i <= last_modified.to_i
304
+ mtime = (stat.mtime unless (last_modified = @last_modified[rel_file_name] and
305
+ stat.mtime.to_i <= last_modified.to_i))
300
306
 
301
307
  if force_doc or RDoc::Parser.can_parse(rel_file_name) then
302
- file_list << rel_file_name.sub(/^\.\//, '')
303
- @last_modified[rel_file_name] = stat.mtime
308
+ file_list[rel_file_name] = mtime
304
309
  end
305
310
  when "directory" then
306
311
  next if rel_file_name == "CVS" || rel_file_name == ".svn"
@@ -311,16 +316,16 @@ option)
311
316
  dot_doc = File.join rel_file_name, RDoc::DOT_DOC_FILENAME
312
317
 
313
318
  if File.file? dot_doc then
314
- file_list << parse_dot_doc_file(rel_file_name, dot_doc)
319
+ file_list.update(parse_dot_doc_file(rel_file_name, dot_doc))
315
320
  else
316
- file_list << list_files_in_directory(rel_file_name)
321
+ file_list.update(list_files_in_directory(rel_file_name))
317
322
  end
318
323
  else
319
324
  warn "rdoc can't parse the #{type} #{rel_file_name}"
320
325
  end
321
326
  end
322
327
 
323
- file_list.flatten
328
+ file_list
324
329
  end
325
330
 
326
331
  ##
@@ -339,10 +344,8 @@ option)
339
344
  # Parses +filename+ and returns an RDoc::TopLevel
340
345
 
341
346
  def parse_file filename
342
- if Object.const_defined? :Encoding then
343
- encoding = @options.encoding
344
- filename = filename.encode encoding
345
- end
347
+ encoding = @options.encoding
348
+ filename = filename.encode encoding
346
349
 
347
350
  @stats.add_file filename
348
351
 
@@ -365,7 +368,7 @@ option)
365
368
  relative_path.relative_path_from @options.page_dir
366
369
  end
367
370
 
368
- top_level = @store.add_file filename, relative_path.to_s
371
+ top_level = @store.add_file filename, relative_name: relative_path.to_s
369
372
 
370
373
  parser = RDoc::Parser.for top_level, filename, content, @options, @stats
371
374
 
@@ -418,6 +421,7 @@ The internal error was:
418
421
 
419
422
  return [] if file_list.empty?
420
423
 
424
+ original_options = @options.dup
421
425
  @stats.begin_adding
422
426
 
423
427
  file_info = file_list.map do |filename|
@@ -426,6 +430,7 @@ The internal error was:
426
430
  end.compact
427
431
 
428
432
  @stats.done_adding
433
+ @options = original_options
429
434
 
430
435
  file_info
431
436
  end
@@ -435,10 +440,10 @@ The internal error was:
435
440
  # files for emacs and vim.
436
441
 
437
442
  def remove_unparseable files
438
- files.reject do |file|
439
- file =~ /\.(?:class|eps|erb|scpt\.txt|ttf|yml)$/i or
443
+ files.reject do |file, *|
444
+ file =~ /\.(?:class|eps|erb|scpt\.txt|svg|ttf|yml)$/i or
440
445
  (file =~ /tags$/i and
441
- open(file, 'rb') { |io|
446
+ File.open(file, 'rb') { |io|
442
447
  io.read(100) =~ /\A(\f\n[^,]+,\d+$|!_TAG_)/
443
448
  })
444
449
  end
@@ -474,13 +479,11 @@ The internal error was:
474
479
  exit
475
480
  end
476
481
 
477
- @exclude = @options.exclude
478
-
479
482
  unless @options.coverage_report then
480
483
  @last_modified = setup_output_dir @options.op_dir, @options.force_update
481
484
  end
482
485
 
483
- @store.encoding = @options.encoding if @options.respond_to? :encoding
486
+ @store.encoding = @options.encoding
484
487
  @store.dry_run = @options.dry_run
485
488
  @store.main = @options.main_page
486
489
  @store.title = @options.title
@@ -526,13 +529,18 @@ The internal error was:
526
529
  # by the RDoc options
527
530
 
528
531
  def generate
529
- Dir.chdir @options.op_dir do
530
- unless @options.quiet then
531
- $stderr.puts "\nGenerating #{@generator.class.name.sub(/^.*::/, '')} format into #{Dir.pwd}..."
532
- end
533
-
532
+ if @options.dry_run then
533
+ # do nothing
534
534
  @generator.generate
535
- update_output_dir '.', @start_time, @last_modified
535
+ else
536
+ Dir.chdir @options.op_dir do
537
+ unless @options.quiet then
538
+ $stderr.puts "\nGenerating #{@generator.class.name.sub(/^.*::/, '')} format into #{Dir.pwd}..."
539
+ end
540
+
541
+ @generator.generate
542
+ update_output_dir '.', @start_time, @last_modified
543
+ end
536
544
  end
537
545
  end
538
546
 
@@ -552,23 +560,20 @@ end
552
560
  begin
553
561
  require 'rubygems'
554
562
 
555
- if Gem.respond_to? :find_files then
556
- rdoc_extensions = Gem.find_files 'rdoc/discover'
563
+ rdoc_extensions = Gem.find_files 'rdoc/discover'
557
564
 
558
- rdoc_extensions.each do |extension|
559
- begin
560
- load extension
561
- rescue => e
562
- warn "error loading #{extension.inspect}: #{e.message} (#{e.class})"
563
- warn "\t#{e.backtrace.join "\n\t"}" if $DEBUG
564
- end
565
+ rdoc_extensions.each do |extension|
566
+ begin
567
+ load extension
568
+ rescue => e
569
+ warn "error loading #{extension.inspect}: #{e.message} (#{e.class})"
570
+ warn "\t#{e.backtrace.join "\n\t"}" if $DEBUG
565
571
  end
566
572
  end
567
573
  rescue LoadError
568
574
  end
569
575
 
570
576
  # require built-in generators after discovery in case they've been replaced
571
- require 'rdoc/generator/darkfish'
572
- require 'rdoc/generator/ri'
573
- require 'rdoc/generator/pot'
574
-
577
+ require_relative 'generator/darkfish'
578
+ require_relative 'generator/ri'
579
+ require_relative 'generator/pot'