rdoc 6.4.0 → 6.5.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.
Potentially problematic release.
This version of rdoc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CONTRIBUTING.rdoc +1 -2
- data/LEGAL.rdoc +1 -1
- data/exe/rdoc +0 -1
- data/lib/rdoc/any_method.rb +2 -2
- data/lib/rdoc/code_objects.rb +1 -2
- data/lib/rdoc/context/section.rb +2 -0
- data/lib/rdoc/context.rb +1 -3
- data/lib/rdoc/cross_reference.rb +17 -1
- data/lib/rdoc/generator/markup.rb +1 -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_table_of_contents.rhtml +25 -4
- data/lib/rdoc/generator/template/darkfish/class.rhtml +22 -20
- data/lib/rdoc/generator/template/darkfish/css/rdoc.css +24 -1
- data/lib/rdoc/generator/template/darkfish/index.rhtml +1 -1
- data/lib/rdoc/generator/template/darkfish/js/darkfish.js +1 -1
- data/lib/rdoc/generator/template/darkfish/js/search.js +1 -1
- data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +2 -2
- data/lib/rdoc/generator.rb +5 -5
- data/lib/rdoc/i18n.rb +1 -1
- data/lib/rdoc/known_classes.rb +5 -4
- data/lib/rdoc/markdown/literals.rb +24 -8
- data/lib/rdoc/markdown.kpeg +25 -18
- data/lib/rdoc/markdown.rb +323 -226
- data/lib/rdoc/markup/attribute_manager.rb +29 -35
- data/lib/rdoc/markup/parser.rb +12 -6
- data/lib/rdoc/markup/to_html.rb +18 -14
- data/lib/rdoc/markup/to_label.rb +1 -1
- data/lib/rdoc/markup/to_rdoc.rb +3 -20
- data/lib/rdoc/markup.rb +35 -667
- data/lib/rdoc/method_attr.rb +1 -1
- data/lib/rdoc/normal_class.rb +1 -1
- data/lib/rdoc/normal_module.rb +1 -1
- data/lib/rdoc/options.rb +33 -18
- data/lib/rdoc/parser/c.rb +89 -101
- data/lib/rdoc/parser/ruby.rb +25 -10
- data/lib/rdoc/parser.rb +19 -2
- data/lib/rdoc/rd/block_parser.rb +13 -9
- data/lib/rdoc/rd/block_parser.ry +12 -8
- data/lib/rdoc/rd/inline_parser.rb +1 -1
- data/lib/rdoc/rd.rb +3 -4
- data/lib/rdoc/rdoc.rb +17 -3
- data/lib/rdoc/ri/driver.rb +11 -78
- 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 -0
- data/lib/rdoc/stats.rb +3 -4
- data/lib/rdoc/store.rb +4 -4
- data/lib/rdoc/task.rb +3 -3
- data/lib/rdoc/version.rb +3 -1
- data/lib/rdoc.rb +46 -46
- metadata +4 -9
- 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
@@ -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
|
|
@@ -533,11 +570,11 @@ class RDoc::Markdown
|
|
533
570
|
|
534
571
|
|
535
572
|
|
536
|
-
|
537
|
-
|
538
|
-
|
573
|
+
require_relative '../rdoc'
|
574
|
+
require_relative 'markup/to_joined_paragraph'
|
575
|
+
require_relative 'markdown/entities'
|
539
576
|
|
540
|
-
|
577
|
+
require_relative 'markdown/literals'
|
541
578
|
|
542
579
|
##
|
543
580
|
# Supported extensions
|
@@ -795,7 +832,7 @@ class RDoc::Markdown
|
|
795
832
|
|
796
833
|
@note_order.each_with_index do |ref, index|
|
797
834
|
label = index + 1
|
798
|
-
note = @footnotes[ref]
|
835
|
+
note = @footnotes[ref] or raise ParseError, "footnote [^#{ref}] not found"
|
799
836
|
|
800
837
|
link = "{^#{label}}[rdoc-label:footmark-#{label}:foottext-#{label}] "
|
801
838
|
note.parts.unshift link
|
@@ -14918,7 +14955,7 @@ class RDoc::Markdown
|
|
14918
14955
|
return _tmp
|
14919
14956
|
end
|
14920
14957
|
|
14921
|
-
# RawLine = (<
|
14958
|
+
# RawLine = (< /[^\r\n]*/ @Newline > | < .+ > @Eof) { text }
|
14922
14959
|
def _RawLine
|
14923
14960
|
|
14924
14961
|
_save = self.pos
|
@@ -14930,36 +14967,7 @@ class RDoc::Markdown
|
|
14930
14967
|
|
14931
14968
|
_save2 = self.pos
|
14932
14969
|
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
|
14970
|
+
_tmp = scan(/\G(?-mix:[^\r\n]*)/)
|
14963
14971
|
unless _tmp
|
14964
14972
|
self.pos = _save2
|
14965
14973
|
break
|
@@ -14977,10 +14985,10 @@ class RDoc::Markdown
|
|
14977
14985
|
break if _tmp
|
14978
14986
|
self.pos = _save1
|
14979
14987
|
|
14980
|
-
|
14988
|
+
_save3 = self.pos
|
14981
14989
|
while true # sequence
|
14982
14990
|
_text_start = self.pos
|
14983
|
-
|
14991
|
+
_save4 = self.pos
|
14984
14992
|
_tmp = get_byte
|
14985
14993
|
if _tmp
|
14986
14994
|
while true
|
@@ -14989,18 +14997,18 @@ class RDoc::Markdown
|
|
14989
14997
|
end
|
14990
14998
|
_tmp = true
|
14991
14999
|
else
|
14992
|
-
self.pos =
|
15000
|
+
self.pos = _save4
|
14993
15001
|
end
|
14994
15002
|
if _tmp
|
14995
15003
|
text = get_text(_text_start)
|
14996
15004
|
end
|
14997
15005
|
unless _tmp
|
14998
|
-
self.pos =
|
15006
|
+
self.pos = _save3
|
14999
15007
|
break
|
15000
15008
|
end
|
15001
15009
|
_tmp = _Eof()
|
15002
15010
|
unless _tmp
|
15003
|
-
self.pos =
|
15011
|
+
self.pos = _save3
|
15004
15012
|
end
|
15005
15013
|
break
|
15006
15014
|
end # end sequence
|
@@ -15546,7 +15554,7 @@ class RDoc::Markdown
|
|
15546
15554
|
return _tmp
|
15547
15555
|
end
|
15548
15556
|
|
15549
|
-
# RawNoteBlock = @StartList:a (!@BlankLine OptionallyIndentedLine:l { a << l })+ < @BlankLine* > { a << text } { a }
|
15557
|
+
# RawNoteBlock = @StartList:a (!@BlankLine !RawNoteReference OptionallyIndentedLine:l { a << l })+ < @BlankLine* > { a << text } { a }
|
15550
15558
|
def _RawNoteBlock
|
15551
15559
|
|
15552
15560
|
_save = self.pos
|
@@ -15569,6 +15577,14 @@ class RDoc::Markdown
|
|
15569
15577
|
self.pos = _save2
|
15570
15578
|
break
|
15571
15579
|
end
|
15580
|
+
_save4 = self.pos
|
15581
|
+
_tmp = apply(:_RawNoteReference)
|
15582
|
+
_tmp = _tmp ? nil : true
|
15583
|
+
self.pos = _save4
|
15584
|
+
unless _tmp
|
15585
|
+
self.pos = _save2
|
15586
|
+
break
|
15587
|
+
end
|
15572
15588
|
_tmp = apply(:_OptionallyIndentedLine)
|
15573
15589
|
l = @result
|
15574
15590
|
unless _tmp
|
@@ -15586,26 +15602,34 @@ class RDoc::Markdown
|
|
15586
15602
|
if _tmp
|
15587
15603
|
while true
|
15588
15604
|
|
15589
|
-
|
15605
|
+
_save5 = self.pos
|
15590
15606
|
while true # sequence
|
15591
|
-
|
15607
|
+
_save6 = self.pos
|
15592
15608
|
_tmp = _BlankLine()
|
15593
15609
|
_tmp = _tmp ? nil : true
|
15594
|
-
self.pos =
|
15610
|
+
self.pos = _save6
|
15595
15611
|
unless _tmp
|
15596
|
-
self.pos =
|
15612
|
+
self.pos = _save5
|
15613
|
+
break
|
15614
|
+
end
|
15615
|
+
_save7 = self.pos
|
15616
|
+
_tmp = apply(:_RawNoteReference)
|
15617
|
+
_tmp = _tmp ? nil : true
|
15618
|
+
self.pos = _save7
|
15619
|
+
unless _tmp
|
15620
|
+
self.pos = _save5
|
15597
15621
|
break
|
15598
15622
|
end
|
15599
15623
|
_tmp = apply(:_OptionallyIndentedLine)
|
15600
15624
|
l = @result
|
15601
15625
|
unless _tmp
|
15602
|
-
self.pos =
|
15626
|
+
self.pos = _save5
|
15603
15627
|
break
|
15604
15628
|
end
|
15605
15629
|
@result = begin; a << l ; end
|
15606
15630
|
_tmp = true
|
15607
15631
|
unless _tmp
|
15608
|
-
self.pos =
|
15632
|
+
self.pos = _save5
|
15609
15633
|
end
|
15610
15634
|
break
|
15611
15635
|
end # end sequence
|
@@ -15907,7 +15931,7 @@ class RDoc::Markdown
|
|
15907
15931
|
return _tmp
|
15908
15932
|
end
|
15909
15933
|
|
15910
|
-
# Table = &{ github? }
|
15934
|
+
# Table = &{ github? } TableHead:header TableLine:line TableRow+:body { table = RDoc::Markup::Table.new(header, line, body) }
|
15911
15935
|
def _Table
|
15912
15936
|
|
15913
15937
|
_save = self.pos
|
@@ -15919,7 +15943,7 @@ class RDoc::Markdown
|
|
15919
15943
|
self.pos = _save
|
15920
15944
|
break
|
15921
15945
|
end
|
15922
|
-
_tmp = apply(:
|
15946
|
+
_tmp = apply(:_TableHead)
|
15923
15947
|
header = @result
|
15924
15948
|
unless _tmp
|
15925
15949
|
self.pos = _save
|
@@ -15963,18 +15987,18 @@ class RDoc::Markdown
|
|
15963
15987
|
return _tmp
|
15964
15988
|
end
|
15965
15989
|
|
15966
|
-
#
|
15967
|
-
def
|
15990
|
+
# TableHead = TableItem2+:items "|"? @Newline { items }
|
15991
|
+
def _TableHead
|
15968
15992
|
|
15969
15993
|
_save = self.pos
|
15970
15994
|
while true # sequence
|
15971
15995
|
_save1 = self.pos
|
15972
15996
|
_ary = []
|
15973
|
-
_tmp = apply(:
|
15997
|
+
_tmp = apply(:_TableItem2)
|
15974
15998
|
if _tmp
|
15975
15999
|
_ary << @result
|
15976
16000
|
while true
|
15977
|
-
_tmp = apply(:
|
16001
|
+
_tmp = apply(:_TableItem2)
|
15978
16002
|
_ary << @result if _tmp
|
15979
16003
|
break unless _tmp
|
15980
16004
|
end
|
@@ -15983,12 +16007,17 @@ class RDoc::Markdown
|
|
15983
16007
|
else
|
15984
16008
|
self.pos = _save1
|
15985
16009
|
end
|
15986
|
-
|
16010
|
+
items = @result
|
15987
16011
|
unless _tmp
|
15988
16012
|
self.pos = _save
|
15989
16013
|
break
|
15990
16014
|
end
|
16015
|
+
_save2 = self.pos
|
15991
16016
|
_tmp = match_string("|")
|
16017
|
+
unless _tmp
|
16018
|
+
_tmp = true
|
16019
|
+
self.pos = _save2
|
16020
|
+
end
|
15992
16021
|
unless _tmp
|
15993
16022
|
self.pos = _save
|
15994
16023
|
break
|
@@ -15998,7 +16027,7 @@ class RDoc::Markdown
|
|
15998
16027
|
self.pos = _save
|
15999
16028
|
break
|
16000
16029
|
end
|
16001
|
-
@result = begin;
|
16030
|
+
@result = begin; items ; end
|
16002
16031
|
_tmp = true
|
16003
16032
|
unless _tmp
|
16004
16033
|
self.pos = _save
|
@@ -16006,90 +16035,92 @@ class RDoc::Markdown
|
|
16006
16035
|
break
|
16007
16036
|
end # end sequence
|
16008
16037
|
|
16009
|
-
set_failed_rule :
|
16038
|
+
set_failed_rule :_TableHead unless _tmp
|
16010
16039
|
return _tmp
|
16011
16040
|
end
|
16012
16041
|
|
16013
|
-
#
|
16014
|
-
def
|
16042
|
+
# TableRow = ((TableItem:item1 TableItem2*:items { [item1, *items] }):row | TableItem2+:row) "|"? @Newline { row }
|
16043
|
+
def _TableRow
|
16015
16044
|
|
16016
16045
|
_save = self.pos
|
16017
16046
|
while true # sequence
|
16018
|
-
|
16019
|
-
unless _tmp
|
16020
|
-
self.pos = _save
|
16021
|
-
break
|
16022
|
-
end
|
16023
|
-
_text_start = self.pos
|
16047
|
+
|
16024
16048
|
_save1 = self.pos
|
16049
|
+
while true # choice
|
16025
16050
|
|
16026
|
-
|
16027
|
-
|
16028
|
-
|
16029
|
-
|
16030
|
-
|
16031
|
-
|
16032
|
-
|
16033
|
-
|
16051
|
+
_save2 = self.pos
|
16052
|
+
while true # sequence
|
16053
|
+
_tmp = apply(:_TableItem)
|
16054
|
+
item1 = @result
|
16055
|
+
unless _tmp
|
16056
|
+
self.pos = _save2
|
16057
|
+
break
|
16058
|
+
end
|
16059
|
+
_ary = []
|
16060
|
+
while true
|
16061
|
+
_tmp = apply(:_TableItem2)
|
16062
|
+
_ary << @result if _tmp
|
16063
|
+
break unless _tmp
|
16064
|
+
end
|
16065
|
+
_tmp = true
|
16066
|
+
@result = _ary
|
16067
|
+
items = @result
|
16068
|
+
unless _tmp
|
16069
|
+
self.pos = _save2
|
16070
|
+
break
|
16071
|
+
end
|
16072
|
+
@result = begin; [item1, *items] ; end
|
16073
|
+
_tmp = true
|
16074
|
+
unless _tmp
|
16075
|
+
self.pos = _save2
|
16076
|
+
end
|
16034
16077
|
break
|
16035
|
-
end
|
16078
|
+
end # end sequence
|
16079
|
+
|
16080
|
+
row = @result
|
16081
|
+
break if _tmp
|
16082
|
+
self.pos = _save1
|
16036
16083
|
_save4 = self.pos
|
16037
|
-
|
16038
|
-
_tmp =
|
16039
|
-
|
16040
|
-
|
16041
|
-
|
16042
|
-
|
16043
|
-
|
16044
|
-
|
16045
|
-
|
16046
|
-
|
16084
|
+
_ary = []
|
16085
|
+
_tmp = apply(:_TableItem2)
|
16086
|
+
if _tmp
|
16087
|
+
_ary << @result
|
16088
|
+
while true
|
16089
|
+
_tmp = apply(:_TableItem2)
|
16090
|
+
_ary << @result if _tmp
|
16091
|
+
break unless _tmp
|
16092
|
+
end
|
16093
|
+
_tmp = true
|
16094
|
+
@result = _ary
|
16095
|
+
else
|
16096
|
+
self.pos = _save4
|
16047
16097
|
end
|
16098
|
+
row = @result
|
16099
|
+
break if _tmp
|
16100
|
+
self.pos = _save1
|
16048
16101
|
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
|
16102
|
+
end # end choice
|
16078
16103
|
|
16079
|
-
|
16080
|
-
|
16104
|
+
unless _tmp
|
16105
|
+
self.pos = _save
|
16106
|
+
break
|
16107
|
+
end
|
16108
|
+
_save5 = self.pos
|
16109
|
+
_tmp = match_string("|")
|
16110
|
+
unless _tmp
|
16081
16111
|
_tmp = true
|
16082
|
-
|
16083
|
-
self.pos = _save1
|
16112
|
+
self.pos = _save5
|
16084
16113
|
end
|
16085
|
-
|
16086
|
-
|
16114
|
+
unless _tmp
|
16115
|
+
self.pos = _save
|
16116
|
+
break
|
16087
16117
|
end
|
16118
|
+
_tmp = _Newline()
|
16088
16119
|
unless _tmp
|
16089
16120
|
self.pos = _save
|
16090
16121
|
break
|
16091
16122
|
end
|
16092
|
-
@result = begin;
|
16123
|
+
@result = begin; row ; end
|
16093
16124
|
_tmp = true
|
16094
16125
|
unless _tmp
|
16095
16126
|
self.pos = _save
|
@@ -16097,46 +16128,46 @@ class RDoc::Markdown
|
|
16097
16128
|
break
|
16098
16129
|
end # end sequence
|
16099
16130
|
|
16100
|
-
set_failed_rule :
|
16131
|
+
set_failed_rule :_TableRow unless _tmp
|
16101
16132
|
return _tmp
|
16102
16133
|
end
|
16103
16134
|
|
16104
|
-
#
|
16105
|
-
def
|
16135
|
+
# TableItem2 = "|" TableItem
|
16136
|
+
def _TableItem2
|
16106
16137
|
|
16107
16138
|
_save = self.pos
|
16108
16139
|
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
|
16140
|
+
_tmp = match_string("|")
|
16125
16141
|
unless _tmp
|
16126
16142
|
self.pos = _save
|
16127
16143
|
break
|
16128
16144
|
end
|
16129
|
-
_tmp =
|
16145
|
+
_tmp = apply(:_TableItem)
|
16130
16146
|
unless _tmp
|
16131
16147
|
self.pos = _save
|
16132
|
-
break
|
16133
16148
|
end
|
16134
|
-
|
16149
|
+
break
|
16150
|
+
end # end sequence
|
16151
|
+
|
16152
|
+
set_failed_rule :_TableItem2 unless _tmp
|
16153
|
+
return _tmp
|
16154
|
+
end
|
16155
|
+
|
16156
|
+
# TableItem = < /(?:\\.|[^|\n])+/ > { text.strip.gsub(/\\(.)/, '\1') }
|
16157
|
+
def _TableItem
|
16158
|
+
|
16159
|
+
_save = self.pos
|
16160
|
+
while true # sequence
|
16161
|
+
_text_start = self.pos
|
16162
|
+
_tmp = scan(/\G(?-mix:(?:\\.|[^|\n])+)/)
|
16163
|
+
if _tmp
|
16164
|
+
text = get_text(_text_start)
|
16165
|
+
end
|
16135
16166
|
unless _tmp
|
16136
16167
|
self.pos = _save
|
16137
16168
|
break
|
16138
16169
|
end
|
16139
|
-
@result = begin;
|
16170
|
+
@result = begin; text.strip.gsub(/\\(.)/, '\1') ; end
|
16140
16171
|
_tmp = true
|
16141
16172
|
unless _tmp
|
16142
16173
|
self.pos = _save
|
@@ -16144,80 +16175,136 @@ class RDoc::Markdown
|
|
16144
16175
|
break
|
16145
16176
|
end # end sequence
|
16146
16177
|
|
16147
|
-
set_failed_rule :
|
16178
|
+
set_failed_rule :_TableItem unless _tmp
|
16148
16179
|
return _tmp
|
16149
16180
|
end
|
16150
16181
|
|
16151
|
-
#
|
16152
|
-
def
|
16182
|
+
# TableLine = ((TableAlign:align1 TableAlign2*:aligns {[align1, *aligns] }):line | TableAlign2+:line) "|"? @Newline { line }
|
16183
|
+
def _TableLine
|
16153
16184
|
|
16154
16185
|
_save = self.pos
|
16155
16186
|
while true # sequence
|
16156
|
-
_tmp = match_string("|")
|
16157
|
-
unless _tmp
|
16158
|
-
self.pos = _save
|
16159
|
-
break
|
16160
|
-
end
|
16161
|
-
_text_start = self.pos
|
16162
16187
|
|
16163
16188
|
_save1 = self.pos
|
16164
16189
|
while true # choice
|
16165
16190
|
|
16166
16191
|
_save2 = self.pos
|
16167
16192
|
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
|
16193
|
+
_tmp = apply(:_TableAlign)
|
16194
|
+
align1 = @result
|
16179
16195
|
unless _tmp
|
16180
16196
|
self.pos = _save2
|
16181
16197
|
break
|
16182
16198
|
end
|
16183
|
-
|
16184
|
-
|
16199
|
+
_ary = []
|
16200
|
+
while true
|
16201
|
+
_tmp = apply(:_TableAlign2)
|
16202
|
+
_ary << @result if _tmp
|
16203
|
+
break unless _tmp
|
16204
|
+
end
|
16205
|
+
_tmp = true
|
16206
|
+
@result = _ary
|
16207
|
+
aligns = @result
|
16185
16208
|
unless _tmp
|
16186
|
-
|
16187
|
-
|
16209
|
+
self.pos = _save2
|
16210
|
+
break
|
16188
16211
|
end
|
16212
|
+
@result = begin; [align1, *aligns] ; end
|
16213
|
+
_tmp = true
|
16189
16214
|
unless _tmp
|
16190
16215
|
self.pos = _save2
|
16191
16216
|
end
|
16192
16217
|
break
|
16193
16218
|
end # end sequence
|
16194
16219
|
|
16220
|
+
line = @result
|
16195
16221
|
break if _tmp
|
16196
16222
|
self.pos = _save1
|
16197
|
-
|
16198
|
-
|
16199
|
-
|
16200
|
-
|
16201
|
-
|
16202
|
-
self.pos = _save5
|
16203
|
-
break
|
16204
|
-
end
|
16223
|
+
_save4 = self.pos
|
16224
|
+
_ary = []
|
16225
|
+
_tmp = apply(:_TableAlign2)
|
16226
|
+
if _tmp
|
16227
|
+
_ary << @result
|
16205
16228
|
while true
|
16206
|
-
_tmp =
|
16229
|
+
_tmp = apply(:_TableAlign2)
|
16230
|
+
_ary << @result if _tmp
|
16207
16231
|
break unless _tmp
|
16208
16232
|
end
|
16209
16233
|
_tmp = true
|
16210
|
-
|
16211
|
-
|
16212
|
-
|
16213
|
-
|
16214
|
-
|
16215
|
-
|
16234
|
+
@result = _ary
|
16235
|
+
else
|
16236
|
+
self.pos = _save4
|
16237
|
+
end
|
16238
|
+
line = @result
|
16216
16239
|
break if _tmp
|
16217
16240
|
self.pos = _save1
|
16218
16241
|
break
|
16219
16242
|
end # end choice
|
16220
16243
|
|
16244
|
+
unless _tmp
|
16245
|
+
self.pos = _save
|
16246
|
+
break
|
16247
|
+
end
|
16248
|
+
_save5 = self.pos
|
16249
|
+
_tmp = match_string("|")
|
16250
|
+
unless _tmp
|
16251
|
+
_tmp = true
|
16252
|
+
self.pos = _save5
|
16253
|
+
end
|
16254
|
+
unless _tmp
|
16255
|
+
self.pos = _save
|
16256
|
+
break
|
16257
|
+
end
|
16258
|
+
_tmp = _Newline()
|
16259
|
+
unless _tmp
|
16260
|
+
self.pos = _save
|
16261
|
+
break
|
16262
|
+
end
|
16263
|
+
@result = begin; line ; end
|
16264
|
+
_tmp = true
|
16265
|
+
unless _tmp
|
16266
|
+
self.pos = _save
|
16267
|
+
end
|
16268
|
+
break
|
16269
|
+
end # end sequence
|
16270
|
+
|
16271
|
+
set_failed_rule :_TableLine unless _tmp
|
16272
|
+
return _tmp
|
16273
|
+
end
|
16274
|
+
|
16275
|
+
# TableAlign2 = "|" @Sp TableAlign
|
16276
|
+
def _TableAlign2
|
16277
|
+
|
16278
|
+
_save = self.pos
|
16279
|
+
while true # sequence
|
16280
|
+
_tmp = match_string("|")
|
16281
|
+
unless _tmp
|
16282
|
+
self.pos = _save
|
16283
|
+
break
|
16284
|
+
end
|
16285
|
+
_tmp = _Sp()
|
16286
|
+
unless _tmp
|
16287
|
+
self.pos = _save
|
16288
|
+
break
|
16289
|
+
end
|
16290
|
+
_tmp = apply(:_TableAlign)
|
16291
|
+
unless _tmp
|
16292
|
+
self.pos = _save
|
16293
|
+
end
|
16294
|
+
break
|
16295
|
+
end # end sequence
|
16296
|
+
|
16297
|
+
set_failed_rule :_TableAlign2 unless _tmp
|
16298
|
+
return _tmp
|
16299
|
+
end
|
16300
|
+
|
16301
|
+
# TableAlign = < /:?-+:?/ > @Sp { text.start_with?(":") ? (text.end_with?(":") ? :center : :left) : (text.end_with?(":") ? :right : nil) }
|
16302
|
+
def _TableAlign
|
16303
|
+
|
16304
|
+
_save = self.pos
|
16305
|
+
while true # sequence
|
16306
|
+
_text_start = self.pos
|
16307
|
+
_tmp = scan(/\G(?-mix::?-+:?)/)
|
16221
16308
|
if _tmp
|
16222
16309
|
text = get_text(_text_start)
|
16223
16310
|
end
|
@@ -16225,8 +16312,15 @@ class RDoc::Markdown
|
|
16225
16312
|
self.pos = _save
|
16226
16313
|
break
|
16227
16314
|
end
|
16228
|
-
|
16229
|
-
|
16315
|
+
_tmp = _Sp()
|
16316
|
+
unless _tmp
|
16317
|
+
self.pos = _save
|
16318
|
+
break
|
16319
|
+
end
|
16320
|
+
@result = begin;
|
16321
|
+
text.start_with?(":") ?
|
16322
|
+
(text.end_with?(":") ? :center : :left) :
|
16323
|
+
(text.end_with?(":") ? :right : nil)
|
16230
16324
|
; end
|
16231
16325
|
_tmp = true
|
16232
16326
|
unless _tmp
|
@@ -16235,7 +16329,7 @@ class RDoc::Markdown
|
|
16235
16329
|
break
|
16236
16330
|
end # end sequence
|
16237
16331
|
|
16238
|
-
set_failed_rule :
|
16332
|
+
set_failed_rule :_TableAlign unless _tmp
|
16239
16333
|
return _tmp
|
16240
16334
|
end
|
16241
16335
|
|
@@ -16661,7 +16755,7 @@ class RDoc::Markdown
|
|
16661
16755
|
Rules[:_OptionallyIndentedLine] = rule_info("OptionallyIndentedLine", "Indent? Line")
|
16662
16756
|
Rules[:_StartList] = rule_info("StartList", "&. { [] }")
|
16663
16757
|
Rules[:_Line] = rule_info("Line", "@RawLine:a { a }")
|
16664
|
-
Rules[:_RawLine] = rule_info("RawLine", "(<
|
16758
|
+
Rules[:_RawLine] = rule_info("RawLine", "(< /[^\\r\\n]*/ @Newline > | < .+ > @Eof) { text }")
|
16665
16759
|
Rules[:_SkipBlock] = rule_info("SkipBlock", "(HtmlBlock | (!\"\#\" !SetextBottom1 !SetextBottom2 !@BlankLine @RawLine)+ @BlankLine* | @BlankLine+ | @RawLine)")
|
16666
16760
|
Rules[:_ExtendedSpecialChar] = rule_info("ExtendedSpecialChar", "&{ notes? } \"^\"")
|
16667
16761
|
Rules[:_NoteReference] = rule_info("NoteReference", "&{ notes? } RawNoteReference:ref { note_for ref }")
|
@@ -16669,13 +16763,16 @@ class RDoc::Markdown
|
|
16669
16763
|
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
16764
|
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
16765
|
Rules[:_Notes] = rule_info("Notes", "(Note | SkipBlock)*")
|
16672
|
-
Rules[:_RawNoteBlock] = rule_info("RawNoteBlock", "@StartList:a (!@BlankLine OptionallyIndentedLine:l { a << l })+ < @BlankLine* > { a << text } { a }")
|
16766
|
+
Rules[:_RawNoteBlock] = rule_info("RawNoteBlock", "@StartList:a (!@BlankLine !RawNoteReference OptionallyIndentedLine:l { a << l })+ < @BlankLine* > { a << text } { a }")
|
16673
16767
|
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[:
|
16768
|
+
Rules[:_Table] = rule_info("Table", "&{ github? } TableHead:header TableLine:line TableRow+:body { table = RDoc::Markup::Table.new(header, line, body) }")
|
16769
|
+
Rules[:_TableHead] = rule_info("TableHead", "TableItem2+:items \"|\"? @Newline { items }")
|
16770
|
+
Rules[:_TableRow] = rule_info("TableRow", "((TableItem:item1 TableItem2*:items { [item1, *items] }):row | TableItem2+:row) \"|\"? @Newline { row }")
|
16771
|
+
Rules[:_TableItem2] = rule_info("TableItem2", "\"|\" TableItem")
|
16772
|
+
Rules[:_TableItem] = rule_info("TableItem", "< /(?:\\\\.|[^|\\n])+/ > { text.strip.gsub(/\\\\(.)/, '\\1') }")
|
16773
|
+
Rules[:_TableLine] = rule_info("TableLine", "((TableAlign:align1 TableAlign2*:aligns {[align1, *aligns] }):line | TableAlign2+:line) \"|\"? @Newline { line }")
|
16774
|
+
Rules[:_TableAlign2] = rule_info("TableAlign2", "\"|\" @Sp TableAlign")
|
16775
|
+
Rules[:_TableAlign] = rule_info("TableAlign", "< /:?-+:?/ > @Sp { text.start_with?(\":\") ? (text.end_with?(\":\") ? :center : :left) : (text.end_with?(\":\") ? :right : nil) }")
|
16679
16776
|
Rules[:_DefinitionList] = rule_info("DefinitionList", "&{ definition_lists? } DefinitionListItem+:list { RDoc::Markup::List.new :NOTE, *list.flatten }")
|
16680
16777
|
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
16778
|
Rules[:_DefinitionListLabel] = rule_info("DefinitionListLabel", "StrChunk:label @Sp @Newline { label }")
|