diff mercurial/commands.py @ 33026:f5f4c72de71a

bookmarks: factor out bookmark printing from commands
author Sean Farley <sean@farley.io>
date Tue, 20 Jun 2017 16:36:25 -0700
parents 4b81776baa7a
children f66be4caeaab
line wrap: on
line diff
--- a/mercurial/commands.py	Tue Jun 20 15:56:29 2017 -0700
+++ b/mercurial/commands.py	Tue Jun 20 16:36:25 2017 -0700
@@ -980,28 +980,7 @@
                 else:
                     bookmarks.deactivate(repo)
     else: # show bookmarks
-        fm = ui.formatter('bookmarks', opts)
-        hexfn = fm.hexfunc
-        marks = repo._bookmarks
-        if len(marks) == 0 and fm.isplain():
-            ui.status(_("no bookmarks set\n"))
-        for bmark, n in sorted(marks.iteritems()):
-            active = repo._activebookmark
-            if bmark == active:
-                prefix, label = '*', bookmarks.activebookmarklabel
-            else:
-                prefix, label = ' ', ''
-
-            fm.startitem()
-            if not ui.quiet:
-                fm.plain(' %s ' % prefix, label=label)
-            fm.write('bookmark', '%s', bmark, label=label)
-            pad = " " * (25 - encoding.colwidth(bmark))
-            fm.condwrite(not ui.quiet, 'rev node', pad + ' %d:%s',
-                         repo.changelog.rev(n), hexfn(n), label=label)
-            fm.data(active=(bmark == active))
-            fm.plain('\n')
-        fm.end()
+        bookmarks.printbookmarks(ui, repo, **opts)
 
 @command('branch',
     [('f', 'force', None,