mirror of
https://github.com/profanity-im/profanity.git
synced 2024-11-03 19:37:16 -05:00
Merge pull request #1768 from profanity-im/winmsg-autocomp
Improve /msg and /win autocompletion
This commit is contained in:
commit
fc8455ba34
@ -275,6 +275,7 @@ static Autocomplete intype_ac;
|
||||
static Autocomplete mood_ac;
|
||||
static Autocomplete mood_type_ac;
|
||||
static Autocomplete adhoc_cmd_ac;
|
||||
static Autocomplete lastactivity_ac;
|
||||
|
||||
/*!
|
||||
* \brief Initialization of auto completion for commands.
|
||||
@ -1176,6 +1177,10 @@ cmd_ac_init(void)
|
||||
adhoc_cmd_ac = autocomplete_new();
|
||||
autocomplete_add(adhoc_cmd_ac, "list");
|
||||
autocomplete_add(adhoc_cmd_ac, "exec");
|
||||
|
||||
lastactivity_ac = autocomplete_new();
|
||||
autocomplete_add(lastactivity_ac, "set");
|
||||
autocomplete_add(lastactivity_ac, "get");
|
||||
}
|
||||
|
||||
void
|
||||
@ -1497,8 +1502,9 @@ cmd_ac_reset(ProfWin* window)
|
||||
autocomplete_reset(mood_ac);
|
||||
autocomplete_reset(mood_type_ac);
|
||||
autocomplete_reset(adhoc_cmd_ac);
|
||||
|
||||
autocomplete_reset(script_ac);
|
||||
autocomplete_reset(lastactivity_ac);
|
||||
|
||||
if (script_show_ac) {
|
||||
autocomplete_free(script_show_ac);
|
||||
script_show_ac = NULL;
|
||||
@ -1665,6 +1671,7 @@ cmd_ac_uninit(void)
|
||||
autocomplete_free(executable_ac);
|
||||
autocomplete_free(intype_ac);
|
||||
autocomplete_free(adhoc_cmd_ac);
|
||||
autocomplete_free(lastactivity_ac);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1836,6 +1843,11 @@ _cmd_ac_complete_params(ProfWin* window, const char* const input, gboolean previ
|
||||
free(unquoted);
|
||||
return result;
|
||||
}
|
||||
result = autocomplete_param_with_func(unquoted, contact_choices[i], roster_barejid_autocomplete, previous, NULL);
|
||||
if (result) {
|
||||
free(unquoted);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
free(unquoted);
|
||||
|
||||
@ -3668,7 +3680,16 @@ _console_autocomplete(ProfWin* window, const char* const input, gboolean previou
|
||||
static char*
|
||||
_win_autocomplete(ProfWin* window, const char* const input, gboolean previous)
|
||||
{
|
||||
return autocomplete_param_with_func(input, "/win", win_autocomplete, previous, NULL);
|
||||
char* result = autocomplete_param_with_func(input, "/win", win_autocomplete, previous, NULL);
|
||||
|
||||
if (result) {
|
||||
return result;
|
||||
}
|
||||
|
||||
char* unquoted = strip_arg_quotes(input);
|
||||
result = autocomplete_param_with_func(unquoted, "/win", roster_contact_autocomplete, previous, NULL);
|
||||
free(unquoted);
|
||||
return result;
|
||||
}
|
||||
|
||||
static char*
|
||||
@ -4237,8 +4258,8 @@ _lastactivity_autocomplete(ProfWin* window, const char* const input, gboolean pr
|
||||
{
|
||||
char* result = NULL;
|
||||
|
||||
result = autocomplete_param_with_ac(input, "/lastactivity", status_ac, TRUE, previous);
|
||||
if (!result) {
|
||||
result = autocomplete_param_with_ac(input, "/lastactivity", lastactivity_ac, TRUE, previous);
|
||||
if (result) {
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -4247,9 +4268,10 @@ _lastactivity_autocomplete(ProfWin* window, const char* const input, gboolean pr
|
||||
if (conn_status == JABBER_CONNECTED) {
|
||||
|
||||
result = autocomplete_param_with_func(input, "/lastactivity set", prefs_autocomplete_boolean_choice, previous, NULL);
|
||||
if (!result) {
|
||||
result = autocomplete_param_with_func(input, "/lastactivity get", roster_barejid_autocomplete, previous, NULL);
|
||||
if (result) {
|
||||
return result;
|
||||
}
|
||||
result = autocomplete_param_with_func(input, "/lastactivity get", roster_barejid_autocomplete, previous, NULL);
|
||||
}
|
||||
|
||||
return result;
|
||||
|
Loading…
Reference in New Issue
Block a user