static boolean printXcmdKind (kindOption *kind, void *user_data) { struct printXcmdKindCBData *data = user_data; if (data->allKindFields && data->indent) printf (Option.machinable? "%s": PR_KIND_FMT (LANG,s), data->langName); printKind (kind, data->allKindFields, data->indent, data->tabSeparated); return FALSE; }
extern void printKindListHeader (bool indent, bool tabSeparated) { #define KIND_HEADER_COMMON_FMT MAKE_KIND_FMT("%s", s, s) const char *fmt = tabSeparated ? "%s%s%s\t%s\t%s\t%s\t%s\t%s\t%s\n" : (indent ? PR_KIND_FMT (LANG,s) KIND_HEADER_COMMON_FMT : "%s" KIND_HEADER_COMMON_FMT) ; printf (fmt, (indent? "#PARSER": ""), (indent? (tabSeparated? "\t": " "): ""), (indent? "LETTER": "#LETTER"), "NAME", "ENABLED", "REFONLY", "NROLES", "MASTER", "DESCRIPTION"); #undef KIND_HEADER_COMMON_FMT }