Comments
Patch
@@ -11,6 +11,7 @@
from mercurial import (
commands,
+ error,
extensions,
fileset as filesetmod,
registrar,
@@ -96,8 +97,8 @@
for command, wrapper, opts in self._commandwrappers:
entry = extensions.wrapcommand(commands.table, command, wrapper)
if opts:
- for short, long, val, msg in opts:
- entry[1].append((short, long, val, msg))
+ for opt in opts:
+ entry[1].append(opt)
for cont, funcname, wrapper in self._functionwrappers:
extensions.wrapfunction(cont, funcname, wrapper)
for c in self._uicallables:
@@ -157,8 +158,8 @@
knownexts[ext] = e.cmdtable
entry = extensions.wrapcommand(knownexts[ext], command, wrapper)
if opts:
- for short, long, val, msg in opts:
- entry[1].append((short, long, val, msg))
+ for opt in opts:
+ entry[1].append(opt)
for c in self._extcallables:
c(ui)
@@ -294,12 +295,21 @@
ui.note('Barry!')
return orig(ui, repo, *args, **kwargs)
- The `opts` argument allows specifying additional arguments for the
- command.
+ The `opts` argument allows specifying a list of tuples for additional
+ arguments for the command. See ``mercurial.fancyopts.fancyopts()`` for
+ the format of the tuple.
"""
if opts is None:
opts = []
+ else:
+ for opt in opts:
+ if not isinstance(opt, tuple):
+ raise error.ProgrammingError('opts must be list of tuples')
+ if len(opt) not in (4, 5):
+ msg = 'each opt tuple must contain 4 or 5 values'
+ raise error.ProgrammingError(msg)
+
def dec(wrapper):
if extension is None:
self._commandwrappers.append((command, wrapper, opts))