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

Thomas Martitz notifications at xxxxx
Sat Apr 15 21:54:17 UTC 2017


> My first thought was to use GTK signals, its probably not appropriate to have a signal for each feature for each language, but it is possible for there to be one signal per feature and the plugin callbacks then need to check the filetype of the current document and return false if its not one they handle, so the next plugin callback can be invoked

Signals are a good start, but maybe too heavy-weight for the purpose.

I'd rather like to see interfaces (GObject-based) to be used. They are as powerful (if not more, since you can attach data with instances), but also allow for potential adoption of libpeas (in a future far away) which uses interfaces as natural extension points.

In some way, libpeas solves already exactly what we want here: plugins can extend or replace core functionality by implementing interfaces, which are registered in the core application and then instantiated when necessary. Because of this, our design should be compatible with that.

-- 
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-294320018
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20170415/704ede07/attachment.html>


More information about the Github-comments mailing list