degesch: add /alias that only lists aliases
This commit is contained in:
parent
0fd53af0d1
commit
5da45877d6
43
degesch.c
43
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",
|
||||
"[<name> <definition>]",
|
||||
handle_command_alias, 0 },
|
||||
|
||||
{ "msg", "Send message to a nick or channel",
|
||||
"<target> <message>",
|
||||
handle_command_msg, HANDLER_SERVER | HANDLER_NEEDS_REG },
|
||||
|
|
Loading…
Reference in New Issue