aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2019-08-30 11:02:58 -0300
committerHisham Muhammad <hisham@gobolinux.org>2019-09-03 15:00:01 -0300
commitccf92207e1092ae339b74454168acca79af72d0e (patch)
tree71ea1ea96e76274e14b523ac2b0f62306dd870f6 /src
parent0a5c5eee15072b712d0cee4cce8d642d1177ff76 (diff)
downloadluarocks-ccf92207e1092ae339b74454168acca79af72d0e.tar.gz
luarocks-ccf92207e1092ae339b74454168acca79af72d0e.tar.bz2
luarocks-ccf92207e1092ae339b74454168acca79af72d0e.zip
cmd: add compatibility mode for pre-argparse external commands
See #1070.
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(...)