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