diff options
author | June McEnroe <june@causal.agency> | 2020-02-08 01:34:55 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-02-08 01:34:55 -0500 |
commit | 5c10fe0d414b655ae2cbf14c3db9216b438c5193 (patch) | |
tree | 835c60e24ae01e9b4648a7996ff5e98542a92b48 | |
parent | Add /part (diff) | |
download | catgirl-5c10fe0d414b655ae2cbf14c3db9216b438c5193.tar.gz catgirl-5c10fe0d414b655ae2cbf14c3db9216b438c5193.zip |
Add /query
Diffstat (limited to '')
-rw-r--r-- | catgirl.1 | 2 | ||||
-rw-r--r-- | command.c | 9 |
2 files changed, 11 insertions, 0 deletions
diff --git a/catgirl.1 b/catgirl.1 index 4dc002e..0702f58 100644 --- a/catgirl.1 +++ b/catgirl.1 @@ -136,6 +136,8 @@ Change nicknames. Send a notice. .It Ic /part Op Ar message Leave the channel. +.It Ic /query Ar nick +Start a private conversation. .It Ic /quit Op Ar message Quit IRC. .It Ic /quote Ar command diff --git a/command.c b/command.c index dfe4850..9047e95 100644 --- a/command.c +++ b/command.c @@ -83,6 +83,13 @@ static void commandNick(size_t id, char *params) { ircFormat("NICK :%s\r\n", params); } +static void commandQuery(size_t id, char *params) { + if (!params) return; + size_t query = idFor(params); + idColors[query] = completeColor(id, params); + uiShowID(query); +} + static void commandWindow(size_t id, char *params) { if (!params) return; if (isdigit(params[0])) { @@ -102,6 +109,7 @@ static const struct Handler { { "/nick", commandNick }, { "/notice", commandNotice }, { "/part", commandPart }, + { "/query", commandQuery }, { "/quit", commandQuit }, { "/quote", commandQuote }, { "/window", commandWindow }, @@ -151,6 +159,7 @@ void command(size_t id, char *input) { cmd, Commands, ARRAY_LEN(Commands), sizeof(*handler), compar ); if (handler) { + if (input && !input[0]) input = NULL; handler->fn(id, input); } else { uiFormat(id, Hot, NULL, "No such command %s", cmd); |