[Geany-Devel] [FT-plugins] Proposed "Features"

Matthew Brush mbrush at xxxxx
Wed Aug 31 01:02:54 UTC 2016

On 2016-08-30 06:38 AM, Colomban Wendling wrote:
> Le 29/08/2016 à 10:04, Jiří Techet a écrit :
>> […]
>> 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 feel like it would be easier to provide a small API to fill the tree 
(and even provide this - surprisingly to me - complicated code to make 
the treeview do what it's main purpose is), and that filling in TM tags 
might be tedious API-wise, but I admittedly don't know enough about TM 
and the sidebar code to make this judgment with full confidence.

It seems like you, Jiří and Thomas all agree (to varying degrees) that 
it makes sense to re-use TM for some stuff like this, so it's fine with 
me. When I update the Github tracker issue with the results of these 
discussions, I will include this usage of TM tags (at least).

Matthew Brush

More information about the Devel mailing list