comparison mercurial/hgweb/webcommands.py @ 29572:d86b54d9bb0c

paper: make different blocks of annotated lines have different colors
author Anton Shestakov <av6@dwimlabs.net>
date Sat, 16 Jul 2016 14:49:07 +0800
parents df7d8ea90695
children dd0ff715a82c
comparison
equal deleted inserted replaced
29571:d1a7d9c279bb 29572:d86b54d9bb0c
878 lines = [((fctx.filectx(fctx.filerev()), 1), '(binary:%s)' % mt)] 878 lines = [((fctx.filectx(fctx.filerev()), 1), '(binary:%s)' % mt)]
879 else: 879 else:
880 lines = fctx.annotate(follow=True, linenumber=True, 880 lines = fctx.annotate(follow=True, linenumber=True,
881 diffopts=diffopts) 881 diffopts=diffopts)
882 previousrev = None 882 previousrev = None
883 blockparitygen = paritygen(1)
883 for lineno, ((f, targetline), l) in enumerate(lines): 884 for lineno, ((f, targetline), l) in enumerate(lines):
884 rev = f.rev() 885 rev = f.rev()
885 blockhead = rev != previousrev or None 886 if rev != previousrev:
887 blockhead = True
888 blockparity = next(blockparitygen)
889 else:
890 blockhead = None
886 previousrev = rev 891 previousrev = rev
887 yield {"parity": next(parity), 892 yield {"parity": next(parity),
888 "node": f.hex(), 893 "node": f.hex(),
889 "rev": rev, 894 "rev": rev,
890 "author": f.user(), 895 "author": f.user(),
891 "parents": parents(f), 896 "parents": parents(f),
892 "desc": f.description(), 897 "desc": f.description(),
893 "extra": f.extra(), 898 "extra": f.extra(),
894 "file": f.path(), 899 "file": f.path(),
895 "blockhead": blockhead, 900 "blockhead": blockhead,
901 "blockparity": blockparity,
896 "targetline": targetline, 902 "targetline": targetline,
897 "line": l, 903 "line": l,
898 "lineno": lineno + 1, 904 "lineno": lineno + 1,
899 "lineid": "l%d" % (lineno + 1), 905 "lineid": "l%d" % (lineno + 1),
900 "linenumber": "% 6d" % (lineno + 1), 906 "linenumber": "% 6d" % (lineno + 1),