hgext/alias.py
changeset 8519 5fbee915ea5d
parent 8477 a0104303f400
equal deleted inserted replaced
8518:3f4f14eab085 8519:5fbee915ea5d
     9 mycmd = cmd --args
     9 mycmd = cmd --args
    10 '''
    10 '''
    11 
    11 
    12 from mercurial.i18n import _
    12 from mercurial.i18n import _
    13 from mercurial import commands, cmdutil, error
    13 from mercurial import commands, cmdutil, error
    14 import shlex
       
    15 
    14 
    16 cmdtable = {}
    15 cmdtable = {}
    17 
    16 
    18 class RecursiveCommand(Exception): pass
    17 class RecursiveCommand(Exception): pass
    19 
    18 
    68 def uisetup(ui):
    67 def uisetup(ui):
    69     for cmd, target in ui.configitems('alias'):
    68     for cmd, target in ui.configitems('alias'):
    70         if not target:
    69         if not target:
    71             ui.warn(_('*** [alias] %s: no definition\n') % cmd)
    70             ui.warn(_('*** [alias] %s: no definition\n') % cmd)
    72             continue
    71             continue
    73         args = shlex.split(target)
    72         args = target.split(' ', 1)
    74         tcmd = args.pop(0)
    73         tcmd = args.pop(0)
    75         if args:
    74         if args:
       
    75             args = args[0]
    76             defaults = ui.config('defaults', cmd)
    76             defaults = ui.config('defaults', cmd)
    77             if defaults:
    77             if defaults:
    78                 args = shlex.split(defaults) + args
    78                 args = ' '.join((args, defaults))
    79             ui.setconfig('defaults', cmd, ' '.join(args))
    79             ui.setconfig('defaults', cmd, args)
    80         cmdtable[cmd] = lazycommand(ui, cmd, tcmd)
    80         cmdtable[cmd] = lazycommand(ui, cmd, tcmd)