[前][次][番号順一覧][スレッド一覧]

ruby-changes:65479

From: Nobuyoshi <ko1@a...>
Date: Tue, 16 Mar 2021 15:47:45 +0900 (JST)
Subject: [ruby-changes:65479] de8e6218a3 (master): [ruby/rdoc] Fixed CodeFence without blank lines

https://git.ruby-lang.org/ruby.git/commit/?id=de8e6218a3

From de8e6218a3257fe19b46ff0aa157e66f452ac8b7 Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Mon, 22 Feb 2021 21:34:11 +0900
Subject: [ruby/rdoc] Fixed CodeFence without blank lines

Currently a fenced code block needs a preceding blank line, it
should not be required, as:
https://github.github.com/gfm/#fenced-code-blocks
> A fenced code block may interrupt a paragraph, and does not
> require a blank line either before or after.

Just recommended:
https://docs.github.com/en/github/writing-on-github/creating-and-highlighting-code-blocks
> We recommend placing a blank line before and after code blocks
> to make the raw formatting easier to read.

https://github.com/ruby/rdoc/commit/0e1776caf3
---
 lib/rdoc/markdown.rb            | 447 +++++++---------------------------------
 test/rdoc/test_rdoc_markdown.rb |  36 +++-
 2 files changed, 112 insertions(+), 371 deletions(-)

diff --git a/lib/rdoc/markdown.rb b/lib/rdoc/markdown.rb
index d9bfbd3..6ede5be 100644
--- a/lib/rdoc/markdown.rb
+++ b/lib/rdoc/markdown.rb
@@ -897,7 +897,7 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L897
     return _tmp
   end
 
-  # Block = @BlankLine* (BlockQuote | Verbatim | CodeFence | Table | Note | Reference | HorizontalRule | Heading | OrderedList | BulletList | DefinitionList | HtmlBlock | StyleBlock | Para | Plain)
+  # Block = @BlankLine* (BlockQuote | Verbatim | CodeFence | Note | Reference | HorizontalRule | Heading | OrderedList | BulletList | DefinitionList | HtmlBlock | StyleBlock | Para | Plain)
   def _Block
 
     _save = self.pos
@@ -923,9 +923,6 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L923
         _tmp = apply(:_CodeFence)
         break if _tmp
         self.pos = _save2
-        _tmp = apply(:_Table)
-        break if _tmp
-        self.pos = _save2
         _tmp = apply(:_Note)
         break if _tmp
         self.pos = _save2
@@ -9323,7 +9320,7 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L9320
     return _tmp
   end
 
-  # Inlines = (!@Endline Inline:i { i } | @Endline:c &Inline { c })+:chunks @Endline? { chunks }
+  # Inlines = (!@Endline Inline:i { i } | @Endline:c !(&{ github? } Ticks3 /[^`\n]*$/) &Inline { c })+:chunks @Endline? { chunks }
   def _Inlines
 
     _save = self.pos
@@ -9370,12 +9367,41 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L9367
             break
           end
           _save6 = self.pos
-          _tmp = apply(:_Inline)
+
+          _save7 = self.pos
+          while true # sequence
+            _save8 = self.pos
+            _tmp = begin;  github? ; end
+            self.pos = _save8
+            unless _tmp
+              self.pos = _save7
+              break
+            end
+            _tmp = apply(:_Ticks3)
+            unless _tmp
+              self.pos = _save7
+              break
+            end
+            _tmp = scan(/\A(?-mix:[^`\n]*$)/)
+            unless _tmp
+              self.pos = _save7
+            end
+            break
+          end # end sequence
+
+          _tmp = _tmp ? nil : true
           self.pos = _save6
           unless _tmp
             self.pos = _save5
             break
           end
+          _save9 = self.pos
+          _tmp = apply(:_Inline)
+          self.pos = _save9
+          unless _tmp
+            self.pos = _save5
+            break
+          end
           @result = begin;  c ; end
           _tmp = true
           unless _tmp
@@ -9393,61 +9419,90 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L9419
         _ary << @result
         while true
 
-          _save7 = self.pos
+          _save10 = self.pos
           while true # choice
 
-            _save8 = self.pos
+            _save11 = self.pos
             while true # sequence
-              _save9 = self.pos
+              _save12 = self.pos
               _tmp = _Endline()
               _tmp = _tmp ? nil : true
-              self.pos = _save9
+              self.pos = _save12
               unless _tmp
-                self.pos = _save8
+                self.pos = _save11
                 break
               end
               _tmp = apply(:_Inline)
               i = @result
               unless _tmp
-                self.pos = _save8
+                self.pos = _save11
                 break
               end
               @result = begin;  i ; end
               _tmp = true
               unless _tmp
-                self.pos = _save8
+                self.pos = _save11
               end
               break
             end # end sequence
 
             break if _tmp
-            self.pos = _save7
+            self.pos = _save10
 
-            _save10 = self.pos
+            _save13 = self.pos
             while true # sequence
               _tmp = _Endline()
               c = @result
               unless _tmp
-                self.pos = _save10
+                self.pos = _save13
                 break
               end
-              _save11 = self.pos
+              _save14 = self.pos
+
+              _save15 = self.pos
+              while true # sequence
+                _save16 = self.pos
+                _tmp = begin;  github? ; end
+                self.pos = _save16
+                unless _tmp
+                  self.pos = _save15
+                  break
+                end
+                _tmp = apply(:_Ticks3)
+                unless _tmp
+                  self.pos = _save15
+                  break
+                end
+                _tmp = scan(/\A(?-mix:[^`\n]*$)/)
+                unless _tmp
+                  self.pos = _save15
+                end
+                break
+              end # end sequence
+
+              _tmp = _tmp ? nil : true
+              self.pos = _save14
+              unless _tmp
+                self.pos = _save13
+                break
+              end
+              _save17 = self.pos
               _tmp = apply(:_Inline)
