mirror of
https://github.com/profanity-im/profanity.git
synced 2025-02-02 15:08:15 -05:00
Added /who autocomplete
This commit is contained in:
parent
6a32ed4571
commit
7aa177c668
@ -63,6 +63,8 @@ static gboolean _cmd_set_boolean_preference(const char * const inp,
|
|||||||
|
|
||||||
static char *_cmd_complete(char *inp);
|
static char *_cmd_complete(char *inp);
|
||||||
static void _cmd_reset_command_completer(void);
|
static void _cmd_reset_command_completer(void);
|
||||||
|
static char *_cmd_who_complete(char *inp);
|
||||||
|
static void _cmd_reset_who_completer(void);
|
||||||
static char *_cmd_help_complete(char *inp);
|
static char *_cmd_help_complete(char *inp);
|
||||||
static void _cmd_help_reset_completer(void);
|
static void _cmd_help_reset_completer(void);
|
||||||
static char *_cmd_notify_complete(char *inp);
|
static char *_cmd_notify_complete(char *inp);
|
||||||
@ -394,6 +396,7 @@ static struct cmd_t status_commands[] =
|
|||||||
};
|
};
|
||||||
|
|
||||||
static PAutocomplete commands_ac;
|
static PAutocomplete commands_ac;
|
||||||
|
static PAutocomplete who_ac;
|
||||||
static PAutocomplete help_ac;
|
static PAutocomplete help_ac;
|
||||||
static PAutocomplete notify_ac;
|
static PAutocomplete notify_ac;
|
||||||
|
|
||||||
@ -404,12 +407,16 @@ void
|
|||||||
cmd_init(void)
|
cmd_init(void)
|
||||||
{
|
{
|
||||||
log_info("Initialising commands");
|
log_info("Initialising commands");
|
||||||
|
|
||||||
commands_ac = p_autocomplete_new();
|
commands_ac = p_autocomplete_new();
|
||||||
|
who_ac = p_autocomplete_new();
|
||||||
|
|
||||||
help_ac = p_autocomplete_new();
|
help_ac = p_autocomplete_new();
|
||||||
p_autocomplete_add(help_ac, strdup("basic"));
|
p_autocomplete_add(help_ac, strdup("basic"));
|
||||||
p_autocomplete_add(help_ac, strdup("status"));
|
p_autocomplete_add(help_ac, strdup("status"));
|
||||||
p_autocomplete_add(help_ac, strdup("settings"));
|
p_autocomplete_add(help_ac, strdup("settings"));
|
||||||
p_autocomplete_add(help_ac, strdup("navigation"));
|
p_autocomplete_add(help_ac, strdup("navigation"));
|
||||||
|
|
||||||
notify_ac = p_autocomplete_new();
|
notify_ac = p_autocomplete_new();
|
||||||
p_autocomplete_add(notify_ac, strdup("message"));
|
p_autocomplete_add(notify_ac, strdup("message"));
|
||||||
p_autocomplete_add(notify_ac, strdup("typing"));
|
p_autocomplete_add(notify_ac, strdup("typing"));
|
||||||
@ -432,6 +439,7 @@ cmd_init(void)
|
|||||||
struct cmd_t *pcmd = status_commands+i;
|
struct cmd_t *pcmd = status_commands+i;
|
||||||
p_autocomplete_add(commands_ac, (gchar *)strdup(pcmd->cmd));
|
p_autocomplete_add(commands_ac, (gchar *)strdup(pcmd->cmd));
|
||||||
p_autocomplete_add(help_ac, (gchar *)strdup(pcmd->cmd+1));
|
p_autocomplete_add(help_ac, (gchar *)strdup(pcmd->cmd+1));
|
||||||
|
p_autocomplete_add(who_ac, (gchar *)strdup(pcmd->cmd+1));
|
||||||
}
|
}
|
||||||
|
|
||||||
history_init();
|
history_init();
|
||||||
@ -441,6 +449,7 @@ void
|
|||||||
cmd_close(void)
|
cmd_close(void)
|
||||||
{
|
{
|
||||||
p_autocomplete_clear(commands_ac);
|
p_autocomplete_clear(commands_ac);
|
||||||
|
p_autocomplete_clear(who_ac);
|
||||||
p_autocomplete_clear(help_ac);
|
p_autocomplete_clear(help_ac);
|
||||||
p_autocomplete_clear(notify_ac);
|
p_autocomplete_clear(notify_ac);
|
||||||
}
|
}
|
||||||
@ -481,6 +490,7 @@ cmd_reset_autocomplete()
|
|||||||
_cmd_help_reset_completer();
|
_cmd_help_reset_completer();
|
||||||
_cmd_notify_reset_completer();
|
_cmd_notify_reset_completer();
|
||||||
_cmd_reset_command_completer();
|
_cmd_reset_command_completer();
|
||||||
|
_cmd_reset_who_completer();
|
||||||
}
|
}
|
||||||
|
|
||||||
GSList *
|
GSList *
|
||||||
@ -569,6 +579,18 @@ _cmd_reset_command_completer(void)
|
|||||||
p_autocomplete_reset(commands_ac);
|
p_autocomplete_reset(commands_ac);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char *
|
||||||
|
_cmd_who_complete(char *inp)
|
||||||
|
{
|
||||||
|
return p_autocomplete_complete(who_ac, inp);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_cmd_reset_who_completer(void)
|
||||||
|
{
|
||||||
|
p_autocomplete_reset(who_ac);
|
||||||
|
}
|
||||||
|
|
||||||
static char *
|
static char *
|
||||||
_cmd_help_complete(char *inp)
|
_cmd_help_complete(char *inp)
|
||||||
{
|
{
|
||||||
@ -617,6 +639,8 @@ _cmd_complete_parameters(char *input, int *size)
|
|||||||
prefs_find_login);
|
prefs_find_login);
|
||||||
_parameter_autocomplete(input, size, "/help",
|
_parameter_autocomplete(input, size, "/help",
|
||||||
_cmd_help_complete);
|
_cmd_help_complete);
|
||||||
|
_parameter_autocomplete(input, size, "/who",
|
||||||
|
_cmd_who_complete);
|
||||||
|
|
||||||
_notify_autocomplete(input, size);
|
_notify_autocomplete(input, size);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user