rdoc 6.3.3 → 6.5.0

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 (65) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.rdoc +1 -2
  3. data/LEGAL.rdoc +1 -1
  4. data/exe/rdoc +0 -1
  5. data/lib/rdoc/any_method.rb +6 -3
  6. data/lib/rdoc/code_objects.rb +1 -2
  7. data/lib/rdoc/context/section.rb +2 -0
  8. data/lib/rdoc/context.rb +1 -3
  9. data/lib/rdoc/cross_reference.rb +44 -20
  10. data/lib/rdoc/generator/darkfish.rb +2 -2
  11. data/lib/rdoc/generator/markup.rb +1 -1
  12. data/lib/rdoc/generator/template/darkfish/_head.rhtml +11 -13
  13. data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +27 -3
  14. data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +22 -2
  15. data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +25 -4
  16. data/lib/rdoc/generator/template/darkfish/class.rhtml +22 -20
  17. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +24 -1
  18. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
  19. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
  20. data/lib/rdoc/generator/template/darkfish/index.rhtml +1 -1
  21. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +1 -1
  22. data/lib/rdoc/generator/template/darkfish/js/search.js +1 -1
  23. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +2 -2
  24. data/lib/rdoc/generator.rb +5 -5
  25. data/lib/rdoc/i18n.rb +1 -1
  26. data/lib/rdoc/known_classes.rb +5 -4
  27. data/lib/rdoc/markdown/literals.rb +24 -8
  28. data/lib/rdoc/markdown.kpeg +25 -18
  29. data/lib/rdoc/markdown.rb +323 -226
  30. data/lib/rdoc/markup/attribute_manager.rb +29 -35
  31. data/lib/rdoc/markup/parser.rb +12 -6
  32. data/lib/rdoc/markup/pre_process.rb +2 -0
  33. data/lib/rdoc/markup/to_html.rb +20 -16
  34. data/lib/rdoc/markup/to_label.rb +1 -1
  35. data/lib/rdoc/markup/to_rdoc.rb +3 -20
  36. data/lib/rdoc/markup.rb +35 -667
  37. data/lib/rdoc/method_attr.rb +1 -1
  38. data/lib/rdoc/normal_class.rb +1 -1
  39. data/lib/rdoc/normal_module.rb +1 -1
  40. data/lib/rdoc/options.rb +63 -19
  41. data/lib/rdoc/parser/c.rb +110 -110
  42. data/lib/rdoc/parser/ruby.rb +43 -10
  43. data/lib/rdoc/parser.rb +19 -2
  44. data/lib/rdoc/rd/block_parser.rb +13 -9
  45. data/lib/rdoc/rd/block_parser.ry +12 -8
  46. data/lib/rdoc/rd/inline_parser.rb +1 -1
  47. data/lib/rdoc/rd.rb +3 -4
  48. data/lib/rdoc/rdoc.rb +19 -33
  49. data/lib/rdoc/ri/driver.rb +22 -82
  50. data/lib/rdoc/ri.rb +4 -5
  51. data/lib/rdoc/rubygems_hook.rb +4 -2
  52. data/lib/rdoc/servlet.rb +1 -1
  53. data/lib/rdoc/single_class.rb +5 -0
  54. data/lib/rdoc/stats.rb +3 -4
  55. data/lib/rdoc/store.rb +4 -4
  56. data/lib/rdoc/task.rb +3 -3
  57. data/lib/rdoc/text.rb +12 -4
  58. data/lib/rdoc/version.rb +3 -1
  59. data/lib/rdoc.rb +46 -46
  60. metadata +9 -14
  61. data/Gemfile +0 -12
  62. data/Rakefile +0 -101
  63. data/bin/console +0 -7
  64. data/bin/setup +0 -6
  65. data/rdoc.gemspec +0 -249
@@ -29,6 +29,7 @@ class RDoc::Markdown::Literals
29
29
  @result = nil
30
30
  @failed_rule = nil
31
31
  @failing_rule_offset = -1
32
+ @line_offsets = nil
32
33
 
33
34
  setup_foreign_grammar
34
35
  end
@@ -45,17 +46,32 @@ class RDoc::Markdown::Literals
45
46
  target + 1
46
47
  end
47
48
 
48
- def current_line(target=pos)
49
- cur_offset = 0
50
- cur_line = 0
49
+ if [].respond_to? :bsearch_index
50
+ def current_line(target=pos)
51
+ unless @line_offsets
52
+ @line_offsets = []
53
+ total = 0
54
+ string.each_line do |line|
55
+ total += line.size
56
+ @line_offsets << total
57
+ end
58
+ end
51
59
 
