[Geany-Devel] A direction for Geany

Thomas Martitz thomas.martitz at xxxxx
Fri Nov 15 14:52:12 UTC 2013


Am 15.11.2013 15:34, schrieb Colomban Wendling:
> Le 11/11/2013 08:18, Lex Trotman a écrit :
>> [...]
>>
>> So I am starting this thread to try to get ideas on where Geany should
>> be headed.
>>
>> [...]
> #N	Seamless support for buffers with embedded 0 bytes

How do you define seamless? There's a patch that lets geany open binary 
files and it works pretty well in my experience.

>
> #N+1	Harder-to-break plugin API, maybe by hiding most things behind
> 	functions/accessors/setters
>


I agree. I would also say that improving the plugin API and making the 
life easier for plugin developers should be one of Geany's (or _the_) 
primary goals, given the stagnant (little man power, maintanance fears 
and it's generally hard to get stuff merged) for the core. This goal 
includes several pieces:

* harder to break API (as you have mentioned)
* accessible through multiple programming languages
* Bindings via GObject/introspection (this helps for both points)
* Formalized deprecation process
* Architecture to load plugins automatically/on demand, for e.g. 
filetypes plugins.

I would also like to see the strange way we export the API (via #define 
foo(...) a->b->foo(...)) sanitized. This might be even be required to 
achive some of the above points. We could easily use the linker to 
export/hide specific symbols in the geany executable. I think autotools 
have even built-in support for this. If plugins see the actual function 
prototypes (instead of defines) we can also more easily use optional GCC 
decorators, for example to have it warn on deprecated function usage.

With geany-plugins we do have a nice platform already for promoting and 
shipping plugins to users. Now we just need to make the actual process 
of writing plugins more inviting.

Best regards.




More information about the Devel mailing list