In tagmanager/src/tm_parser.c:
> +}; > + > +/* not in universal-ctags */ > +static TMParserMapEntry powershell_map[] = { > + {'f', tm_tag_function_t}, > + {'v', tm_tag_variable_t}, > +}; > + > + > +typedef struct > +{ > + TMParserMapEntry *entries; > + guint size; > +} TMParserMap; > + > +#define MAP_ENTRY(map) {map, (sizeof(map)/sizeof(TMParserMapEntry))}
Also, as we now depend on C99, we could have a more safe thing using explicit subobject initialization.
Also, if the maps used a streamlined scheme following the parser name (similar to highlightingmappings.h), we could have something even more automated, like i.e.
#define MAP_ENTRY_REF(lang, lang_src) [lang] = { map_##lang_src, G_N_ELEMENTS(map_##lang_src) }
#define MAP_ENTRY(lang) MAP_ENTRY_REF(lang, lang)
static TMParserMap parser_map[] = {
MAP_ENTRY(C),
MAP_ENTRY_REF(CPP, C), /* C++ - same as C */
MAP_ENTRY(JAVA),
MAP_ENTRY(MAKEFILE),
MAP_ENTRY(PASCAL),
// ...
};
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub