[Github-comments] [geany/geany] YALSPADD - Yet Another Language Services Plugin API Design Discussion (#1458)

elextr notifications at xxxxx
Sun Apr 16 13:06:35 UTC 2017


> What do you mean by "specialist knowledge"? GObject interfaces are a fundamental part of GObject (and GLib in general), just like signals.

Sorry not to be clear, DEFINING new GObjects is what is not so common, its no longer even in Glib.

> To make a core feature plugin-replacable you have to change Geany anyway. Using either singals or interfaces requires knowledge about the GObject fundamentals.

How do you need any GObject knowledge to emit signals? eg https://github.com/geany/geany/blob/master/src/document.c#L711

Note, I am not advocating for signals specifically, just something that is as easy to use on both sides as signals are.  I agree with your observation on passing data but don't think the other inefficiencies matter too much.

>  Interfaces are much more lightweight and easier to use correctly (IMO).

I will admit lack of familiarity, maybe it would be better if you could show an example, say what would it need in Geany and in the plugin for the plugin to replace Geany's autoindent [functionality](https://github.com/geany/geany/blob/master/src/editor.c#L1504) or just to get the indent [size](https://github.com/geany/geany/blob/master/src/editor.c#L1468) 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1458#issuecomment-294350891
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20170416/eb018044/attachment.html>


More information about the Github-comments mailing list