mirror of
https://github.com/profanity-im/profanity.git
synced 2024-12-04 14:46:46 -05:00
Added /form help autocomplete
This commit is contained in:
parent
7973e0b683
commit
ecb2989a5d
@ -88,6 +88,7 @@ static char * _statuses_autocomplete(char *input, int *size);
|
|||||||
static char * _alias_autocomplete(char *input, int *size);
|
static char * _alias_autocomplete(char *input, int *size);
|
||||||
static char * _join_autocomplete(char *input, int *size);
|
static char * _join_autocomplete(char *input, int *size);
|
||||||
static char * _log_autocomplete(char *input, int *size);
|
static char * _log_autocomplete(char *input, int *size);
|
||||||
|
static char * _form_autocomplete(char *input, int *size);
|
||||||
static char * _form_field_autocomplete(char *input, int *size);
|
static char * _form_field_autocomplete(char *input, int *size);
|
||||||
static char * _occupants_autocomplete(char *input, int *size);
|
static char * _occupants_autocomplete(char *input, int *size);
|
||||||
static char * _kick_autocomplete(char *input, int *size);
|
static char * _kick_autocomplete(char *input, int *size);
|
||||||
@ -379,13 +380,10 @@ static struct cmd_t command_defs[] =
|
|||||||
NULL } } },
|
NULL } } },
|
||||||
|
|
||||||
{ "/form",
|
{ "/form",
|
||||||
cmd_form, parse_args, 1, 3, NULL,
|
cmd_form, parse_args, 1, 2, NULL,
|
||||||
{ "/form show|submit|cancel|set|add|remove|help [tag] [value]", "Form manipulation.",
|
{ "/form show|submit|cancel|help", "Form handling.",
|
||||||
{ "/form show|submit|cancel|set|add|remove|help [tag] [value]",
|
{ "/form show|submit|cancel|help",
|
||||||
"----------------------------------------------------------",
|
"-----------------------------",
|
||||||
"set tag value - Set tagged form field to value.",
|
|
||||||
"add tag value - Add value to tagged form field.",
|
|
||||||
"remove tag value - Remove value from tagged form field.",
|
|
||||||
"show - Show the current form.",
|
"show - Show the current form.",
|
||||||
"submit - Submit the current form.",
|
"submit - Submit the current form.",
|
||||||
"cancel - Cancel changes to the current form.",
|
"cancel - Cancel changes to the current form.",
|
||||||
@ -1820,8 +1818,8 @@ _cmd_complete_parameters(char *input, int *size)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gchar *cmds[] = { "/help", "/prefs", "/disco", "/close", "/wins", "/subject", "/room", "/form" };
|
gchar *cmds[] = { "/help", "/prefs", "/disco", "/close", "/wins", "/subject", "/room" };
|
||||||
Autocomplete completers[] = { help_ac, prefs_ac, disco_ac, close_ac, wins_ac, subject_ac, room_ac, form_ac };
|
Autocomplete completers[] = { help_ac, prefs_ac, disco_ac, close_ac, wins_ac, subject_ac, room_ac };
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(cmds); i++) {
|
for (i = 0; i < ARRAY_SIZE(cmds); i++) {
|
||||||
result = autocomplete_param_with_ac(input, size, cmds[i], completers[i], TRUE);
|
result = autocomplete_param_with_ac(input, size, cmds[i], completers[i], TRUE);
|
||||||
@ -1849,6 +1847,7 @@ _cmd_complete_parameters(char *input, int *size)
|
|||||||
g_hash_table_insert(ac_funcs, "/statuses", _statuses_autocomplete);
|
g_hash_table_insert(ac_funcs, "/statuses", _statuses_autocomplete);
|
||||||
g_hash_table_insert(ac_funcs, "/alias", _alias_autocomplete);
|
g_hash_table_insert(ac_funcs, "/alias", _alias_autocomplete);
|
||||||
g_hash_table_insert(ac_funcs, "/join", _join_autocomplete);
|
g_hash_table_insert(ac_funcs, "/join", _join_autocomplete);
|
||||||
|
g_hash_table_insert(ac_funcs, "/form", _form_autocomplete);
|
||||||
g_hash_table_insert(ac_funcs, "/occupants", _occupants_autocomplete);
|
g_hash_table_insert(ac_funcs, "/occupants", _occupants_autocomplete);
|
||||||
g_hash_table_insert(ac_funcs, "/kick", _kick_autocomplete);
|
g_hash_table_insert(ac_funcs, "/kick", _kick_autocomplete);
|
||||||
g_hash_table_insert(ac_funcs, "/ban", _ban_autocomplete);
|
g_hash_table_insert(ac_funcs, "/ban", _ban_autocomplete);
|
||||||
@ -2282,6 +2281,28 @@ _theme_autocomplete(char *input, int *size)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char *
|
||||||
|
_form_autocomplete(char *input, int *size)
|
||||||
|
{
|
||||||
|
char *found = NULL;
|
||||||
|
|
||||||
|
ProfWin *current = wins_get_current();
|
||||||
|
DataForm *form = current->form;
|
||||||
|
if (form) {
|
||||||
|
found = autocomplete_param_with_ac(input, size, "/form help", form->tag_ac, TRUE);
|
||||||
|
if (found != NULL) {
|
||||||
|
return found;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
found = autocomplete_param_with_ac(input, size, "/form", form_ac, TRUE);
|
||||||
|
if (found != NULL) {
|
||||||
|
return found;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
static char *
|
static char *
|
||||||
_form_field_autocomplete(char *input, int *size)
|
_form_field_autocomplete(char *input, int *size)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user