mirror of
https://github.com/TangentFoxy/argparse.git
synced 2025-10-02 07:02:29 +00:00
Pass command name to command actions
This commit is contained in:
@@ -189,7 +189,8 @@ describe("actions", function()
|
|||||||
args.last = 1
|
args.last = 1
|
||||||
end)
|
end)
|
||||||
parser:flag("-f"):count("0-3")
|
parser:flag("-f"):count("0-3")
|
||||||
local foo = parser:command("foo"):action(function(passed_args)
|
local foo = parser:command("foo"):action(function(passed_args, name)
|
||||||
|
assert.equals("foo", name)
|
||||||
args[2] = passed_args
|
args[2] = passed_args
|
||||||
args.last = 2
|
args.last = 2
|
||||||
end)
|
end)
|
||||||
|
@@ -919,7 +919,7 @@ function ParseState:switch(parser)
|
|||||||
self.parser = parser
|
self.parser = parser
|
||||||
|
|
||||||
if parser._action then
|
if parser._action then
|
||||||
table.insert(self.command_actions, parser._action)
|
table.insert(self.command_actions, {action = parser._action, name = parser._name})
|
||||||
end
|
end
|
||||||
|
|
||||||
for _, option in ipairs(parser._options) do
|
for _, option in ipairs(parser._options) do
|
||||||
@@ -1075,7 +1075,7 @@ function ParseState:finalize()
|
|||||||
end
|
end
|
||||||
|
|
||||||
for i = #self.command_actions, 1, -1 do
|
for i = #self.command_actions, 1, -1 do
|
||||||
self.command_actions[i](self.result)
|
self.command_actions[i].action(self.result, self.command_actions[i].name)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user