Ok, thats the cause of current behavior. But from my point of view, it should not be so. Then at least for every file type an own TM_GLOBAL_TYPE_MASK should be definable. tm_workspace.c seems to be written for C/C++ language only.
I see also in other parts of source code to much focus on C and C-like languages. This should not be for a general IDE like geany wants to be.
Close this issue, I'll search for a solution for my needs. As a first workaround adding of `tm_tag_function_t` to TM_GLOBAL_TYPE_MASK should work.
Something else constructive: How about not to use `typedef`, but something like `tagsdef`, which holds the list of `TMParserMapGroup`s per language, which on its part holds the tags for that MapGroup-item (whatever it is defined in tm_parser.c for certain language: typedef, class, members, structs, articles, indexes, ..). Then the lexer could hold an own wordlist (and styling) for each of this MapGroup.
Another attempt could be to make external tag files available for Lexers Sytax Highlighting. Prefer loading tag-file per filetype and/or tag-file per project. Then after each save of source file an external tagger could update the tag-file, which geany could recognize to update internal key lists.
Ragards