If an option with a default value is underused, invoke it more

This commit is contained in:
mpeterv
2014-02-20 12:48:51 +04:00
parent e99e047c4d
commit 3e6dc54201
2 changed files with 19 additions and 3 deletions

View File

@@ -761,9 +761,16 @@ function Parser:_parse(args, errhandler)
end
for _, option in ipairs(options) do
assert_(invocations[option] >= option._mincount,
"option '%s' must be used at least %d times", option._name, option._mincount
)
if invocations[option] < option._mincount then
if option._default then
while invocations[option] < option._mincount do
invoke(option)
close(option)
end
else
error_("option '%s' must be used at least %d times", option._name, option._mincount)
end
end
end
for _, callback in ipairs(com_callbacks) do