Am 30.08.2016 um 15:38 schrieb Colomban Wendling:
Which brings me to a question - do you plan to generate TMTag(s) and feed them to the tag manager instead of the ctags ones? It shouldn't be that hard and if you do this, you could have the sidebar symbols updated for free.
I don't know if plugins should fill the TagManager with extra tags, but I agree that plugins should probably use the TMTag structure to pass Tag-like data to Geany. For example, for symbols tree, autocompletion suggestions and calltips: instead of providing a list of strings, provide a list of TMTags. As I see it, a TMTag structure contains everything useful for the current feature set (and could be extended), and are a fairly canonical representation of it. A plugin could create temporary TMTags just to give to Geany, or maintain its own list (or feed TagManager, if we wanted), but anyway just pass the ones it want to the various APIs.
TMTags contain name, scope (useful for symbol tree and currently calltips), type (useful for icons at least), signature, etc. All we need in various places. And a plugin could leave many fields empty if it doesn't care about them, not many fields are actually required.
I think we're on the same page here. I'm also suggesting that we build a framework which passes tags (or tag-like as you name it) from plugins to Geany, and Geany uses that to implement features X and Y. If the TMTag structure is currently insufficient then, well, just extend it as needed.
This is flexible and elegant, and allows to develop new feature (inside Geany or non-ft-plugins) without changing all the ft-plugins as well.
Best regards.