mirror of
https://github.com/profanity-im/profanity.git
synced 2025-02-02 15:08:15 -05:00
Plugins: Added completer_clear
This commit is contained in:
parent
7ca6084657
commit
2f432a942d
@ -166,6 +166,12 @@ api_completer_remove(const char *key, char **items)
|
||||
autocompleters_remove(key, items);
|
||||
}
|
||||
|
||||
void
|
||||
api_completer_clear(const char *key)
|
||||
{
|
||||
autocompleters_clear(key);
|
||||
}
|
||||
|
||||
void
|
||||
api_notify(const char *message, const char *category, int timeout_ms)
|
||||
{
|
||||
|
@ -56,6 +56,7 @@ void api_register_timed(void *callback, int interval_seconds,
|
||||
|
||||
void api_completer_add(const char *key, char **items);
|
||||
void api_completer_remove(const char *key, char **items);
|
||||
void api_completer_clear(const char *key);
|
||||
|
||||
void api_log_debug(const char *message);
|
||||
void api_log_info(const char *message);
|
||||
|
@ -80,6 +80,17 @@ autocompleters_remove(const char *key, char **items)
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
autocompleters_clear(const char *key)
|
||||
{
|
||||
if (!g_hash_table_contains(autocompleters, key)) {
|
||||
return;
|
||||
}
|
||||
|
||||
Autocomplete ac = g_hash_table_lookup(autocompleters, key);
|
||||
autocomplete_clear(ac);
|
||||
}
|
||||
|
||||
char *
|
||||
autocompleters_complete(const char * const input)
|
||||
{
|
||||
|
@ -40,6 +40,7 @@
|
||||
void autocompleters_init(void);
|
||||
void autocompleters_add(const char *key, char **items);
|
||||
void autocompleters_remove(const char *key, char **items);
|
||||
void autocompleters_clear(const char *key);
|
||||
char* autocompleters_complete(const char * const input);
|
||||
void autocompleters_reset(void);
|
||||
void autocompleters_destroy(void);
|
||||
|
@ -108,6 +108,12 @@ c_api_completer_remove(const char *key, char **items)
|
||||
api_completer_remove(key, items);
|
||||
}
|
||||
|
||||
static void
|
||||
c_api_completer_clear(const char *key)
|
||||
{
|
||||
api_completer_clear(key);
|
||||
}
|
||||
|
||||
static void
|
||||
c_api_notify(const char *message, int timeout_ms, const char *category)
|
||||
{
|
||||
@ -277,6 +283,7 @@ c_api_init(void)
|
||||
prof_register_timed = c_api_register_timed;
|
||||
prof_completer_add = c_api_completer_add;
|
||||
prof_completer_remove = c_api_completer_remove;
|
||||
prof_completer_clear = c_api_completer_clear;
|
||||
prof_notify = c_api_notify;
|
||||
prof_send_line = c_api_send_line;
|
||||
prof_get_current_recipient = c_api_get_current_recipient;
|
||||
|
@ -50,6 +50,7 @@ void (*prof_register_timed)(void(*callback)(void), int interval_seconds) = NULL;
|
||||
|
||||
void (*prof_completer_add)(const char *key, char **items) = NULL;
|
||||
void (*prof_completer_remove)(const char *key, char **items) = NULL;
|
||||
void (*prof_completer_clear)(const char *key) = NULL;
|
||||
|
||||
void (*prof_notify)(const char *message, int timeout_ms, const char *category) = NULL;
|
||||
|
||||
|
@ -50,6 +50,7 @@ void (*prof_register_timed)(void(*callback)(void), int interval_seconds);
|
||||
|
||||
void (*prof_completer_add)(const char *key, char **items);
|
||||
void (*prof_completer_remove)(const char *key, char **items);
|
||||
void (*prof_completer_clear)(const char *key);
|
||||
|
||||
void (*prof_notify)(const char *message, int timeout_ms, const char *category);
|
||||
|
||||
|
@ -241,6 +241,22 @@ python_api_completer_remove(PyObject *self, PyObject *args)
|
||||
return Py_BuildValue("");
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
python_api_completer_clear(PyObject *self, PyObject *args)
|
||||
{
|
||||
const char *key = NULL;
|
||||
|
||||
if (!PyArg_ParseTuple(args, "s", &key)) {
|
||||
return Py_BuildValue("");
|
||||
}
|
||||
|
||||
allow_python_threads();
|
||||
autocompleters_clear(key);
|
||||
disable_python_threads();
|
||||
|
||||
return Py_BuildValue("");
|
||||
}
|
||||
|
||||
static PyObject*
|
||||
python_api_notify(PyObject *self, PyObject *args)
|
||||
{
|
||||
@ -693,6 +709,7 @@ static PyMethodDef apiMethods[] = {
|
||||
{ "register_timed", python_api_register_timed, METH_VARARGS, "Register a timed function." },
|
||||
{ "completer_add", python_api_completer_add, METH_VARARGS, "Add items to an autocompleter." },
|
||||
{ "completer_remove", python_api_completer_remove, METH_VARARGS, "Remove items from an autocompleter." },
|
||||
{ "completer_clear", python_api_completer_clear, METH_VARARGS, "Remove all items from an autocompleter." },
|
||||
{ "send_line", python_api_send_line, METH_VARARGS, "Send a line of input." },
|
||||
{ "notify", python_api_notify, METH_VARARGS, "Send desktop notification." },
|
||||
{ "get_current_recipient", python_api_get_current_recipient, METH_VARARGS, "Return the jid of the recipient of the current window." },
|
||||
|
Loading…
x
Reference in New Issue
Block a user