Mercurial > public > mercurial-scm > hg
comparison mercurial/dispatch.py @ 28828:3640c1702c43
help: report source of aliases
author | timeless <timeless@mozdev.org> |
---|---|
date | Fri, 08 Apr 2016 18:35:49 +0000 |
parents | d3369dc6c1d0 |
children | 86db5cb55d46 |
comparison
equal
deleted
inserted
replaced
28827:1e184241de51 | 28828:3640c1702c43 |
---|---|
377 regex = '|'.join(replacemap.keys()).replace('$', r'\$') | 377 regex = '|'.join(replacemap.keys()).replace('$', r'\$') |
378 r = re.compile(regex) | 378 r = re.compile(regex) |
379 return r.sub(lambda x: replacemap[x.group()], cmd) | 379 return r.sub(lambda x: replacemap[x.group()], cmd) |
380 | 380 |
381 class cmdalias(object): | 381 class cmdalias(object): |
382 def __init__(self, name, definition, cmdtable): | 382 def __init__(self, name, definition, cmdtable, source): |
383 self.name = self.cmd = name | 383 self.name = self.cmd = name |
384 self.cmdname = '' | 384 self.cmdname = '' |
385 self.definition = definition | 385 self.definition = definition |
386 self.fn = None | 386 self.fn = None |
387 self.args = [] | 387 self.args = [] |
388 self.opts = [] | 388 self.opts = [] |
389 self.help = '' | 389 self.help = '' |
390 self.badalias = None | 390 self.badalias = None |
391 self.unknowncmd = False | 391 self.unknowncmd = False |
392 self.source = source | |
392 | 393 |
393 try: | 394 try: |
394 aliases, entry = cmdutil.findcmd(self.name, cmdtable) | 395 aliases, entry = cmdutil.findcmd(self.name, cmdtable) |
395 for alias, e in cmdtable.iteritems(): | 396 for alias, e in cmdtable.iteritems(): |
396 if e is entry: | 397 if e is entry: |
497 def addaliases(ui, cmdtable): | 498 def addaliases(ui, cmdtable): |
498 # aliases are processed after extensions have been loaded, so they | 499 # aliases are processed after extensions have been loaded, so they |
499 # may use extension commands. Aliases can also use other alias definitions, | 500 # may use extension commands. Aliases can also use other alias definitions, |
500 # but only if they have been defined prior to the current definition. | 501 # but only if they have been defined prior to the current definition. |
501 for alias, definition in ui.configitems('alias'): | 502 for alias, definition in ui.configitems('alias'): |
502 aliasdef = cmdalias(alias, definition, cmdtable) | 503 source = ui.configsource('alias', alias) |
504 aliasdef = cmdalias(alias, definition, cmdtable, source) | |
503 | 505 |
504 try: | 506 try: |
505 olddef = cmdtable[aliasdef.cmd][0] | 507 olddef = cmdtable[aliasdef.cmd][0] |
506 if olddef.definition == aliasdef.definition: | 508 if olddef.definition == aliasdef.definition: |
507 continue | 509 continue |