--- a/prosodyctl Fri Jun 07 13:09:01 2019 +0100
+++ b/prosodyctl Thu Jun 20 19:17:47 2019 +0100
@@ -85,6 +85,19 @@
local commands = {};
local command = table.remove(arg, 1);
+function commands.list(arg)
+ -- Need to think about the case with many flags
+ local flag="--tree="
+ -- I'm considering the flag is the first, but there can be many flags
+ if arg[1] and arg[1]:sub(1, #flag) == flag then
+ local dir = arg[1]:match("=(.+)$")
+ -- These extra double brackets allow us to correctly process names with spaces
+ os.execute("luarocks list --tree=".."'"..dir.."'")
+ else
+ os.execute("luarocks list --tree="..prosody.paths.data.."/rocks")
+ end
+end
+
function commands.enabled_plugins()
for module in modulemanager.get_modules_for_host() do
show_warning("%s", module)