# HG changeset patch # User Yuya Nishihara # Date 2018-07-01 13:22:07 # Node ID 2f710498485704d6e26c6a1316b20a0f1c12549e # Parent a3be09e277e9d8b7db4ba57dbfd434eea88ed050 bookmarks: add support for log-like template keywords and functions This is basically the same as 5d9b765dbe15 "tags: unblock log-like template keywords and functions." diff --git a/mercurial/bookmarks.py b/mercurial/bookmarks.py --- a/mercurial/bookmarks.py +++ b/mercurial/bookmarks.py @@ -923,11 +923,14 @@ def _printbookmarks(ui, repo, bmarks, ** """ opts = pycompat.byteskwargs(opts) fm = ui.formatter('bookmarks', opts) + contexthint = fm.contexthint('bookmark rev node active') hexfn = fm.hexfunc if len(bmarks) == 0 and fm.isplain(): ui.status(_("no bookmarks set\n")) for bmark, (n, prefix, label) in sorted(bmarks.iteritems()): fm.startitem() + if 'ctx' in contexthint: + fm.context(ctx=repo[n]) if not ui.quiet: fm.plain(' %s ' % prefix, label=label) fm.write('bookmark', '%s', bmark, label=label) diff --git a/tests/test-bookmarks.t b/tests/test-bookmarks.t --- a/tests/test-bookmarks.t +++ b/tests/test-bookmarks.t @@ -77,6 +77,11 @@ list bookmarks $ hg commit -m 1 --config "$TESTHOOK" test-hook-bookmark: X2: f7b1eb17ad24730a1651fccd46c43826d1bbc2ac -> 925d80f479bb026b0fb3deb27503780b13f74123 + $ hg bookmarks -T '{rev}:{node|shortest} {bookmark} {desc|firstline}\n' + 0:f7b1 X 0 + 1:925d X2 1 + -1:0000 Y + $ hg bookmarks -Tjson [ {