Am 16.05.2014 11:16, schrieb Matthew Brush:
FWIW, I've been doing some experiments with libpeas as the loader in
Geany (in my peas* branches on Github) and for the Python demo plugin (code not pushed to GH yet) I managed to get GObject-Introspection to scan Geany's source code/headers. Most of the work involved just "including what you use" and/or using defined names like `struct GeanyDocument` instead of `GeanyDocument` because the latter is defined off in some unrelated header. Once GI can grok one header at a time (ie. without pre-processing all the source together like C compiler does), it seems to pickup lots of the API (can't vouch for if or how well the bindings actually works yet).
Needs more experimentation/tweaking to be usable still though.
Very cool that you managed to get GI work (mostly). It'll help us regardless of libpeas, right?
I have a question regarding libpeas. There doesn't seem to be a public (nor documented) API to add loaders. From what I can see the current language support of libpeas is quite poor (only python and seed (that's JS isnt it?)). Also, they don't seem to very committed to maintaining their loaders[1].
I think we want to maintain the ability to add loaders on our own, without depending on a 3rd party project. Especially for potentially creating a compat-loader for our existing plugins. It doesn't seem libpeas readily supports this. Unless I'm missing something.
[1]: https://github.com/GNOME/libpeas/commit/730edb65d6da0ebd0bd7065aeb9435b31d30...
Best regards.