Mercurial > hg-stable
changeset 28893:ee11167fe1da
parser: extract helper that creates a dict of aliases
This will be common between revset and templater.
The local variable 'alias' is renamed to 'a' to avoid shadowing the global
'alias' class.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Mon, 29 Feb 2016 19:24:15 +0900 |
parents | 0c135f37c6f8 |
children | 0f59674dc9ff |
files | mercurial/parser.py mercurial/revset.py |
diffstat | 2 files changed, 11 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/parser.py Mon Feb 29 18:33:30 2016 +0900 +++ b/mercurial/parser.py Mon Feb 29 19:24:15 2016 +0900 @@ -462,3 +462,13 @@ if err: err = efmt % {'section': cls._section, 'name': name, 'error': err} return alias(name, tree, args, err, repl) + + @classmethod + def buildmap(cls, items): + """Parse a list of alias (name, replacement) pairs into a dict of + alias objects""" + aliases = {} + for decl, defn in items: + a = cls.build(decl, defn) + aliases[a.name] = a + return aliases
--- a/mercurial/revset.py Mon Feb 29 18:33:30 2016 +0900 +++ b/mercurial/revset.py Mon Feb 29 19:24:15 2016 +0900 @@ -2320,10 +2320,7 @@ return result def findaliases(ui, tree, showwarning=None): - aliases = {} - for k, v in ui.configitems('revsetalias'): - alias = _aliasrules.build(k, v) - aliases[alias.name] = alias + aliases = _aliasrules.buildmap(ui.configitems('revsetalias')) tree = _expandaliases(aliases, tree, [], {}) if showwarning: # warn about problematic (but not referred) aliases