diff options
author | Jo?o Duarte <jvsDuarte08@gmail.com> | 2019-07-17 09:03:15 -0700 |
---|---|---|
committer | Jo?o Duarte <jvsDuarte08@gmail.com> | 2019-07-17 09:03:15 -0700 |
commit | 20c564dc12d100914c6aac0b8184e9d54f376f3f (patch) | |
tree | 7eeff70e542e3a8f5b48abbb497dfc4ee49673ac /prosodyctl | |
parent | 1b5d7c04d9f3bc95d9984fb837313d061bcfaeee (diff) | |
download | prosody-20c564dc12d100914c6aac0b8184e9d54f376f3f.tar.gz prosody-20c564dc12d100914c6aac0b8184e9d54f376f3f.zip |
prosodyctl: Improved the 'remove' command
Diffstat (limited to 'prosodyctl')
-rwxr-xr-x | prosodyctl | 18 |
1 files changed, 14 insertions, 4 deletions
@@ -147,10 +147,20 @@ function commands.remove(arg) show_usage([[make]], [[Removes a module installed in the wroking directory's plugins folder]]); return 1 end - print("Removing "..arg[1].." from ./plugins") - os.execute("luarocks --tree='./plugins' remove "..arg[1]) - print("Done!") - return 0 + 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("=(.+)$") + print("Removing module "..arg[2].." at "..dir..", from luarocks repo") + -- These extra double brackets allow us to correctly process names with spaces + os.execute("luarocks remove --tree='"..dir.."' "..arg[2]) + return 0; + else + print("Removing "..arg[1].." from ./plugins") + os.execute("luarocks --tree='"..prosody.paths.plugins.."' remove "..arg[1]) + print("Done!") + return 0 + end end function commands.install(arg) |