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

Reply via email to