Mercurial > public > mercurial-scm > hg
comparison mercurial/help.py @ 39309:0a766cb1092a
help: reorder section filtering flow to not format help text twice
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 05 Aug 2018 12:20:43 +0900 |
parents | 9b800601701c |
children | d30867a745a1 |
comparison
equal
deleted
inserted
replaced
39308:9b800601701c | 39309:0a766cb1092a |
---|---|
671 textwidth = termwidth | 671 textwidth = termwidth |
672 text = help_(ui, commands, name, | 672 text = help_(ui, commands, name, |
673 subtopic=subtopic, unknowncmd=unknowncmd, full=full, **opts) | 673 subtopic=subtopic, unknowncmd=unknowncmd, full=full, **opts) |
674 | 674 |
675 blocks, pruned = minirst.parse(text, keep=keep) | 675 blocks, pruned = minirst.parse(text, keep=keep) |
676 if section: | |
677 blocks = minirst.filtersections(blocks, section) | |
678 formatted = minirst.formatplain(blocks, textwidth) | |
679 | |
680 # We could have been given a weird ".foo" section without a name | |
681 # to look for, or we could have simply failed to found "foo.bar" | |
682 # because bar isn't a section of foo | |
683 if section and not (formatted and name): | |
684 raise error.Abort(_("help section not found: %s") % fullname) | |
685 | |
686 if 'verbose' in pruned: | 676 if 'verbose' in pruned: |
687 keep.append('omitted') | 677 keep.append('omitted') |
688 else: | 678 else: |
689 keep.append('notomitted') | 679 keep.append('notomitted') |
690 blocks, pruned = minirst.parse(text, keep=keep) | 680 blocks, pruned = minirst.parse(text, keep=keep) |
691 if section: | 681 if section: |
692 blocks = minirst.filtersections(blocks, section) | 682 blocks = minirst.filtersections(blocks, section) |
683 | |
684 # We could have been given a weird ".foo" section without a name | |
685 # to look for, or we could have simply failed to found "foo.bar" | |
686 # because bar isn't a section of foo | |
687 if section and not (blocks and name): | |
688 raise error.Abort(_("help section not found: %s") % fullname) | |
689 | |
693 return minirst.formatplain(blocks, textwidth) | 690 return minirst.formatplain(blocks, textwidth) |