Add brackets to argname automatically

Updated aux files
This commit is contained in:
mpeterv
2014-04-24 21:16:06 +04:00
parent f9fd78a5f0
commit d1386c1d96
5 changed files with 25 additions and 24 deletions

View File

@@ -9,7 +9,8 @@ before_install:
- bash .travis_setup.sh
install:
- sudo luarocks make rockspecs/argparse-git-1.rockspec
- sudo luarocks make rockspecs/argparse-scm-1.rockspec
- sudo luarocks install busted
script: "busted spec"
script:
- busted spec

View File

@@ -5,8 +5,7 @@
if [ "$LUA" == "LuaJIT 2.0" ]; then
curl http://luajit.org/download/LuaJIT-2.0.2.tar.gz | tar xz
cd LuaJIT-2.0.2
make && sudo make install INSTALL_TSYMNAME=lua
cd ..;
make && sudo make install INSTALL_TSYMNAME=lua;
else
if [ "$LUA" == "Lua 5.1" ]; then
curl http://www.lua.org/ftp/lua-5.1.5.tar.gz | tar xz
@@ -15,13 +14,12 @@ else
curl http://www.lua.org/ftp/lua-5.2.3.tar.gz | tar xz
cd lua-5.2.3;
fi
sudo make linux install
cd ..;
sudo make linux install;
fi
curl http://luarocks.org/releases/luarocks-2.1.1.tar.gz | tar xz
cd luarocks-2.1.1
cd ..
curl http://luarocks.org/releases/luarocks-2.1.2.tar.gz | tar xz
cd luarocks-2.1.2
if [ "$LUA" == "LuaJIT 2.0" ]; then
./configure --with-lua-include=/usr/local/include/luajit-2.0;

View File

@@ -1,5 +1,5 @@
package = "argparse"
version = "git-1"
version = "scm-1"
source = {
url = "git://github.com/mpeterv/argparse.git"
}

View File

@@ -136,7 +136,7 @@ describe("tests related to usage message generation", function()
:add_help(false)
parser:argument "inputs"
:args "1-2"
:argname "<input>"
:argname "input"
assert.equal(
[=[Usage: foo <input> [<input>]]=],
@@ -150,7 +150,7 @@ describe("tests related to usage message generation", function()
parser:option "--pair"
:args(2)
:count "*"
:argname{"<key>", "<value>"}
:argname{"key", "value"}
assert.equal(
[=[Usage: foo [--pair <key> <value>]]=],

View File

@@ -31,7 +31,7 @@ do -- Create classes with setters
self._name = name_or_options
end
elseif type(name_or_options) == "table" then
for field, setter in pairs(fields) do
for field in pairs(fields) do
if name_or_options[field] ~= nil then
self[field](self, name_or_options[field])
end
@@ -229,7 +229,7 @@ function Argument:_get_argument_list()
local i = 1
while i <= math.min(self._minargs, 3) do
local argname = self:_get_argname_i(i)
local argname = self:_get_argname(i)
if self._default and self._defmode:find "a" then
argname = "[" .. argname .. "]"
@@ -240,7 +240,7 @@ function Argument:_get_argument_list()
end
while i <= math.min(self._maxargs, 3) do
table.insert(buf, "[" .. self:_get_argname_i(i) .. "]")
table.insert(buf, "[" .. self:_get_argname(i) .. "]")
i = i+1
if self._maxargs == math.huge then
@@ -287,24 +287,26 @@ function Argument:_get_type()
end
end
function Argument:_get_argname_i(i)
local argname = self:_get_argname()
-- Returns placeholder for `narg`-th argument.
function Argument:_get_argname(narg)
local argname = self._argname or self:_get_default_argname()
if type(argname) == "table" then
return argname[i]
return "<" .. argname[narg] .. ">"
else
return argname
return "<" .. argname .. ">"
end
end
function Argument:_get_argname()
return self._argname or ("<"..self._name..">")
function Argument:_get_default_argname()
return self._name
end
function Option:_get_argname()
return self._argname or ("<"..self:_get_target()..">")
function Option:_get_default_argname()
return self:_get_target()
end
-- Returns label to be shown in the help message.
function Argument:_get_label()
return self._name
end
@@ -954,7 +956,7 @@ end
function Parser:pparse(args)
local errmsg
local ok, result = pcall(function()
return self:_parse(args, function(parser, err)
return self:_parse(args, function(_, err)
errmsg = err
return error()
end)