hgext/churn.py
changeset 11310 ac873ecfc3c2
parent 11302 e1dde7363601
child 11321 40c06bbf58be
equal deleted inserted replaced
11302:e1dde7363601 11310:ac873ecfc3c2
   148     width = ttywidth - maxname - 2 - 2 - 2
   148     width = ttywidth - maxname - 2 - 2 - 2
   149 
   149 
   150     if opts.get('diffstat'):
   150     if opts.get('diffstat'):
   151         width -= 15
   151         width -= 15
   152         def format(name, (added, removed)):
   152         def format(name, (added, removed)):
   153             return "%s %15s %s%s\n" % (ui.label(pad(name, maxname),
   153             return "%s %15s %s%s\n" % (pad(name, maxname),
   154                                                 'ui.plain'),
   154                                        '+%d/-%d' % (added, removed),
   155                                        ui.label('+%d/-%d' % (added, removed),
       
   156                                                 'ui.plain'),
       
   157                                        ui.label('+' * charnum(added),
   155                                        ui.label('+' * charnum(added),
   158                                                 'diffstat.inserted'),
   156                                                 'diffstat.inserted'),
   159                                        ui.label('-' * charnum(removed),
   157                                        ui.label('-' * charnum(removed),
   160                                                 'diffstat.deleted'))
   158                                                 'diffstat.deleted'))
   161     else:
   159     else:
   162         width -= 6
   160         width -= 6
   163         def format(name, count):
   161         def format(name, count):
   164             return ui.label("%s %6d %s\n" % (pad(name, maxname), sum(count),
   162             return "%s %6d %s\n" % (pad(name, maxname), sum(count),
   165                             '*' * charnum(sum(count))), 'ui.plain')
   163                                     '*' * charnum(sum(count)))
   166 
   164 
   167     def charnum(count):
   165     def charnum(count):
   168         return int(round(count * width / maxcount))
   166         return int(round(count * width / maxcount))
   169 
   167 
   170     for name, count in rate:
   168     for name, count in rate:
   171         ui.write(format(name, count), label='ui.labeled')
   169         ui.write(format(name, count))
   172 
   170 
   173 
   171 
   174 cmdtable = {
   172 cmdtable = {
   175     "churn":
   173     "churn":
   176         (churn,
   174         (churn,