b4n commented on this pull request.
Breaks API (as the semantics of proxy registration changed).
Though, the new API makes sense to me, at least in theory.
* but not a problem in practice yet */
foreach_list(node, active_proxies.head) { PluginProxy *proxy = node->data; - if (utils_str_casecmp(ext, proxy->extension) == 0) + if (g_pattern_match(proxy->glob, strlen(file), file, NULL))
maybe cache the result of `strlen(file)` outside the loop?
@@ -1344,6 +1347,10 @@ void plugins_init(void)
g_signal_connect(geany_object, "save-settings", G_CALLBACK(update_active_plugins_pref), NULL); stash_group_add_string_vector(group, &active_plugins_pref, "active_plugins", NULL);
+ builtin_proxy_glob = g_strconcat("*.", G_MODULE_SUFFIX, NULL); + builtin_so_proxy.glob = g_pattern_spec_new(builtin_proxy_glob);
yeah