Add 'list' option to bind command to list all the available commands and remove

hardcoded list in bind help.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4835 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Emanuele Giaquinta 2008-05-19 11:25:14 +00:00 committed by exg
commit 547e3defc2
4 changed files with 18 additions and 65 deletions

View file

@ -670,7 +670,7 @@ static void cmd_show_keys(const char *searchkey, int full)
printformat(NULL, NULL, MSGLEVEL_CLIENTCRAP, TXT_BIND_FOOTER);
}
/* SYNTAX: BIND [-delete] [<key> [<command> [<data>]]] */
/* SYNTAX: BIND [-list] [-delete] [<key> [<command> [<data>]]] */
static void cmd_bind(const char *data)
{
GHashTable *optlist;
@ -682,6 +682,19 @@ static void cmd_bind(const char *data)
"bind", &optlist, &key, &id, &keydata))
return;
if (g_hash_table_lookup(optlist, "list")) {
GSList *tmp;
for (tmp = keyinfos; tmp != NULL; tmp = tmp->next) {
KEYINFO_REC *rec = tmp->data;
printformat(NULL, NULL, MSGLEVEL_CLIENTCRAP, TXT_BIND_COMMAND_LIST,
rec->id, rec->description ? rec->description : "");
}
cmd_params_free(free_arg);
return;
}
if (*key != '\0' && g_hash_table_lookup(optlist, "delete")) {
/* delete key */
key_configure_remove(key);
@ -840,7 +853,7 @@ void keyboard_init(void)
signal_add("complete command bind", (SIGNAL_FUNC) sig_complete_bind);
command_bind("bind", NULL, (SIGNAL_FUNC) cmd_bind);
command_set_options("bind", "delete");
command_set_options("bind", "delete list");
}
void keyboard_deinit(void)

View file

@ -269,6 +269,7 @@ FORMAT_REC fecommon_core_formats[] = {
{ "perl_error", "Perl error: $0", 1, { 0 } },
{ "bind_header", "%#Key Action", 0 },
{ "bind_list", "%#$[!20]0 $1 $2", 3, { 0, 0, 0 } },
{ "bind_command_list", "$[!30]0 $1", 2, { 0, 0 } },
{ "bind_footer", "", 0 },
{ "bind_unknown_id", "Unknown bind action: $0", 1, { 0 } },
{ "config_saved", "Saved configuration to file $0", 1, { 0 } },

View file

@ -234,6 +234,7 @@ enum {
TXT_PERL_ERROR,
TXT_BIND_HEADER,
TXT_BIND_LIST,
TXT_BIND_COMMAND_LIST,
TXT_BIND_FOOTER,
TXT_BIND_UNKNOWN_ID,
TXT_CONFIG_SAVED,