Mercurial > prosody-hg
comparison util/prosodyctl/shell.lua @ 13396:16413bc29361
util.prosodyctl.shell: Add :method syntax to make e.g. MUC commands easier
e.g.
prosodyctl shell muc room room@muc.example.com :set_name "This Room"
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 09 Dec 2023 16:25:04 +0100 |
| parents | 585bd71a1a97 |
| children | 4ba11c2b915a |
comparison
equal
deleted
inserted
replaced
| 13395:1675d4b6363a | 13396:16413bc29361 |
|---|---|
| 78 os.exit(1); | 78 os.exit(1); |
| 79 end | 79 end |
| 80 | 80 |
| 81 if arg[1] then | 81 if arg[1] then |
| 82 if arg[2] then | 82 if arg[2] then |
| 83 -- prosodyctl shell module reload foo bar.com --> module:reload("foo", "bar.com") | 83 local fmt = { "%s"; ":%s("; ")" }; |
| 84 arg[1] = string.format("%s:%s("..string.rep("%q", #arg-2,", ")..")", unpack(arg)); | 84 for i = 3, #arg do |
| 85 if arg[i]:sub(1, 1) == ":" then | |
| 86 table.insert(fmt, i, ")%s("); | |
| 87 elseif i > 3 and fmt[i - 1] == "%q" then | |
| 88 table.insert(fmt, i, ", %q"); | |
| 89 else | |
| 90 table.insert(fmt, i, "%q"); | |
| 91 end | |
| 92 end | |
| 93 arg[1] = string.format(table.concat(fmt), table.unpack(arg)); | |
| 85 end | 94 end |
| 86 | 95 |
| 87 client.events.add_handler("connected", function() | 96 client.events.add_handler("connected", function() |
| 88 send_line(client, arg[1]); | 97 send_line(client, arg[1]); |
| 89 return true; | 98 return true; |
