Mercurial > hg-stable
changeset 39332:200ad3e85a97
minirst: extract function that filters parsed blocks by section name
I'll move some bits from minirst.format() to caller to make the function
interface simpler.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 05 Aug 2018 11:38:56 +0900 |
parents | fc54a290b4b0 |
children | 9fe97e676250 |
files | mercurial/minirst.py |
diffstat | 1 files changed, 15 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/minirst.py Sat Aug 25 20:19:27 2018 +0900 +++ b/mercurial/minirst.py Sun Aug 05 11:38:56 2018 +0900 @@ -666,8 +666,21 @@ def format(text, width=80, indent=0, keep=None, style='plain', section=None): """Parse and format the text according to width.""" blocks, pruned = parse(text, indent, keep or []) + if section: + blocks = filtersections(blocks, section) + if style == 'html': + text = formathtml(blocks) + else: + text = ''.join(formatblock(b, width) for b in blocks) + if keep is None: + return text + else: + return text, pruned + +def filtersections(blocks, section): + """Select parsed blocks under the specified section""" parents = [] - if section: + if True: sections = getsections(blocks) blocks = [] i = 0 @@ -714,14 +727,7 @@ '.'.join(path + [realline[0]]).replace('"', '')) del blocks[s[0]:real] - if style == 'html': - text = formathtml(blocks) - else: - text = ''.join(formatblock(b, width) for b in blocks) - if keep is None: - return text - else: - return text, pruned + return blocks def getsections(blocks): '''return a list of (section name, nesting level, blocks) tuples'''