Show More
@@ -661,12 +661,32 b' def format(text, width=80, indent=0, kee' | |||
|
661 | 661 | sections = getsections(blocks) |
|
662 | 662 | blocks = [] |
|
663 | 663 | i = 0 |
|
664 | lastparents = [] | |
|
665 | synthetic = [] | |
|
666 | collapse = True | |
|
664 | 667 | while i < len(sections): |
|
665 | 668 | name, nest, b = sections[i] |
|
666 | 669 | del parents[nest:] |
|
667 |
parents.append( |
|
|
670 | parents.append(i) | |
|
668 | 671 | if name == section: |
|
669 |
|
|
|
672 | if lastparents != parents: | |
|
673 | llen = len(lastparents) | |
|
674 | plen = len(parents) | |
|
675 | if llen and llen != plen: | |
|
676 | collapse = False | |
|
677 | s = [] | |
|
678 | for j in xrange(3, plen - 1): | |
|
679 | parent = parents[j] | |
|
680 | if (j >= llen or | |
|
681 | lastparents[j] != parent): | |
|
682 | s.append(len(blocks)) | |
|
683 | sec = sections[parent][2] | |
|
684 | blocks.append(sec[0]) | |
|
685 | blocks.append(sec[-1]) | |
|
686 | if s: | |
|
687 | synthetic.append(s) | |
|
688 | ||
|
689 | lastparents = parents[:] | |
|
670 | 690 | blocks.extend(b) |
|
671 | 691 | |
|
672 | 692 | ## Also show all subnested sections |
@@ -674,18 +694,19 b' def format(text, width=80, indent=0, kee' | |||
|
674 | 694 | i += 1 |
|
675 | 695 | blocks.extend(sections[i][2]) |
|
676 | 696 | i += 1 |
|
697 | if collapse: | |
|
698 | synthetic.reverse() | |
|
699 | for s in synthetic: | |
|
700 | path = [blocks[i]['lines'][0] for i in s] | |
|
701 | real = s[-1] + 2 | |
|
702 | realline = blocks[real]['lines'] | |
|
703 | realline[0] = ('"%s"' % | |
|
704 | '.'.join(path + [realline[0]]).replace('"', '')) | |
|
705 | del blocks[s[0]:real] | |
|
677 | 706 | |
|
678 | 707 | if style == 'html': |
|
679 | 708 | text = formathtml(blocks) |
|
680 | 709 | else: |
|
681 | if len([b for b in blocks if b['type'] == 'definition']) > 1: | |
|
682 | i = 0 | |
|
683 | while i < len(blocks): | |
|
684 | if blocks[i]['type'] == 'definition': | |
|
685 | if 'path' in blocks[i]: | |
|
686 | blocks[i]['lines'][0] = '"%s"' % '.'.join( | |
|
687 | blocks[i]['path']) | |
|
688 | i += 1 | |
|
689 | 710 | text = ''.join(formatblock(b, width) for b in blocks) |
|
690 | 711 | if keep is None: |
|
691 | 712 | return text |
@@ -1162,6 +1162,31 b' Show nested definitions' | |||
|
1162 | 1162 | $ hg help config.type | egrep '^$'|wc -l |
|
1163 | 1163 | \s*3 (re) |
|
1164 | 1164 | |
|
1165 | Separate sections from subsections | |
|
1166 | ||
|
1167 | $ hg help config.format | egrep '^ ("|-)|^\s*$' | uniq | |
|
1168 | "format" | |
|
1169 | -------- | |
|
1170 | ||
|
1171 | "usegeneraldelta" | |
|
1172 | ||
|
1173 | "dotencode" | |
|
1174 | ||
|
1175 | "usefncache" | |
|
1176 | ||
|
1177 | "usestore" | |
|
1178 | ||
|
1179 | "profiling" | |
|
1180 | ----------- | |
|
1181 | ||
|
1182 | "format" | |
|
1183 | ||
|
1184 | "progress" | |
|
1185 | ---------- | |
|
1186 | ||
|
1187 | "format" | |
|
1188 | ||
|
1189 | ||
|
1165 | 1190 | Last item in help config.*: |
|
1166 | 1191 | |
|
1167 | 1192 |
$ hg help config.`hg help config|grep ' |
General Comments 0
You need to be logged in to leave comments.
Login now