@elextr commented on this pull request.
- or dynamically. When allocated dynamically, plugins should always
+ * zero-fill the structure before use. + * + * Depending on the functionality they provide, plugins should assign the + * pointers from the structure to the functions implementing this interface. + * Not all of the functions have to be implemented by the plugin - unimplemented + * functions can be left to contain the NULL pointer. + * + * Typically, functions from this interface come in pairs. Functins ending with + * @c _provided() inform Geany whether the plugin implements the given feature + * for the passed document. Functions ending with @c _perform() are called by + * Geany at appropriate moments to inform the plugin when to perform the given + * feature. + * + * Instances of the @c PluginExtension structures are registered in Geany using + * the @c plugin_extension_register() function.
Ok, maybe "The extension is defined by the pointers in the PluginExtension structure and is registered in Geany using ..."