aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/luarocks/cmd.lua15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/luarocks/cmd.lua b/src/luarocks/cmd.lua
index 126bbe76..328afe3f 100644
--- a/src/luarocks/cmd.lua
+++ b/src/luarocks/cmd.lua
@@ -11,6 +11,8 @@ local fun = require("luarocks.fun")
11local fs = require("luarocks.fs") 11local fs = require("luarocks.fs")
12local argparse = require("luarocks.argparse") 12local argparse = require("luarocks.argparse")
13 13
14local unpack = unpack or table.unpack
15
14local hc_ok, hardcoded = pcall(require, "luarocks.core.hardcoded") 16local hc_ok, hardcoded = pcall(require, "luarocks.core.hardcoded")
15if not hc_ok then 17if not hc_ok then
16 hardcoded = {} 18 hardcoded = {}
@@ -459,6 +461,19 @@ function cmd.run_command(description, commands, external_namespace, ...)
459 local cmd_modules = {} 461 local cmd_modules = {}
460 for name, module in pairs(commands) do 462 for name, module in pairs(commands) do
461 cmd_modules[name] = require(module) 463 cmd_modules[name] = require(module)
464 if not cmd_modules[name].add_to_parser then
465 cmd_modules[name].add_to_parser = function(parser)
466 parser:command(name, cmd_modules[name].help, util.see_also())
467 :summary(cmd_modules[name].help_summary)
468 :handle_options(false)
469 :argument("input")
470 :args("*")
471 end
472 local original_command = cmd_modules[name].command
473 cmd_modules[name].command = function(args)
474 return original_command(args, unpack(args.input))
475 end
476 end
462 end 477 end
463 478
464 local function process_cmdline_vars(...) 479 local function process_cmdline_vars(...)