52
- string.each_line do |line|
53
- cur_line += 1
54
- cur_offset += line.size
55
- return cur_line if cur_offset >= target
60
+ @line_offsets.bsearch_index {|x| x >= target } + 1 || -1
56
61
  end
62
+ else
63
+ def current_line(target=pos)
64
+ cur_offset = 0
65
+ cur_line = 0
66
+
67
+ string.each_line do |line|
68
+ cur_line += 1
69
+ cur_offset += line.size
70
+ return cur_line if cur_offset >= target
71
+ end
57
72
 
58
- -1
73
+ -1
74
+ end
59
75
  end
60
76
 
61
77
  def lines
@@ -187,11 +187,11 @@
187
187
 
188
188
  %% {
189
189
 
190
- require 'rdoc'
191
- require 'rdoc/markup/to_joined_paragraph'
192
- require 'rdoc/markdown/entities'
190
+ require_relative '../rdoc'
191
+ require_relative 'markup/to_joined_paragraph'
192
+ require_relative 'markdown/entities'
193
193
 
194
- require 'rdoc/markdown/literals'
194
+ require_relative 'markdown/literals'
195
195
 
196
196
  ##
197
197
  # Supported extensions
@@ -449,7 +449,7 @@
449
449
 
450
450
  @note_order.each_with_index do |ref, index|
451
451
  label = index + 1
452
- note = @footnotes[ref]
452
+ note = @footnotes[ref] or raise ParseError, "footnote [^#{ref}] not found"
453
453
 
454
454
  link = "{^#{label}}[rdoc-label:footmark-#{label}:foottext-#{label}] "
455
455
  note.parts.unshift link
@@ -1135,7 +1135,7 @@ StartList = &.
1135
1135
  { [] }
1136
1136
 
1137
1137
  Line = @RawLine:a { a }
1138
- RawLine = ( < (!"\r" !"\n" .)* @Newline >
1138
+ RawLine = ( < /[^\r\n]*/ @Newline >
1139
1139
  | < .+ > @Eof ) { text }
1140
1140
 
1141
1141
  SkipBlock = HtmlBlock
@@ -1179,7 +1179,7 @@ InlineNote = &{ notes? }
1179
1179
  Notes = ( Note | SkipBlock )*
1180
1180
 
1181
1181
  RawNoteBlock = @StartList:a
1182
- ( !@BlankLine OptionallyIndentedLine:l { a << l } )+
1182
+ ( !@BlankLine !RawNoteReference OptionallyIndentedLine:l { a << l } )+
1183
1183
  ( < @BlankLine* > { a << text } )
1184
1184
  { a }
1185
1185
 
@@ -1198,19 +1198,26 @@ CodeFence = &{ github? }
1198
1198
  }
1199
1199
 
1200
1200
  Table = &{ github? }
1201
- TableRow:header TableLine:line TableRow+:body
1201
+ TableHead:header TableLine:line TableRow+:body
1202
1202
  { table = RDoc::Markup::Table.new(header, line, body) }
1203
1203
 
1204
- TableRow = TableItem+:row "|" @Newline
1205
- { row }
1206
- TableItem = "|" < (!"|" !@Newline .)+ >
1207
- { text.strip }
1208
-
1209
- TableLine = TableColumn+:line "|" @Newline
1210
- { line }
1211
- TableColumn = "|" < ( "-"+ ":"? | ":" "-"* ) >
1212
- { text.start_with?(":") ? :left :
1213
- text.end_with?(":") ? :right : nil
1204
+ TableHead = TableItem2+:items "|"? @Newline
1205
+ { items }
1206
+
1207
+ TableRow = ( ( TableItem:item1 TableItem2*:items { [item1, *items] } ):row | TableItem2+:row ) "|"? @Newline
1208
+ { row }
1209
+ TableItem2 = "|" TableItem
1210
+ TableItem = < /(?:\\.|[^|\n])+/ >
1211
+ { text.strip.gsub(/\\(.)/, '\1') }
1212
+
1213
+ TableLine = ( ( TableAlign:align1 TableAlign2*:aligns {[align1, *aligns] } ):line | TableAlign2+:line ) "|"? @Newline
1214
+ { line }
1215
+ TableAlign2 = "|" @Sp TableAlign
1216
+ TableAlign = < /:?-+:?/ > @Sp
1217
+ {
1218
+ text.start_with?(":") ?
1219
+ (text.end_with?(":") ? :center : :left) :
1220
+ (text.end_with?(":") ? :right : nil)
1214
1221
  }
1215
1222
 
1216
1223
  DefinitionList = &{ definition_lists? }