@techee commented on this pull request.


In src/pluginextension.h:

> +	void (*calltips_show)(GeanyDocument *doc, gboolean force);
+
+	gboolean (*goto_provided)(GeanyDocument *doc);
+	void (*goto_perform)(GeanyDocument *doc, gint pos, gboolean definition);
+
+	gboolean (*doc_symbols_provided)(GeanyDocument *doc);
+	GPtrArray *(*doc_symbols_get)(GeanyDocument *doc);
+
+	gboolean (*symbol_highlight_provided)(GeanyDocument *doc);
+
+	gchar _dummy[1024];
+} PluginExtension;
+
+
+void plugin_extension_register(PluginExtension *extension);
+void plugin_extension_unregister(PluginExtension *extension);

My point is that at _register() time...

Alright, it was the _register() function and I get the example you gave. But I don't understand what global state you mean in the PluginExtension case. When I convert all the _provided() and _perform() functions to go through the list of registered extensions, we still need to store this list "globally" in the file. And there won't be any other global variable, the "dummy" LSP will disappear.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <geany/geany/pull/3849/review/2100354662@github.com>