532 except error.AmbiguousCommand: |
532 except error.AmbiguousCommand: |
533 self.badalias = (_("alias '%s' resolves to ambiguous command '%s'") |
533 self.badalias = (_("alias '%s' resolves to ambiguous command '%s'") |
534 % (self.name, cmd)) |
534 % (self.name, cmd)) |
535 |
535 |
536 def _populatehelp(self, ui, name, cmd, fn, defaulthelp=None): |
536 def _populatehelp(self, ui, name, cmd, fn, defaulthelp=None): |
537 self.help = ui.config('alias', '%s:help' % name, defaulthelp or '') |
537 # confine strings to be passed to i18n.gettext() |
|
538 cfg = {} |
|
539 for k in ('doc', 'help'): |
|
540 v = ui.config('alias', '%s:%s' % (name, k), None) |
|
541 if v is None: |
|
542 continue |
|
543 if not encoding.isasciistr(v): |
|
544 self.badalias = (_("non-ASCII character in alias definition " |
|
545 "'%s:%s'") % (name, k)) |
|
546 return |
|
547 cfg[k] = v |
|
548 |
|
549 self.help = cfg.get('help', defaulthelp or '') |
538 if self.help and self.help.startswith("hg " + cmd): |
550 if self.help and self.help.startswith("hg " + cmd): |
539 # drop prefix in old-style help lines so hg shows the alias |
551 # drop prefix in old-style help lines so hg shows the alias |
540 self.help = self.help[4 + len(cmd):] |
552 self.help = self.help[4 + len(cmd):] |
541 |
553 |
542 self.__doc__ = ui.config('alias', '%s:doc' % name, fn.__doc__) |
554 self.__doc__ = cfg.get('doc', fn.__doc__) |
543 |
555 |
544 @property |
556 @property |
545 def args(self): |
557 def args(self): |
546 args = pycompat.maplist(util.expandpath, self.givenargs) |
558 args = pycompat.maplist(util.expandpath, self.givenargs) |
547 return aliasargs(self.fn, args) |
559 return aliasargs(self.fn, args) |