mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-22 20:26:20 +00:00
feat: Add /spellcheck list command
To list all available dictionaries. Signed-off-by: Michael Vetter <jubalh@iodoru.org>
This commit is contained in:
@@ -93,6 +93,31 @@ spellcheck_get_lang(void)
|
||||
return current_lang;
|
||||
}
|
||||
|
||||
static void
|
||||
_list_dicts_cb(const char* const lang_tag,
|
||||
const char* const provider_name,
|
||||
const char* const provider_desc,
|
||||
const char* const provider_file,
|
||||
void* user_data)
|
||||
{
|
||||
GList** list = (GList**)user_data;
|
||||
if (g_list_find_custom(*list, lang_tag, (GCompareFunc)g_strcmp0) == NULL) {
|
||||
*list = g_list_append(*list, g_strdup(lang_tag));
|
||||
}
|
||||
}
|
||||
|
||||
GList*
|
||||
spellcheck_get_available_langs(void)
|
||||
{
|
||||
if (!broker) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
GList* list = NULL;
|
||||
enchant_broker_list_dicts(broker, _list_dicts_cb, &list);
|
||||
return g_list_sort(list, (GCompareFunc)g_strcmp0);
|
||||
}
|
||||
|
||||
gboolean
|
||||
spellcheck_is_misspelled(const char* word)
|
||||
{
|
||||
|
||||
@@ -20,6 +20,7 @@ void spellcheck_deinit(void);
|
||||
gboolean spellcheck_is_misspelled(const char* word);
|
||||
gboolean spellcheck_set_lang(const char* lang);
|
||||
const char* spellcheck_get_lang(void);
|
||||
GList* spellcheck_get_available_langs(void);
|
||||
|
||||
#else
|
||||
|
||||
@@ -46,6 +47,11 @@ spellcheck_get_lang(void)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
static inline GList*
|
||||
spellcheck_get_available_langs(void)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user