59 {
true,
'F',
"fileScope",
60 "Include tags of file scope" },
61 {
false,
'f',
"inputFile",
62 "Include an entry for the base file name of every input file",
66 {
false,
'p',
"pseudo",
67 "Include pseudo tags",
70 {
false,
'q',
"qualified",
71 "Include an extra class-qualified tag entry for each tag"},
72 {
false,
'r',
"reference",
73 "Include reference tags"},
74 {
false,
'g',
"guest",
75 "Include tags generated by guest parsers"},
76 {
true,
's',
"subparser",
77 "Include tags generated by subparsers"},
78 {
true,
'\0',
"anonymous",
79 "Include tags for non-named objects like lambda"},
102 static bool initialized =
false;
105 if (language ==
LANG_AUTO && (initialized ==
false))
110 else if (language !=
LANG_IGNORE && (initialized ==
false))
115 if (predicate (
xtagObjects + i, language, user_data))
122 const void *user_data)
124 return (pobj->
def->
letter == *((
char *)user_data))?
true:
false;
134 const char*
name = user_data;
151 "L:LANGUAGE",
"L:FIXED",
"L:DESCRIPTION",
NULL);
197 if (strcmp (a_parser,
RSV_NONE) == 0
198 && strcmp (b_parser,
RSV_NONE) != 0)
200 else if (strcmp (a_parser,
RSV_NONE) != 0
201 && strcmp (b_parser,
RSV_NONE) == 0)
203 else if (strcmp (a_parser,
RSV_NONE) != 0
204 && strcmp (b_parser,
RSV_NONE) != 0)
207 r = strcmp (a_parser, b_parser);
217 r = strcmp(a_letter, b_letter);
225 return strcmp(a_name, b_name);
229 bool withListHeader,
bool machinable, FILE *fp)
337 for (i = type; i > 0; i--)
356 for (i = 0; i < strlen (def->
name); i++)
375 verbose (
"Add extra[%d]: %s,%s in %s\n",
void colprintLineAppendColumnCString(struct colprintLine *line, const char *column)
void colprintTableSort(struct colprintTable *table, int(*compareFn)(struct colprintLine *, struct colprintLine *))
void colprintLineAppendColumnBool(struct colprintLine *line, bool column)
struct colprintLine * colprintTableGetNewLine(struct colprintTable *table)
struct colprintTable * colprintTableNew(const char *columnHeader,...)
void colprintLineAppendColumnChar(struct colprintLine *line, char column)
void colprintTablePrint(struct colprintTable *table, unsigned int startFrom, bool withHeader, bool machinable, FILE *fp)
const char * colprintLineGetColumn(struct colprintLine *line, unsigned int column)
#define CTAGS_ATTR_UNUSED
void verbose(const char *const format,...)
bool isDestinationStdout(void)
const char * getLanguageName(const langType language)
void initializeParser(langType lang)
void enableDefaultFileKind(bool state)
void eFreeIndirect(void **ptr)
#define xRealloc(p, n, Type)
bool(* isEnabled)(struct sXtagDefinition *def)
void(* enable)(struct sXtagDefinition *def, bool state)
bool(* isFixed)(struct sXtagDefinition *def)
#define DEFAULT_TRASH_BOX(PTR, PROC)
bool writerPrintPtagByDefault(void)
bool writerCanPrintPtag(void)
void xtagColprintTablePrint(struct colprintTable *table, bool withListHeader, bool machinable, FILE *fp)
xtagDefinition * getXtagDefinition(xtagType type)
xtagType getXtagTypeForLetter(char letter)
static xtagType getXtagTypeGeneric(xtagPredicate predicate, langType language, const void *user_data)
bool enableXtag(xtagType type, bool state)
struct sXtagObject xtagObject
static bool isPseudoTagsFixed(xtagDefinition *pdef)
const char * getXtagDescription(xtagType type)
bool(* xtagPredicate)(xtagObject *pobj, langType language, const void *user_data)
xtagType nextSiblingXtag(xtagType type)
static unsigned int xtagObjectUsed
static bool xtagEqualByLetter(xtagObject *pobj, langType language, const void *user_data)
static xtagDefinition xtagDefinitions[]
const char * getXtagName(xtagType type)
struct colprintTable * xtagColprintTableNew(void)
static bool xtagEqualByNameAndLanguage(xtagObject *pobj, langType language, const void *user_data)
bool isXtagFixed(xtagType type)
static void xtagColprintAddLine(struct colprintTable *table, int xtype)
static void updateSiblingXtag(xtagType type, const char *name)
static bool isPseudoTagsEnabled(xtagDefinition *pdef)
static int xtagColprintCompareLines(struct colprintLine *a, struct colprintLine *b)
void initXtagObjects(void)
static void enableFileKind(xtagDefinition *pdef, bool state)
bool isCommonXtag(xtagType type)
static unsigned int xtagObjectAllocated
bool isXtagEnabled(xtagType type)
void xtagColprintAddLanguageLines(struct colprintTable *table, langType language)
xtagType getXtagTypeForNameAndLanguage(const char *name, langType language)
int getXtagOwner(xtagType type)
static xtagObject * xtagObjects
void xtagColprintAddCommonLines(struct colprintTable *table)
static xtagObject * getXtagObject(xtagType type)
int defineXtag(xtagDefinition *def, langType language)