Mercurial > hg
changeset 23605:4c4c967814ef
namespaces: add template name of a namespace
The template name property will be used in upcoming patches to automatically
generate a template keyword. For example, given a namespace called 'babars', we
will automatically generate a template keyword 'babar' such that we can use it
in the following way,
$ hg log -r . -T '{babars % "King: {babar}\n"}'
author | Sean Farley <sean.michael.farley@gmail.com> |
---|---|
date | Mon, 15 Dec 2014 00:09:52 -0800 |
parents | bb304f9b05d0 |
children | 80e3cbe227d1 |
files | mercurial/namespaces.py |
diffstat | 1 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/namespaces.py Fri Dec 19 00:11:56 2014 +0900 +++ b/mercurial/namespaces.py Mon Dec 15 00:09:52 2014 -0800 @@ -26,6 +26,8 @@ We'll have a dictionary '_names' where each key is a namespace and its value is a dictionary of functions: + 'templatename': name to use for templating (usually the singular form + of the plural namespace name) 'namemap': function that takes a name and returns a list of nodes """ @@ -38,25 +40,27 @@ # we need current mercurial named objects (bookmarks, tags, and # branches) to be initialized somewhere, so that place is here - addns("bookmarks", + addns("bookmarks", "bookmark", lambda repo, name: tolist(repo._bookmarks.get(name))) - addns("tags", + addns("tags", "tag", lambda repo, name: tolist(repo._tagscache.tags.get(name))) - addns("branches", + addns("branches", "branch", lambda repo, name: tolist(repo.branchtip(name))) - def addnamespace(self, namespace, namemap, order=None): + def addnamespace(self, namespace, templatename, namemap, order=None): """ register a namespace namespace: the name to be registered (in plural form) + templatename: the name to use for templating namemap: function that inputs a node, output name(s) order: optional argument to specify the order of namespaces (e.g. 'branches' should be listed before 'bookmarks') """ - val = {'namemap': namemap} + val = {'templatename': templatename, + 'namemap': namemap} if order is not None: self._names.insert(order, namespace, val) else: