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