-              self.pos = _save11
+              self.pos = _save17
               unless _tmp
-                self.pos = _save10
+                self.pos = _save13
                 break
               end
               @result = begin;  c ; end
               _tmp = true
               unless _tmp
-                self.pos = _save10
+                self.pos = _save13
               end
               break
             end # end sequence
 
             break if _tmp
-            self.pos = _save7
+            self.pos = _save10
             break
           end # end choice
 
@@ -9464,11 +9519,11 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L9519
         self.pos = _save
         break
       end
-      _save12 = self.pos
+      _save18 = self.pos
       _tmp = _Endline()
       unless _tmp
         _tmp = true
-        self.pos = _save12
+        self.pos = _save18
       end
       unless _tmp
         self.pos = _save
@@ -15850,343 +15905,6 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L15905
     return _tmp
   end
 
-  # Table = &{ github? } TableRow:header TableLine:line TableRow+:body { table = RDoc::Markup::Table.new(header, line, body) }
-  def _Table
-
-    _save = self.pos
-    while true # sequence
-      _save1 = self.pos
-      _tmp = begin;  github? ; end
-      self.pos = _save1
-      unless _tmp
-        self.pos = _save
-        break
-      end
-      _tmp = apply(:_TableRow)
-      header = @result
-      unless _tmp
-        self.pos = _save
-        break
-      end
-      _tmp = apply(:_TableLine)
-      line = @result
-      unless _tmp
-        self.pos = _save
-        break
-      end
-      _save2 = self.pos
-      _ary = []
-      _tmp = apply(:_TableRow)
-      if _tmp
-        _ary << @result
-        while true
-          _tmp = apply(:_TableRow)
-          _ary << @result if _tmp
-          break unless _tmp
-        end
-        _tmp = true
-        @result = _ary
-      else
-        self.pos = _save2
-      end
-      body = @result
-      unless _tmp
-        self.pos = _save
-        break
-      end
-      @result = begin;  table = RDoc::Markup::Table.new(header, line, body) ; end
-      _tmp = true
-      unless _tmp
-        self.pos = _save
-      end
-      break
-    end # end sequence
-
-    set_failed_rule :_Table unless _tmp
-    return _tmp
-  end
-
-  # TableRow = < TableItem+:row > "|" @Newline { row }
-  def _TableRow
-
-    _save = self.pos
-    while true # sequence
-      _text_start = self.pos
-      _save1 = self.pos
-      _ary = []
-      _tmp = apply(:_TableItem)
-      if _tmp
-        _ary << @result
-        while true
-          _tmp = apply(:_TableItem)
-          _ary << @result if _tmp
-          break unless _tmp
-        end
-        _tmp = true
-        @result = _ary
-      else
-        self.pos = _save1
-      end
-      row = @result
-      if _tmp
-        text = get_text(_text_start)
-      end
-      unless _tmp
-        self.pos = _save
-        break
-      end
-      _tmp = match_string("|")
-      unless _tmp
-        self.pos = _save
-        break
-      end
-      _tmp = _Newline()
-      unless _tmp
-        self.pos = _save
-        break
-      end
-      @result = begin;  row ; end
-      _tmp = true
-      unless _tmp
-        self.pos = _save
-      end
-      break
-    end # end sequence
-
-    set_failed_rule :_TableRow unless _tmp
-    return _tmp
-  end
-
-  # TableItem = "|" < (!"|" !@Newline .)+ > { text.strip }
-  def _TableItem
-
-    _save = self.pos
-    while true # sequence
-      _tmp = match_string("|")
-      unless _tmp
-        self.pos = _save
-        break
-      end
-      _text_start = self.pos
-      _save1 = self.pos
-
-      _save2 = self.pos
-      while true # sequence
-        _save3 = self.pos
-        _tmp = match_string("|")
-        _tmp = _tmp ? nil (... truncated)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]