Show More
@@ -575,10 +575,7 b' def diffs(web, ctx, basectx, files, styl' | |||||
575 | linerange, lineidprefix) |
|
575 | linerange, lineidprefix) | |
576 | return templateutil.mappinggenerator(_diffsgen, args=args, name='diffblock') |
|
576 | return templateutil.mappinggenerator(_diffsgen, args=args, name='diffblock') | |
577 |
|
577 | |||
578 |
def |
|
578 | def _compline(tmpl, type, leftlineno, leftline, rightlineno, rightline): | |
579 | '''Generator function that provides side-by-side comparison data.''' |
|
|||
580 |
|
||||
581 | def compline(type, leftlineno, leftline, rightlineno, rightline): |
|
|||
582 |
|
|
579 | lineid = leftlineno and ("l%d" % leftlineno) or '' | |
583 |
|
|
580 | lineid += rightlineno and ("r%d" % rightlineno) or '' | |
584 |
|
|
581 | llno = '%d' % leftlineno if leftlineno else '' | |
@@ -594,27 +591,33 b' def compare(tmpl, context, leftlines, ri' | |||||
594 |
|
|
591 | 'rightline': rightline or '', | |
595 |
|
|
592 | }) | |
596 |
|
593 | |||
|
594 | def compare(tmpl, context, leftlines, rightlines): | |||
|
595 | '''Generator function that provides side-by-side comparison data.''' | |||
|
596 | ||||
597 | def getblock(opcodes): |
|
597 | def getblock(opcodes): | |
598 | for type, llo, lhi, rlo, rhi in opcodes: |
|
598 | for type, llo, lhi, rlo, rhi in opcodes: | |
599 | len1 = lhi - llo |
|
599 | len1 = lhi - llo | |
600 | len2 = rhi - rlo |
|
600 | len2 = rhi - rlo | |
601 | count = min(len1, len2) |
|
601 | count = min(len1, len2) | |
602 | for i in xrange(count): |
|
602 | for i in xrange(count): | |
603 |
yield compline(t |
|
603 | yield _compline(tmpl, | |
|
604 | type=type, | |||
604 | leftlineno=llo + i + 1, |
|
605 | leftlineno=llo + i + 1, | |
605 | leftline=leftlines[llo + i], |
|
606 | leftline=leftlines[llo + i], | |
606 | rightlineno=rlo + i + 1, |
|
607 | rightlineno=rlo + i + 1, | |
607 | rightline=rightlines[rlo + i]) |
|
608 | rightline=rightlines[rlo + i]) | |
608 | if len1 > len2: |
|
609 | if len1 > len2: | |
609 | for i in xrange(llo + count, lhi): |
|
610 | for i in xrange(llo + count, lhi): | |
610 |
yield compline(t |
|
611 | yield _compline(tmpl, | |
|
612 | type=type, | |||
611 | leftlineno=i + 1, |
|
613 | leftlineno=i + 1, | |
612 | leftline=leftlines[i], |
|
614 | leftline=leftlines[i], | |
613 | rightlineno=None, |
|
615 | rightlineno=None, | |
614 | rightline=None) |
|
616 | rightline=None) | |
615 | elif len2 > len1: |
|
617 | elif len2 > len1: | |
616 | for i in xrange(rlo + count, rhi): |
|
618 | for i in xrange(rlo + count, rhi): | |
617 |
yield compline(t |
|
619 | yield _compline(tmpl, | |
|
620 | type=type, | |||
618 | leftlineno=None, |
|
621 | leftlineno=None, | |
619 | leftline=None, |
|
622 | leftline=None, | |
620 | rightlineno=i + 1, |
|
623 | rightlineno=i + 1, |
General Comments 0
You need to be logged in to leave comments.
Login now