[Geany-Devel] Interested making a patch to add QML support

Tory Gaurnier torygaurnier at xxxxx
Thu Sep 26 07:30:48 UTC 2013

On 09/25/2013 12:51 PM, Colomban Wendling wrote:
> Le 25/09/2013 20:55, Tory Gaurnier a écrit :
>> [...]
>> Still can't figure it out, to test I even put printf("MAKING TAG: %s -
>> %d - %s - %c\n", tag->name, (int)tag->lineNumber, tag->kindName,
>> tag->kind); in entry.c's makeTagEntry function, and it prints just as
>> you'd expect, it prints the info for QML objects and JS functions, but
>> only the JS functions show in the symbol list, I've tried tracing it
>> back further but can't even figure it out. But, I mean, if makeTagEntry
>> is getting all the data, it should be adding to symbol list right???
>> This is getting very frustrating, I've looked over my code a million
>> times and I can't find anything that would be keeping this from working,
>> it works fine in CTags, but not in Geany, makeSimpleTag works fine, but
>> when I try to manually use makeTagEntry, nothing happens, even though
>> makeSimpleTag is doing the exact same thing...
> Geany requires the tag type long name to be one of the known ones as
> seen in tagmanager/src/tm_tag.c:s_tag_type_names[] array.  This is to
> translate them to a numeric ID we use internally.  And no, unknown name
> don't become tm_tag_other_t but tm_tag_undef_t.
> Also, not all types may be displayed,
> src/symbols.c:tag_list_add_groups() decides which type are displayed as
> what -- if your language don't follow the common
> function/class/interface/structure/variables/… scheme you may want to
> add your language-specific case to give the proper title to the groups.
> Regards,
> Colomban
> _______________________________________________
> Devel mailing list
> Devel at lists.geany.org
> https://lists.geany.org/cgi-bin/mailman/listinfo/devel

Thanks, that's just what I needed, for now I'm just going to make it the 
"other" tag type (since it doesn't really fit into any of the other 
categories), and if the Geany team would be willing to accept it I will 
try to eventually add an "object" tag type. I'm not sure how much would 
have to go into trying to get that to work.

Otherwise it's working perfectly, JS functions are detected and shown 
under Functions in the symbol list, and Objects are shown under Other, 
if you have Item {} it will just show as 'Item', but if you have 
something like Item {id: myItem} it will show 'Item: myItem' in the 
symbol list. But the line numbers point directly at the 'Item {' itself.

More information about the Devel mailing list