From 5da45877d6e5abd5e42da331f9371e8ae1bcece8 Mon Sep 17 00:00:00 2001 From: Přemysl Janouch Date: Fri, 10 Jul 2015 01:45:39 +0200 Subject: degesch: add /alias that only lists aliases --- degesch.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/degesch.c b/degesch.c index 35e7891..041fa4f 100644 --- a/degesch.c +++ b/degesch.c @@ -6806,6 +6806,45 @@ handle_command_save (struct handler_args *a) return true; } +static bool +show_aliases_list (struct app_context *ctx) +{ + log_global_indent (ctx, ""); + log_global_indent (ctx, "Aliases:"); + + struct str_map_iter iter; + str_map_iter_init (&iter, get_aliases_config (ctx)); + + struct config_item_ *alias; + while ((alias = str_map_iter_next (&iter))) + { + if (!config_item_type_is_string (alias->type)) + continue; + + struct str definition; + str_init (&definition); + config_item_write_string (&definition, &alias->value.string); + log_global_indent (ctx, " /#s: #s", iter.link->key, definition.str); + str_free (&definition); + } + return true; +} + +static bool +handle_command_alias (struct handler_args *a) +{ + char *name = cut_word (&a->arguments); + if (!*name) + return show_aliases_list (a->ctx); + + char *definition = cut_word (&a->arguments); + if (!*definition) + return false; + + // TODO: set the alias "name" to "definition" + return true; +} + static bool handle_command_msg (struct handler_args *a) { @@ -7402,6 +7441,10 @@ g_command_handlers[] = NULL, handle_command_save, 0 }, + { "alias", "List or set aliases", + "[ ]", + handle_command_alias, 0 }, + { "msg", "Send message to a nick or channel", " ", handle_command_msg, HANDLER_SERVER | HANDLER_NEEDS_REG }, -- cgit v1.2.3-70-g09d2