1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-11-03 19:37:16 -05:00

Print unloaded plugins which already installed

Signed-off-by: Viachaslau Khalikin <viachaslau.vinegret@outlook.com>
This commit is contained in:
Viachaslau Khalikin 2022-09-18 23:34:45 +03:00
parent dd1a9a1e50
commit 45fa60e7e2
No known key found for this signature in database
GPG Key ID: 7569457AA0318285
2 changed files with 14 additions and 3 deletions

View File

@ -2162,7 +2162,7 @@ static struct cmd_t command_defs[] = {
"/plugins reload [<plugin>]", "/plugins reload [<plugin>]",
"/plugins python_version") "/plugins python_version")
CMD_DESC( CMD_DESC(
"Manage plugins. Passing no arguments lists currently loaded plugins and global plugins which are available for local installation. Global directory for Python plugins is " GLOBAL_PYTHON_PLUGINS_PATH " and for C Plugins is " GLOBAL_C_PLUGINS_PATH ".") "Manage plugins. Passing no arguments lists installed plugins and global plugins which are available for local installation. Global directory for Python plugins is " GLOBAL_PYTHON_PLUGINS_PATH " and for C Plugins is " GLOBAL_C_PLUGINS_PATH ".")
CMD_ARGS( CMD_ARGS(
{ "install [<path>]", "Install a plugin, or all plugins found in a directory (recursive). And loads it/them." }, { "install [<path>]", "Install a plugin, or all plugins found in a directory (recursive). And loads it/them." },
{ "uninstall [<plugin>]", "Uninstall a plugin." }, { "uninstall [<plugin>]", "Uninstall a plugin." },

View File

@ -7258,14 +7258,25 @@ cmd_plugins(ProfWin* window, const char* const command, gchar** args)
} }
} }
GSList* unloaded_plugins = plugins_unloaded_list();
if (unloaded_plugins) {
GSList* curr = unloaded_plugins;
cons_show("The following plugins already installed and can be loaded:");
while (curr) {
cons_show(" %s", curr->data);
curr = g_slist_next(curr);
}
g_slist_free_full(unloaded_plugins, g_free);
}
GList* plugins = plugins_loaded_list(); GList* plugins = plugins_loaded_list();
if (plugins == NULL) { if (plugins == NULL) {
cons_show("No plugins installed."); cons_show("No loaded plugins.");
return TRUE; return TRUE;
} }
GList* curr = plugins; GList* curr = plugins;
cons_show("Installed plugins:"); cons_show("Loaded plugins:");
while (curr) { while (curr) {
cons_show(" %s", curr->data); cons_show(" %s", curr->data);
curr = g_list_next(curr); curr = g_list_next(curr);