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.
_______________________________________________
Devel mailing list
Devel@lists.geany.org
https://lists.geany.org/cgi-bin/mailman/listinfo/devel