[Geany-Devel] Adding a plugin

Roger Booth rbooth at xxxxx
Sun Jun 9 12:00:12 UTC 2013


On 06/09/2013 03:47 AM, Lex Trotman wrote:
> [...]
>
>     Sorry, but I didn't understand exactly what you were attempting to
>     demonstrate in your example.
>     Please take pity on an admitted moron here and expand a bit on
>     what is going on in the example.
>
>     Main questions:
>         where does the magic number 211 come from?
>     GEANY_VERSION_CHECK(211...)
>             Lex says we're supposed to use API numbers, like 0.19.
>     Please, as a demo, convert that to an int.
>             When I try, I get zero. But, like I said, I'm a moron.
>
>
> Ahhh, theres the confusion, API numbers are not version numbers, 
> version numbers can be all over the place, 1.23, 1.23.1 etc.  API 
> numbers are nice numbers that simply increase whenever something is 
> chnaged in the API, currently the numbers are in the 2xx region, or 
> for the experimental GTK3 version of Geany 3xx.
>
> The current git geany has an API of 216, the API versions for releases 
> are given in the table inthe wiki.
>
> Cheers
> Lex
>
>
>
> _______________________________________________
> Devel mailing list
> Devel at lists.geany.org
> https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Look, bottom line

Like I said, I'm a moron, but ...

     I wanted to write plugins in C++.

     I know C++.

     I've written and tested (successfully) "Hello World" as a Geany plugin

     When I looked at the documentation on your web site, I had two 
questions:

         Why does plugin_init accept a pointer to GeanyData when the 
example shows that a pointer to GeanyData is available as global data?
         When I use a random Geany function which is made available for 
the use of a plugin, under what version restriction does that place my 
plugin?

As a casual user of the plugin API, I don't want to ask for special 
treatment. Problem is, the documentation for the API is, in some places, 
crap. Specifically, documenting the macro GEANY_VERSION_CHECK(). Now Lex 
has already given excuses.  "Gee, its an implementation detail" or some 
such. Look it up in this thread if you are interested. But I don't give 
a shit. Me, I want to know when I look at the docs what the damn thing 
will do. Not whether it calls three levels of subroutines, one on 
fortran, another in asm. I want to know *what goes in* gives *what comes 
out*. I'll let Lex sweat the internals.

For me, the docs for GEANY_VERSION_CHECK() flunk that test.

This whole thread has been about how the poor moron (me) developer can 
know how to plug a number into the GEANY_VERSION_CHECK() macro. So show 
where in the plugin docs where that is described.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geany.org/pipermail/devel/attachments/20130609/4906d2a4/attachment.html>


More information about the Devel mailing list