rdoc 6.4.0 → 6.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CONTRIBUTING.rdoc +1 -2
- data/LEGAL.rdoc +1 -1
- data/README.rdoc +2 -2
- data/TODO.rdoc +1 -1
- data/exe/rdoc +0 -1
- data/lib/rdoc/alias.rb +0 -1
- data/lib/rdoc/anon_class.rb +0 -1
- data/lib/rdoc/any_method.rb +17 -2
- data/lib/rdoc/attr.rb +0 -1
- data/lib/rdoc/class_module.rb +0 -1
- data/lib/rdoc/code_objects.rb +1 -2
- data/lib/rdoc/comment.rb +20 -41
- data/lib/rdoc/constant.rb +0 -1
- data/lib/rdoc/context/section.rb +2 -1
- data/lib/rdoc/context.rb +1 -3
- data/lib/rdoc/cross_reference.rb +17 -2
- data/lib/rdoc/encoding.rb +1 -6
- data/lib/rdoc/erb_partial.rb +0 -1
- data/lib/rdoc/erbio.rb +2 -7
- data/lib/rdoc/extend.rb +0 -1
- data/lib/rdoc/generator/darkfish.rb +2 -6
- data/lib/rdoc/generator/json_index.rb +2 -2
- data/lib/rdoc/generator/markup.rb +1 -2
- data/lib/rdoc/generator/ri.rb +0 -1
- data/lib/rdoc/generator/template/darkfish/_head.rhtml +10 -10
- data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +27 -3
- data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +22 -2
- data/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml +1 -1
- data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +25 -4
- data/lib/rdoc/generator/template/darkfish/class.rhtml +28 -20
- data/lib/rdoc/generator/template/darkfish/css/rdoc.css +44 -7
- data/lib/rdoc/generator/template/darkfish/index.rhtml +1 -1
- data/lib/rdoc/generator/template/darkfish/js/darkfish.js +14 -1
- data/lib/rdoc/generator/template/darkfish/js/search.js +4 -4
- data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +7 -6
- data/lib/rdoc/generator/template/json_index/js/navigation.js +8 -8
- data/lib/rdoc/generator.rb +5 -5
- data/lib/rdoc/ghost_method.rb +0 -1
- data/lib/rdoc/i18n.rb +1 -1
- data/lib/rdoc/include.rb +0 -1
- data/lib/rdoc/known_classes.rb +5 -4
- data/lib/rdoc/markdown/entities.rb +0 -1
- data/lib/rdoc/markdown/literals.rb +98 -40
- data/lib/rdoc/markdown.kpeg +26 -19
- data/lib/rdoc/markdown.rb +326 -227
- data/lib/rdoc/markup/attr_changer.rb +0 -1
- data/lib/rdoc/markup/attr_span.rb +0 -1
- data/lib/rdoc/markup/attribute_manager.rb +29 -36
- data/lib/rdoc/markup/attributes.rb +0 -1
- data/lib/rdoc/markup/blank_line.rb +0 -1
- data/lib/rdoc/markup/block_quote.rb +0 -1
- data/lib/rdoc/markup/document.rb +0 -1
- data/lib/rdoc/markup/formatter.rb +0 -1
- data/lib/rdoc/markup/hard_break.rb +0 -1
- data/lib/rdoc/markup/heading.rb +0 -1
- data/lib/rdoc/markup/include.rb +0 -1
- data/lib/rdoc/markup/indented_paragraph.rb +0 -1
- data/lib/rdoc/markup/list.rb +0 -1
- data/lib/rdoc/markup/list_item.rb +0 -1
- data/lib/rdoc/markup/paragraph.rb +0 -1
- data/lib/rdoc/markup/parser.rb +12 -6
- data/lib/rdoc/markup/raw.rb +0 -1
- data/lib/rdoc/markup/regexp_handling.rb +0 -1
- data/lib/rdoc/markup/rule.rb +0 -1
- data/lib/rdoc/markup/to_ansi.rb +0 -1
- data/lib/rdoc/markup/to_html.rb +21 -16
- data/lib/rdoc/markup/to_html_crossref.rb +0 -1
- data/lib/rdoc/markup/to_html_snippet.rb +0 -1
- data/lib/rdoc/markup/to_joined_paragraph.rb +2 -3
- data/lib/rdoc/markup/to_label.rb +1 -2
- data/lib/rdoc/markup/to_markdown.rb +0 -1
- data/lib/rdoc/markup/to_rdoc.rb +3 -21
- data/lib/rdoc/markup/to_table_of_contents.rb +0 -1
- data/lib/rdoc/markup/to_test.rb +0 -1
- data/lib/rdoc/markup/to_tt_only.rb +0 -1
- data/lib/rdoc/markup/verbatim.rb +0 -1
- data/lib/rdoc/markup.rb +35 -667
- data/lib/rdoc/meta_method.rb +0 -1
- data/lib/rdoc/method_attr.rb +1 -2
- data/lib/rdoc/mixin.rb +0 -1
- data/lib/rdoc/normal_class.rb +1 -2
- data/lib/rdoc/normal_module.rb +1 -2
- data/lib/rdoc/options.rb +36 -20
- data/lib/rdoc/parser/c.rb +89 -101
- data/lib/rdoc/parser/changelog.rb +0 -1
- data/lib/rdoc/parser/markdown.rb +0 -2
- data/lib/rdoc/parser/rd.rb +0 -1
- data/lib/rdoc/parser/ripper_state_lex.rb +1 -1
- data/lib/rdoc/parser/ruby.rb +29 -14
- data/lib/rdoc/parser/ruby_tools.rb +0 -2
- data/lib/rdoc/parser/text.rb +0 -1
- data/lib/rdoc/parser.rb +19 -2
- data/lib/rdoc/rd/block_parser.rb +666 -12
- data/lib/rdoc/rd/block_parser.ry +13 -9
- data/lib/rdoc/rd/inline.rb +0 -1
- data/lib/rdoc/rd/inline_parser.rb +3 -1
- data/lib/rdoc/rd.rb +3 -4
- data/lib/rdoc/rdoc.rb +19 -7
- data/lib/rdoc/require.rb +0 -1
- data/lib/rdoc/ri/driver.rb +20 -86
- data/lib/rdoc/ri/store.rb +0 -1
- data/lib/rdoc/ri.rb +4 -5
- data/lib/rdoc/rubygems_hook.rb +1 -1
- data/lib/rdoc/servlet.rb +1 -1
- data/lib/rdoc/single_class.rb +5 -1
- data/lib/rdoc/stats/quiet.rb +0 -1
- data/lib/rdoc/stats/verbose.rb +0 -2
- data/lib/rdoc/stats.rb +3 -4
- data/lib/rdoc/store.rb +4 -4
- data/lib/rdoc/task.rb +31 -5
- data/lib/rdoc/token_stream.rb +0 -1
- data/lib/rdoc/top_level.rb +0 -1
- data/lib/rdoc/version.rb +3 -1
- data/lib/rdoc.rb +46 -46
- metadata +9 -11
- data/Gemfile +0 -12
- data/Rakefile +0 -107
- data/bin/console +0 -7
- data/bin/setup +0 -6
- data/rdoc.gemspec +0 -249
data/lib/rdoc/markdown.rb
CHANGED
@@ -175,7 +175,7 @@
|
|
175
175
|
# [dingus]: http://daringfireball.net/projects/markdown/dingus
|
176
176
|
# [GFM]: https://github.github.com/gfm/
|
177
177
|
# [pegmarkdown]: https://github.com/jgm/peg-markdown
|
178
|
-
# [PHPE]:
|
178
|
+
# [PHPE]: https://michelf.ca/projects/php-markdown/extra/#def-list
|
179
179
|
# [syntax]: http://daringfireball.net/projects/markdown/syntax
|
180
180
|
#--
|
181
181
|
# Last updated to jgm/peg-markdown commit 8f8fc22ef0
|
@@ -199,6 +199,7 @@ class RDoc::Markdown
|
|
199
199
|
@result = nil
|
200
200
|
@failed_rule = nil
|
201
201
|
@failing_rule_offset = -1
|
202
|
+
@line_offsets = nil
|
202
203
|
|
203
204
|
setup_foreign_grammar
|
204
205
|
end
|
@@ -208,30 +209,75 @@ class RDoc::Markdown
|
|
208
209
|
attr_accessor :result, :pos
|
209
210
|
|
210
211
|
def current_column(target=pos)
|
211
|
-
if c = string.rindex("\n", target-1)
|
212
|
-
return target - c
|
212
|
+
if string[target] == "\n" && (c = string.rindex("\n", target-1) || -1)
|
213
|
+
return target - c
|
214
|
+
elsif c = string.rindex("\n", target)
|
215
|
+
return target - c
|
213
216
|
end
|
214
217
|
|
215
218
|
target + 1
|
216
219
|
end
|
217
220
|
|
218
|
-
def
|
219
|
-
|
220
|
-
|
221
|
+
def position_line_offsets
|
222
|
+
unless @position_line_offsets
|
223
|
+
@position_line_offsets = []
|
224
|
+
total = 0
|
225
|
+
string.each_line do |line|
|
226
|
+
total += line.size
|
227
|
+
@position_line_offsets << total
|
228
|
+
end
|
229
|
+
end
|
230
|
+
@position_line_offsets
|
231
|
+
end
|
232
|
+
|
233
|
+
if [].respond_to? :bsearch_index
|
234
|
+
def current_line(target=pos)
|
235
|
+
if line = position_line_offsets.bsearch_index {|x| x > target }
|
236
|
+
return line + 1
|
237
|
+
end
|
238
|
+
raise "Target position #{target} is outside of string"
|
239
|
+
end
|
240
|
+
else
|
241
|
+
def current_line(target=pos)
|
242
|
+
if line = position_line_offsets.index {|x| x > target }
|
243
|
+
return line + 1
|
244
|
+
end
|
221
245
|
|
222
|
-
|
223
|
-
cur_line += 1
|
224
|
-
cur_offset += line.size
|
225
|
-
return cur_line if cur_offset >= target
|
246
|
+
raise "Target position #{target} is outside of string"
|
226
247
|
end
|
248
|
+
end
|
227
249
|
|
228
|
-
|
250
|
+
def current_character(target=pos)
|
251
|
+
if target < 0 || target >= string.size
|
252
|
+
raise "Target position #{target} is outside of string"
|
253
|
+
end
|
254
|
+
string[target, 1]
|
255
|
+
end
|
256
|
+
|
257
|
+
KpegPosInfo = Struct.new(:pos, :lno, :col, :line, :char)
|
258
|
+
|
259
|
+
def current_pos_info(target=pos)
|
260
|
+
l = current_line target
|
261
|
+
c = current_column target
|
262
|
+
ln = get_line(l-1)
|
263
|
+
chr = string[target,1]
|
264
|
+
KpegPosInfo.new(target, l, c, ln, chr)
|
229
265
|
end
|
230
266
|
|
231
267
|
def lines
|
232
|
-
lines
|
233
|
-
|
234
|
-
|
268
|
+
string.lines
|
269
|
+
end
|
270
|
+
|
271
|
+
def get_line(no)
|
272
|
+
loff = position_line_offsets
|
273
|
+
if no < 0
|
274
|
+
raise "Line No is out of range: #{no} < 0"
|
275
|
+
elsif no >= loff.size
|
276
|
+
raise "Line No is out of range: #{no} >= #{loff.size}"
|
277
|
+
end
|
278
|
+
lend = loff[no]-1
|
279
|
+
lstart = no > 0 ? loff[no-1] : 0
|
280
|
+
string[lstart..lend]
|
235
281
|
end
|
236
282
|
|
237
283
|
|
@@ -245,6 +291,7 @@ class RDoc::Markdown
|
|
245
291
|
@string = string
|
246
292
|
@string_size = string ? string.size : 0
|
247
293
|
@pos = pos
|
294
|
+
@position_line_offsets = nil
|
248
295
|
end
|
249
296
|
|
250
297
|
def show_pos
|
@@ -269,30 +316,22 @@ class RDoc::Markdown
|
|
269
316
|
end
|
270
317
|
|
271
318
|
def failure_caret
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
line = lines[l-1]
|
276
|
-
"#{line}\n#{' ' * (c - 1)}^"
|
319
|
+
p = current_pos_info @failing_rule_offset
|
320
|
+
"#{p.line.chomp}\n#{' ' * (p.col - 1)}^"
|
277
321
|
end
|
278
322
|
|
279
323
|
def failure_character
|
280
|
-
|
281
|
-
c = current_column @failing_rule_offset
|
282
|
-
lines[l-1][c-1, 1]
|
324
|
+
current_character @failing_rule_offset
|
283
325
|
end
|
284
326
|
|
285
327
|
def failure_oneline
|
286
|
-
|
287
|
-
c = current_column @failing_rule_offset
|
288
|
-
|
289
|
-
char = lines[l-1][c-1, 1]
|
328
|
+
p = current_pos_info @failing_rule_offset
|
290
329
|
|
291
330
|
if @failed_rule.kind_of? Symbol
|
292
331
|
info = self.class::Rules[@failed_rule]
|
293
|
-
"@#{
|
332
|
+
"@#{p.lno}:#{p.col} failed rule '#{info.name}', got '#{p.char}'"
|
294
333
|
else
|
295
|
-
"@#{
|
334
|
+
"@#{p.lno}:#{p.col} failed rule '#{@failed_rule}', got '#{p.char}'"
|
296
335
|
end
|
297
336
|
end
|
298
337
|
|
@@ -305,10 +344,9 @@ class RDoc::Markdown
|
|
305
344
|
|
306
345
|
def show_error(io=STDOUT)
|
307
346
|
error_pos = @failing_rule_offset
|
308
|
-
|
309
|
-
col_no = current_column(error_pos)
|
347
|
+
p = current_pos_info(error_pos)
|
310
348
|
|
311
|
-
io.puts "On line #{
|
349
|
+
io.puts "On line #{p.lno}, column #{p.col}:"
|
312
350
|
|
313
351
|
if @failed_rule.kind_of? Symbol
|
314
352
|
info = self.class::Rules[@failed_rule]
|
@@ -317,10 +355,9 @@ class RDoc::Markdown
|
|
317
355
|
io.puts "Failed to match rule '#{@failed_rule}'"
|
318
356
|
end
|
319
357
|
|
320
|
-
io.puts "Got: #{
|
321
|
-
|
322
|
-
io.
|
323
|
-
io.print(" " * (col_no + 3))
|
358
|
+
io.puts "Got: #{p.char.inspect}"
|
359
|
+
io.puts "=> #{p.line}"
|
360
|
+
io.print(" " * (p.col + 2))
|
324
361
|
io.puts "^"
|
325
362
|
end
|
326
363
|
|
@@ -429,6 +466,7 @@ class RDoc::Markdown
|
|
429
466
|
end
|
430
467
|
|
431
468
|
def apply_with_args(rule, *args)
|
469
|
+
@result = nil
|
432
470
|
memo_key = [rule, args]
|
433
471
|
if m = @memoizations[memo_key][@pos]
|
434
472
|
@pos = m.pos
|
@@ -462,6 +500,7 @@ class RDoc::Markdown
|
|
462
500
|
end
|
463
501
|
|
464
502
|
def apply(rule)
|
503
|
+
@result = nil
|
465
504
|
if m = @memoizations[rule][@pos]
|
466
505
|
@pos = m.pos
|
467
506
|
if !m.set
|
@@ -533,11 +572,11 @@ class RDoc::Markdown
|
|
533
572
|
|
534
573
|
|
535
574
|
|
536
|
-
|
537
|
-
|
538
|
-
|
575
|
+
require_relative '../rdoc'
|
576
|
+
require_relative 'markup/to_joined_paragraph'
|
577
|
+
require_relative 'markdown/entities'
|
539
578
|
|
540
|
-
|
579
|
+
require_relative 'markdown/literals'
|
541
580
|
|
542
581
|
##
|
543
582
|
# Supported extensions
|
@@ -795,7 +834,7 @@ class RDoc::Markdown
|
|
795
834
|
|
796
835
|
@note_order.each_with_index do |ref, index|
|
797
836
|
label = index + 1
|
798
|
-
note = @footnotes[ref]
|
837
|
+
note = @footnotes[ref] or raise ParseError, "footnote [^#{ref}] not found"
|
799
838
|
|
800
839
|
link = "{^#{label}}[rdoc-label:footmark-#{label}:foottext-#{label}] "
|
801
840
|
note.parts.unshift link
|
@@ -14918,7 +14957,7 @@ class RDoc::Markdown
|
|
14918
14957
|
return _tmp
|
14919
14958
|
end
|
14920
14959
|
|
14921
|
-
# RawLine = (<
|
14960
|
+
# RawLine = (< /[^\r\n]*/ @Newline > | < .+ > @Eof) { text }
|
14922
14961
|
def _RawLine
|
14923
14962
|
|
14924
14963
|
_save = self.pos
|
@@ -14930,36 +14969,7 @@ class RDoc::Markdown
|
|
14930
14969
|
|
14931
14970
|
_save2 = self.pos
|
14932
14971
|
while true # sequence
|
14933
|
-
|
14934
|
-
|
14935
|
-
_save4 = self.pos
|
14936
|
-
while true # sequence
|
14937
|
-
_save5 = self.pos
|
14938
|
-
_tmp = match_string("\r")
|
14939
|
-
_tmp = _tmp ? nil : true
|
14940
|
-
self.pos = _save5
|
14941
|
-
unless _tmp
|
14942
|
-
self.pos = _save4
|
14943
|
-
break
|
14944
|
-
end
|
14945
|
-
_save6 = self.pos
|
14946
|
-
_tmp = match_string("\n")
|
14947
|
-
_tmp = _tmp ? nil : true
|
14948
|
-
self.pos = _save6
|
14949
|
-
unless _tmp
|
14950
|
-
self.pos = _save4
|
14951
|
-
break
|
14952
|
-
end
|
14953
|
-
_tmp = get_byte
|
14954
|
-
unless _tmp
|
14955
|
-
self.pos = _save4
|
14956
|
-
end
|
14957
|
-
break
|
14958
|
-
end # end sequence
|
14959
|
-
|
14960
|
-
break unless _tmp
|
14961
|
-
end
|
14962
|
-
_tmp = true
|
14972
|
+
_tmp = scan(/\G(?-mix:[^\r\n]*)/)
|
14963
14973
|
unless _tmp
|
14964
14974
|
self.pos = _save2
|
14965
14975
|
break
|
@@ -14977,10 +14987,10 @@ class RDoc::Markdown
|
|
14977
14987
|
break if _tmp
|
14978
14988
|
self.pos = _save1
|
14979
14989
|
|
14980
|
-
|
14990
|
+
_save3 = self.pos
|
14981
14991
|
while true # sequence
|
14982
14992
|
_text_start = self.pos
|
14983
|
-
|
14993
|
+
_save4 = self.pos
|
14984
14994
|
_tmp = get_byte
|
14985
14995
|
if _tmp
|
14986
14996
|
while true
|
@@ -14989,18 +14999,18 @@ class RDoc::Markdown
|
|
14989
14999
|
end
|
14990
15000
|
_tmp = true
|
14991
15001
|
else
|
14992
|
-
self.pos =
|
15002
|
+
self.pos = _save4
|
14993
15003
|
end
|
14994
15004
|
if _tmp
|
14995
15005
|
text = get_text(_text_start)
|
14996
15006
|
end
|
14997
15007
|
unless _tmp
|
14998
|
-
self.pos =
|
15008
|
+
self.pos = _save3
|
14999
15009
|
break
|
15000
15010
|
end
|
15001
15011
|
_tmp = _Eof()
|
15002
15012
|
unless _tmp
|
15003
|
-
self.pos =
|
15013
|
+
self.pos = _save3
|
15004
15014
|
end
|
15005
15015
|
break
|
15006
15016
|
end # end sequence
|
@@ -15546,7 +15556,7 @@ class RDoc::Markdown
|
|
15546
15556
|
return _tmp
|
15547
15557
|
end
|
15548
15558
|
|
15549
|
-
# RawNoteBlock = @StartList:a (!@BlankLine OptionallyIndentedLine:l { a << l })+ < @BlankLine* > { a << text } { a }
|
15559
|
+
# RawNoteBlock = @StartList:a (!@BlankLine !RawNoteReference OptionallyIndentedLine:l { a << l })+ < @BlankLine* > { a << text } { a }
|
15550
15560
|
def _RawNoteBlock
|
15551
15561
|
|
15552
15562
|
_save = self.pos
|
@@ -15569,6 +15579,14 @@ class RDoc::Markdown
|
|
15569
15579
|
self.pos = _save2
|
15570
15580
|
break
|
15571
15581
|
end
|
15582
|
+
_save4 = self.pos
|
15583
|
+
_tmp = apply(:_RawNoteReference)
|
15584
|
+
_tmp = _tmp ? nil : true
|
15585
|
+
self.pos = _save4
|
15586
|
+
unless _tmp
|
15587
|
+
self.pos = _save2
|
15588
|
+
break
|
15589
|
+
end
|
15572
15590
|
_tmp = apply(:_OptionallyIndentedLine)
|
15573
15591
|
l = @result
|
15574
15592
|
unless _tmp
|
@@ -15586,26 +15604,34 @@ class RDoc::Markdown
|
|
15586
15604
|
if _tmp
|
15587
15605
|
while true
|
15588
15606
|
|
15589
|
-
|
15607
|
+
_save5 = self.pos
|
15590
15608
|
while true # sequence
|
15591
|
-
|
15609
|
+
_save6 = self.pos
|
15592
15610
|
_tmp = _BlankLine()
|
15593
15611
|
_tmp = _tmp ? nil : true
|
15594
|
-
self.pos =
|
15612
|
+
self.pos = _save6
|
15595
15613
|
unless _tmp
|
15596
|
-
self.pos =
|
15614
|
+
self.pos = _save5
|
15615
|
+
break
|
15616
|
+
end
|
15617
|
+
_save7 = self.pos
|
15618
|
+
_tmp = apply(:_RawNoteReference)
|
15619
|
+
_tmp = _tmp ? nil : true
|
15620
|
+
self.pos = _save7
|
15621
|
+
unless _tmp
|
15622
|
+
self.pos = _save5
|
15597
15623
|
break
|
15598
15624
|
end
|
15599
15625
|
_tmp = apply(:_OptionallyIndentedLine)
|
15600
15626
|
l = @result
|
15601
15627
|
unless _tmp
|
15602
|
-
self.pos =
|
15628
|
+
self.pos = _save5
|
15603
15629
|
break
|
15604
15630
|
end
|
15605
15631
|
@result = begin; a << l ; end
|
15606
15632
|
_tmp = true
|
15607
15633
|
unless _tmp
|
15608
|
-
self.pos =
|
15634
|
+
self.pos = _save5
|
15609
15635
|
end
|
15610
15636
|
break
|
15611
15637
|
end # end sequence
|
@@ -15907,7 +15933,7 @@ class RDoc::Markdown
|
|
15907
15933
|
return _tmp
|
15908
15934
|
end
|
15909
15935
|
|
15910
|
-
# Table = &{ github? }
|
15936
|
+
# Table = &{ github? } TableHead:header TableLine:line TableRow+:body { table = RDoc::Markup::Table.new(header, line, body) }
|
15911
15937
|
def _Table
|
15912
15938
|
|
15913
15939
|
_save = self.pos
|
@@ -15919,7 +15945,7 @@ class RDoc::Markdown
|
|
15919
15945
|
self.pos = _save
|
15920
15946
|
break
|
15921
15947
|
end
|
15922
|
-
_tmp = apply(:
|
15948
|
+
_tmp = apply(:_TableHead)
|
15923
15949
|
header = @result
|
15924
15950
|
unless _tmp
|
15925
15951
|
self.pos = _save
|
@@ -15963,18 +15989,18 @@ class RDoc::Markdown
|
|
15963
15989
|
return _tmp
|
15964
15990
|
end
|
15965
15991
|
|
15966
|
-
#
|
15967
|
-
def
|
15992
|
+
# TableHead = TableItem2+:items "|"? @Newline { items }
|
15993
|
+
def _TableHead
|
15968
15994
|
|
15969
15995
|
_save = self.pos
|
15970
15996
|
while true # sequence
|
15971
15997
|
_save1 = self.pos
|
15972
15998
|
_ary = []
|
15973
|
-
_tmp = apply(:
|
15999
|
+
_tmp = apply(:_TableItem2)
|
15974
16000
|
if _tmp
|
15975
16001
|
_ary << @result
|
15976
16002
|
while true
|
15977
|
-
_tmp = apply(:
|
16003
|
+
_tmp = apply(:_TableItem2)
|
15978
16004
|
_ary << @result if _tmp
|
15979
16005
|
break unless _tmp
|
15980
16006
|
end
|
@@ -15983,12 +16009,17 @@ class RDoc::Markdown
|
|
15983
16009
|
else
|
15984
16010
|
self.pos = _save1
|
15985
16011
|
end
|
15986
|
-
|
16012
|
+
items = @result
|
15987
16013
|
unless _tmp
|
15988
16014
|
self.pos = _save
|
15989
16015
|
break
|
15990
16016
|
end
|
16017
|
+
_save2 = self.pos
|
15991
16018
|
_tmp = match_string("|")
|
16019
|
+
unless _tmp
|
16020
|
+
_tmp = true
|
16021
|
+
self.pos = _save2
|
16022
|
+
end
|
15992
16023
|
unless _tmp
|
15993
16024
|
self.pos = _save
|
15994
16025
|
break
|
@@ -15998,7 +16029,7 @@ class RDoc::Markdown
|
|
15998
16029
|
self.pos = _save
|
15999
16030
|
break
|
16000
16031
|
end
|
16001
|
-
@result = begin;
|
16032
|
+
@result = begin; items ; end
|
16002
16033
|
_tmp = true
|
16003
16034
|
unless _tmp
|
16004
16035
|
self.pos = _save
|
@@ -16006,90 +16037,92 @@ class RDoc::Markdown
|
|
16006
16037
|
break
|
16007
16038
|
end # end sequence
|
16008
16039
|
|
16009
|
-
set_failed_rule :
|
16040
|
+
set_failed_rule :_TableHead unless _tmp
|
16010
16041
|
return _tmp
|
16011
16042
|
end
|
16012
16043
|
|
16013
|
-
#
|
16014
|
-
def
|
16044
|
+
# TableRow = ((TableItem:item1 TableItem2*:items { [item1, *items] }):row | TableItem2+:row) "|"? @Newline { row }
|
16045
|
+
def _TableRow
|
16015
16046
|
|
16016
16047
|
_save = self.pos
|
16017
16048
|
while true # sequence
|
16018
|
-
|
16019
|
-
unless _tmp
|
16020
|
-
self.pos = _save
|
16021
|
-
break
|
16022
|
-
end
|
16023
|
-
_text_start = self.pos
|
16049
|
+
|
16024
16050
|
_save1 = self.pos
|
16051
|
+
while true # choice
|
16025
16052
|
|
16026
|
-
|
16027
|
-
|
16028
|
-
|
16029
|
-
|
16030
|
-
|
16031
|
-
|
16032
|
-
|
16033
|
-
|
16053
|
+
_save2 = self.pos
|
16054
|
+
while true # sequence
|
16055
|
+
_tmp = apply(:_TableItem)
|
16056
|
+
item1 = @result
|
16057
|
+
unless _tmp
|
16058
|
+
self.pos = _save2
|
16059
|
+
break
|
16060
|
+
end
|
16061
|
+
_ary = []
|
16062
|
+
while true
|
16063
|
+
_tmp = apply(:_TableItem2)
|
16064
|
+
_ary << @result if _tmp
|
16065
|
+
break unless _tmp
|
16066
|
+
end
|
16067
|
+
_tmp = true
|
16068
|
+
@result = _ary
|
16069
|
+
items = @result
|
16070
|
+
unless _tmp
|
16071
|
+
self.pos = _save2
|
16072
|
+
break
|
16073
|
+
end
|
16074
|
+
@result = begin; [item1, *items] ; end
|
16075
|
+
_tmp = true
|
16076
|
+
unless _tmp
|
16077
|
+
self.pos = _save2
|
16078
|
+
end
|
16034
16079
|
break
|
16035
|
-
end
|
16080
|
+
end # end sequence
|
16081
|
+
|
16082
|
+
row = @result
|
16083
|
+
break if _tmp
|
16084
|
+
self.pos = _save1
|
16036
16085
|
_save4 = self.pos
|
16037
|
-
|
16038
|
-
_tmp =
|
16039
|
-
|
16040
|
-
|
16041
|
-
|
16042
|
-
|
16043
|
-
|
16044
|
-
|
16045
|
-
|
16046
|
-
|
16086
|
+
_ary = []
|
16087
|
+
_tmp = apply(:_TableItem2)
|
16088
|
+
if _tmp
|
16089
|
+
_ary << @result
|
16090
|
+
while true
|
16091
|
+
_tmp = apply(:_TableItem2)
|
16092
|
+
_ary << @result if _tmp
|
16093
|
+
break unless _tmp
|
16094
|
+
end
|
16095
|
+
_tmp = true
|
16096
|
+
@result = _ary
|
16097
|
+
else
|
16098
|
+
self.pos = _save4
|
16047
16099
|
end
|
16100
|
+
row = @result
|
16101
|
+
break if _tmp
|
16102
|
+
self.pos = _save1
|
16048
16103
|
break
|
16049
|
-
end # end
|
16050
|
-
|
16051
|
-
if _tmp
|
16052
|
-
while true
|
16053
|
-
|
16054
|
-
_save5 = self.pos
|
16055
|
-
while true # sequence
|
16056
|
-
_save6 = self.pos
|
16057
|
-
_tmp = match_string("|")
|
16058
|
-
_tmp = _tmp ? nil : true
|
16059
|
-
self.pos = _save6
|
16060
|
-
unless _tmp
|
16061
|
-
self.pos = _save5
|
16062
|
-
break
|
16063
|
-
end
|
16064
|
-
_save7 = self.pos
|
16065
|
-
_tmp = _Newline()
|
16066
|
-
_tmp = _tmp ? nil : true
|
16067
|
-
self.pos = _save7
|
16068
|
-
unless _tmp
|
16069
|
-
self.pos = _save5
|
16070
|
-
break
|
16071
|
-
end
|
16072
|
-
_tmp = get_byte
|
16073
|
-
unless _tmp
|
16074
|
-
self.pos = _save5
|
16075
|
-
end
|
16076
|
-
break
|
16077
|
-
end # end sequence
|
16104
|
+
end # end choice
|
16078
16105
|
|
16079
|
-
|
16080
|
-
|
16106
|
+
unless _tmp
|
16107
|
+
self.pos = _save
|
16108
|
+
break
|
16109
|
+
end
|
16110
|
+
_save5 = self.pos
|
16111
|
+
_tmp = match_string("|")
|
16112
|
+
unless _tmp
|
16081
16113
|
_tmp = true
|
16082
|
-
|
16083
|
-
self.pos = _save1
|
16114
|
+
self.pos = _save5
|
16084
16115
|
end
|
16085
|
-
|
16086
|
-
|
16116
|
+
unless _tmp
|
16117
|
+
self.pos = _save
|
16118
|
+
break
|
16087
16119
|
end
|
16120
|
+
_tmp = _Newline()
|
16088
16121
|
unless _tmp
|
16089
16122
|
self.pos = _save
|
16090
16123
|
break
|
16091
16124
|
end
|
16092
|
-
@result = begin;
|
16125
|
+
@result = begin; row ; end
|
16093
16126
|
_tmp = true
|
16094
16127
|
unless _tmp
|
16095
16128
|
self.pos = _save
|
@@ -16097,46 +16130,46 @@ class RDoc::Markdown
|
|
16097
16130
|
break
|
16098
16131
|
end # end sequence
|
16099
16132
|
|
16100
|
-
set_failed_rule :
|
16133
|
+
set_failed_rule :_TableRow unless _tmp
|
16101
16134
|
return _tmp
|
16102
16135
|
end
|
16103
16136
|
|
16104
|
-
#
|
16105
|
-
def
|
16137
|
+
# TableItem2 = "|" TableItem
|
16138
|
+
def _TableItem2
|
16106
16139
|
|
16107
16140
|
_save = self.pos
|
16108
16141
|
while true # sequence
|
16109
|
-
|
16110
|
-
_ary = []
|
16111
|
-
_tmp = apply(:_TableColumn)
|
16112
|
-
if _tmp
|
16113
|
-
_ary << @result
|
16114
|
-
while true
|
16115
|
-
_tmp = apply(:_TableColumn)
|
16116
|
-
_ary << @result if _tmp
|
16117
|
-
break unless _tmp
|
16118
|
-
end
|
16119
|
-
_tmp = true
|
16120
|
-
@result = _ary
|
16121
|
-
else
|
16122
|
-
self.pos = _save1
|
16123
|
-
end
|
16124
|
-
line = @result
|
16142
|
+
_tmp = match_string("|")
|
16125
16143
|
unless _tmp
|
16126
16144
|
self.pos = _save
|
16127
16145
|
break
|
16128
16146
|
end
|
16129
|
-
_tmp =
|
16147
|
+
_tmp = apply(:_TableItem)
|
16130
16148
|
unless _tmp
|
16131
16149
|
self.pos = _save
|
16132
|
-
break
|
16133
16150
|
end
|
16134
|
-
|
16151
|
+
break
|
16152
|
+
end # end sequence
|
16153
|
+
|
16154
|
+
set_failed_rule :_TableItem2 unless _tmp
|
16155
|
+
return _tmp
|
16156
|
+
end
|
16157
|
+
|
16158
|
+
# TableItem = < /(?:\\.|[^|\n])+/ > { text.strip.gsub(/\\(.)/, '\1') }
|
16159
|
+
def _TableItem
|
16160
|
+
|
16161
|
+
_save = self.pos
|
16162
|
+
while true # sequence
|
16163
|
+
_text_start = self.pos
|
16164
|
+
_tmp = scan(/\G(?-mix:(?:\\.|[^|\n])+)/)
|
16165
|
+
if _tmp
|
16166
|
+
text = get_text(_text_start)
|
16167
|
+
end
|
16135
16168
|
unless _tmp
|
16136
16169
|
self.pos = _save
|
16137
16170
|
break
|
16138
16171
|
end
|
16139
|
-
@result = begin;
|
16172
|
+
@result = begin; text.strip.gsub(/\\(.)/, '\1') ; end
|
16140
16173
|
_tmp = true
|
16141
16174
|
unless _tmp
|
16142
16175
|
self.pos = _save
|
@@ -16144,80 +16177,136 @@ class RDoc::Markdown
|
|
16144
16177
|
break
|
16145
16178
|
end # end sequence
|
16146
16179
|
|
16147
|
-
set_failed_rule :
|
16180
|
+
set_failed_rule :_TableItem unless _tmp
|
16148
16181
|
return _tmp
|
16149
16182
|
end
|
16150
16183
|
|
16151
|
-
#
|
16152
|
-
def
|
16184
|
+
# TableLine = ((TableAlign:align1 TableAlign2*:aligns {[align1, *aligns] }):line | TableAlign2+:line) "|"? @Newline { line }
|
16185
|
+
def _TableLine
|
16153
16186
|
|
16154
16187
|
_save = self.pos
|
16155
16188
|
while true # sequence
|
16156
|
-
_tmp = match_string("|")
|
16157
|
-
unless _tmp
|
16158
|
-
self.pos = _save
|
16159
|
-
break
|
16160
|
-
end
|
16161
|
-
_text_start = self.pos
|
16162
16189
|
|
16163
16190
|
_save1 = self.pos
|
16164
16191
|
while true # choice
|
16165
16192
|
|
16166
16193
|
_save2 = self.pos
|
16167
16194
|
while true # sequence
|
16168
|
-
|
16169
|
-
|
16170
|
-
if _tmp
|
16171
|
-
while true
|
16172
|
-
_tmp = match_string("-")
|
16173
|
-
break unless _tmp
|
16174
|
-
end
|
16175
|
-
_tmp = true
|
16176
|
-
else
|
16177
|
-
self.pos = _save3
|
16178
|
-
end
|
16195
|
+
_tmp = apply(:_TableAlign)
|
16196
|
+
align1 = @result
|
16179
16197
|
unless _tmp
|
16180
16198
|
self.pos = _save2
|
16181
16199
|
break
|
16182
16200
|
end
|
16183
|
-
|
16184
|
-
|
16201
|
+
_ary = []
|
16202
|
+
while true
|
16203
|
+
_tmp = apply(:_TableAlign2)
|
16204
|
+
_ary << @result if _tmp
|
16205
|
+
break unless _tmp
|
16206
|
+
end
|
16207
|
+
_tmp = true
|
16208
|
+
@result = _ary
|
16209
|
+
aligns = @result
|
16185
16210
|
unless _tmp
|
16186
|
-
|
16187
|
-
|
16211
|
+
self.pos = _save2
|
16212
|
+
break
|
16188
16213
|
end
|
16214
|
+
@result = begin; [align1, *aligns] ; end
|
16215
|
+
_tmp = true
|
16189
16216
|
unless _tmp
|
16190
16217
|
self.pos = _save2
|
16191
16218
|
end
|
16192
16219
|
break
|
16193
16220
|
end # end sequence
|
16194
16221
|
|
16222
|
+
line = @result
|
16195
16223
|
break if _tmp
|
16196
16224
|
self.pos = _save1
|
16197
|
-
|
16198
|
-
|
16199
|
-
|
16200
|
-
|
16201
|
-
|
16202
|
-
self.pos = _save5
|
16203
|
-
break
|
16204
|
-
end
|
16225
|
+
_save4 = self.pos
|
16226
|
+
_ary = []
|
16227
|
+
_tmp = apply(:_TableAlign2)
|
16228
|
+
if _tmp
|
16229
|
+
_ary << @result
|
16205
16230
|
while true
|
16206
|
-
_tmp =
|
16231
|
+
_tmp = apply(:_TableAlign2)
|
16232
|
+
_ary << @result if _tmp
|
16207
16233
|
break unless _tmp
|
16208
16234
|
end
|
16209
16235
|
_tmp = true
|
16210
|
-
|
16211
|
-
|
16212
|
-
|
16213
|
-
|
16214
|
-
|
16215
|
-
|
16236
|
+
@result = _ary
|
16237
|
+
else
|
16238
|
+
self.pos = _save4
|
16239
|
+
end
|
16240
|
+
line = @result
|
16216
16241
|
break if _tmp
|
16217
16242
|
self.pos = _save1
|
16218
16243
|
break
|
16219
16244
|
end # end choice
|
16220
16245
|
|
16246
|
+
unless _tmp
|
16247
|
+
self.pos = _save
|
16248
|
+
break
|
16249
|
+
end
|
16250
|
+
_save5 = self.pos
|
16251
|
+
_tmp = match_string("|")
|
16252
|
+
unless _tmp
|
16253
|
+
_tmp = true
|
16254
|
+
self.pos = _save5
|
16255
|
+
end
|
16256
|
+
unless _tmp
|
16257
|
+
self.pos = _save
|
16258
|
+
break
|
16259
|
+
end
|
16260
|
+
_tmp = _Newline()
|
16261
|
+
unless _tmp
|
16262
|
+
self.pos = _save
|
16263
|
+
break
|
16264
|
+
end
|
16265
|
+
@result = begin; line ; end
|
16266
|
+
_tmp = true
|
16267
|
+
unless _tmp
|
16268
|
+
self.pos = _save
|
16269
|
+
end
|
16270
|
+
break
|
16271
|
+
end # end sequence
|
16272
|
+
|
16273
|
+
set_failed_rule :_TableLine unless _tmp
|
16274
|
+
return _tmp
|
16275
|
+
end
|
16276
|
+
|
16277
|
+
# TableAlign2 = "|" @Sp TableAlign
|
16278
|
+
def _TableAlign2
|
16279
|
+
|
16280
|
+
_save = self.pos
|
16281
|
+
while true # sequence
|
16282
|
+
_tmp = match_string("|")
|
16283
|
+
unless _tmp
|
16284
|
+
self.pos = _save
|
16285
|
+
break
|
16286
|
+
end
|
16287
|
+
_tmp = _Sp()
|
16288
|
+
unless _tmp
|
16289
|
+
self.pos = _save
|
16290
|
+
break
|
16291
|
+
end
|
16292
|
+
_tmp = apply(:_TableAlign)
|
16293
|
+
unless _tmp
|
16294
|
+
self.pos = _save
|
16295
|
+
end
|
16296
|
+
break
|
16297
|
+
end # end sequence
|
16298
|
+
|
16299
|
+
set_failed_rule :_TableAlign2 unless _tmp
|
16300
|
+
return _tmp
|
16301
|
+
end
|
16302
|
+
|
16303
|
+
# TableAlign = < /:?-+:?/ > @Sp { text.start_with?(":") ? (text.end_with?(":") ? :center : :left) : (text.end_with?(":") ? :right : nil) }
|
16304
|
+
def _TableAlign
|
16305
|
+
|
16306
|
+
_save = self.pos
|
16307
|
+
while true # sequence
|
16308
|
+
_text_start = self.pos
|
16309
|
+
_tmp = scan(/\G(?-mix::?-+:?)/)
|
16221
16310
|
if _tmp
|
16222
16311
|
text = get_text(_text_start)
|
16223
16312
|
end
|
@@ -16225,8 +16314,15 @@ class RDoc::Markdown
|
|
16225
16314
|
self.pos = _save
|
16226
16315
|
break
|
16227
16316
|
end
|
16228
|
-
|
16229
|
-
|
16317
|
+
_tmp = _Sp()
|
16318
|
+
unless _tmp
|
16319
|
+
self.pos = _save
|
16320
|
+
break
|
16321
|
+
end
|
16322
|
+
@result = begin;
|
16323
|
+
text.start_with?(":") ?
|
16324
|
+
(text.end_with?(":") ? :center : :left) :
|
16325
|
+
(text.end_with?(":") ? :right : nil)
|
16230
16326
|
; end
|
16231
16327
|
_tmp = true
|
16232
16328
|
unless _tmp
|
@@ -16235,7 +16331,7 @@ class RDoc::Markdown
|
|
16235
16331
|
break
|
16236
16332
|
end # end sequence
|
16237
16333
|
|
16238
|
-
set_failed_rule :
|
16334
|
+
set_failed_rule :_TableAlign unless _tmp
|
16239
16335
|
return _tmp
|
16240
16336
|
end
|
16241
16337
|
|
@@ -16661,7 +16757,7 @@ class RDoc::Markdown
|
|
16661
16757
|
Rules[:_OptionallyIndentedLine] = rule_info("OptionallyIndentedLine", "Indent? Line")
|
16662
16758
|
Rules[:_StartList] = rule_info("StartList", "&. { [] }")
|
16663
16759
|
Rules[:_Line] = rule_info("Line", "@RawLine:a { a }")
|
16664
|
-
Rules[:_RawLine] = rule_info("RawLine", "(<
|
16760
|
+
Rules[:_RawLine] = rule_info("RawLine", "(< /[^\\r\\n]*/ @Newline > | < .+ > @Eof) { text }")
|
16665
16761
|
Rules[:_SkipBlock] = rule_info("SkipBlock", "(HtmlBlock | (!\"\#\" !SetextBottom1 !SetextBottom2 !@BlankLine @RawLine)+ @BlankLine* | @BlankLine+ | @RawLine)")
|
16666
16762
|
Rules[:_ExtendedSpecialChar] = rule_info("ExtendedSpecialChar", "&{ notes? } \"^\"")
|
16667
16763
|
Rules[:_NoteReference] = rule_info("NoteReference", "&{ notes? } RawNoteReference:ref { note_for ref }")
|
@@ -16669,13 +16765,16 @@ class RDoc::Markdown
|
|
16669
16765
|
Rules[:_Note] = rule_info("Note", "&{ notes? } @NonindentSpace RawNoteReference:ref \":\" @Sp @StartList:a RawNoteBlock:i { a.concat i } (&Indent RawNoteBlock:i { a.concat i })* { @footnotes[ref] = paragraph a nil }")
|
16670
16766
|
Rules[:_InlineNote] = rule_info("InlineNote", "&{ notes? } \"^[\" @StartList:a (!\"]\" Inline:l { a << l })+ \"]\" { ref = [:inline, @note_order.length] @footnotes[ref] = paragraph a note_for ref }")
|
16671
16767
|
Rules[:_Notes] = rule_info("Notes", "(Note | SkipBlock)*")
|
16672
|
-
Rules[:_RawNoteBlock] = rule_info("RawNoteBlock", "@StartList:a (!@BlankLine OptionallyIndentedLine:l { a << l })+ < @BlankLine* > { a << text } { a }")
|
16768
|
+
Rules[:_RawNoteBlock] = rule_info("RawNoteBlock", "@StartList:a (!@BlankLine !RawNoteReference OptionallyIndentedLine:l { a << l })+ < @BlankLine* > { a << text } { a }")
|
16673
16769
|
Rules[:_CodeFence] = rule_info("CodeFence", "&{ github? } Ticks3 (@Sp StrChunk:format)? Spnl < ((!\"`\" Nonspacechar)+ | !Ticks3 /`+/ | Spacechar | @Newline)+ > Ticks3 @Sp @Newline* { verbatim = RDoc::Markup::Verbatim.new text verbatim.format = format.intern if format.instance_of?(String) verbatim }")
|
16674
|
-
Rules[:_Table] = rule_info("Table", "&{ github? }
|
16675
|
-
Rules[:
|
16676
|
-
Rules[:
|
16677
|
-
Rules[:
|
16678
|
-
Rules[:
|
16770
|
+
Rules[:_Table] = rule_info("Table", "&{ github? } TableHead:header TableLine:line TableRow+:body { table = RDoc::Markup::Table.new(header, line, body) }")
|
16771
|
+
Rules[:_TableHead] = rule_info("TableHead", "TableItem2+:items \"|\"? @Newline { items }")
|
16772
|
+
Rules[:_TableRow] = rule_info("TableRow", "((TableItem:item1 TableItem2*:items { [item1, *items] }):row | TableItem2+:row) \"|\"? @Newline { row }")
|
16773
|
+
Rules[:_TableItem2] = rule_info("TableItem2", "\"|\" TableItem")
|
16774
|
+
Rules[:_TableItem] = rule_info("TableItem", "< /(?:\\\\.|[^|\\n])+/ > { text.strip.gsub(/\\\\(.)/, '\\1') }")
|
16775
|
+
Rules[:_TableLine] = rule_info("TableLine", "((TableAlign:align1 TableAlign2*:aligns {[align1, *aligns] }):line | TableAlign2+:line) \"|\"? @Newline { line }")
|
16776
|
+
Rules[:_TableAlign2] = rule_info("TableAlign2", "\"|\" @Sp TableAlign")
|
16777
|
+
Rules[:_TableAlign] = rule_info("TableAlign", "< /:?-+:?/ > @Sp { text.start_with?(\":\") ? (text.end_with?(\":\") ? :center : :left) : (text.end_with?(\":\") ? :right : nil) }")
|
16679
16778
|
Rules[:_DefinitionList] = rule_info("DefinitionList", "&{ definition_lists? } DefinitionListItem+:list { RDoc::Markup::List.new :NOTE, *list.flatten }")
|
16680
16779
|
Rules[:_DefinitionListItem] = rule_info("DefinitionListItem", "DefinitionListLabel+:label DefinitionListDefinition+:defns { list_items = [] list_items << RDoc::Markup::ListItem.new(label, defns.shift) list_items.concat defns.map { |defn| RDoc::Markup::ListItem.new nil, defn } unless list_items.empty? list_items }")
|
16681
16780
|
Rules[:_DefinitionListLabel] = rule_info("DefinitionListLabel", "StrChunk:label @Sp @Newline { label }")
|