minirst: better interaction between comments and margins
authorMartin Geisler <mg@aragost.com>
Tue, 16 Nov 2010 11:10:50 +0100
changeset 13003 876a931dd230
parent 13002 6747d4a5c45d
child 13004 efbee27415ab
minirst: better interaction between comments and margins You can now split a list with a comment: * foo .. separator * bar and the two list items will no longer be run together, that is the output is * foo * bar instead of * foo * bar
mercurial/minirst.py
--- a/mercurial/minirst.py	Tue Nov 16 10:33:19 2010 +0900
+++ b/mercurial/minirst.py	Tue Nov 16 11:10:50 2010 +0100
@@ -280,6 +280,8 @@
         b = blocks[i]
         if b['type'] == 'paragraph' and b['lines'][0].startswith('.. '):
             del blocks[i]
+            if i < len(blocks) and blocks[i]['type'] == 'margin':
+                del blocks[i]
         else:
             i += 1
     return blocks
@@ -397,8 +399,8 @@
     blocks = hgrole(blocks)
     blocks = splitparagraphs(blocks)
     blocks = updatefieldlists(blocks)
+    blocks = addmargins(blocks)
     blocks = prunecomments(blocks)
-    blocks = addmargins(blocks)
     blocks = findadmonitions(blocks)
     text = '\n'.join(formatblock(b, width) for b in blocks)
     if keep is None:
@@ -425,7 +427,7 @@
     blocks = debug(splitparagraphs, blocks)
     blocks = debug(updatefieldlists, blocks)
     blocks = debug(findsections, blocks)
+    blocks = debug(addmargins, blocks)
     blocks = debug(prunecomments, blocks)
-    blocks = debug(addmargins, blocks)
     blocks = debug(findadmonitions, blocks)
     print '\n'.join(formatblock(b, 30) for b in blocks)