Commits

Steve Losh committed d3e1536

Add the count filter to count revsets.

Comments (0)

Files changed (1)

 import subprocess
 from datetime import datetime, timedelta
 from os import path
-from mercurial import extensions, commands, help
+from mercurial import extensions, commands, cmdutil, help
 from mercurial.node import hex, short
 
 CACHE_PATH = ".hg/prompt/cache"
         
         return _with_groups(g, sep.join(tags)) if tags else ''
     
+    def _count(m):
+        g = m.groups()
+        query = [g[1][1:]] if g[1] else ['all()']
+        return _with_groups(g, str(len(cmdutil.revrange(repo, query))))
+    
     def _task(m):
         try:
             task = extensions.find('tasks').current(repo)
     patterns = {
         'bookmark': _bookmark,
         'branch(\|quiet)?': _branch,
+        'count(\|[^%s]*?)?' % brackets[-1]: _count,
         'node(?:'
             '(\|short)'
             '|(\|merge)'
      |quiet
          Display the current branch only if it is not the default branch.
 
+count
+     Display the number of revisions in the given revset (the revset `all()`
+     will be used if none is given.
+     
+     See `hg help revsets` for more information.
+     
+     |REVSET
+         The revset to count.
+
 incoming
      Display nothing, but if the default path contains incoming changesets the 
      extra text will be expanded.