1072b121eSMasatake YAMATO /*
2072b121eSMasatake YAMATO * Generated by ./misc/optlib2c from optlib/ctags-optlib.ctags, Don't edit this manually.
3072b121eSMasatake YAMATO */
4072b121eSMasatake YAMATO #include "general.h"
5072b121eSMasatake YAMATO #include "parse.h"
6072b121eSMasatake YAMATO #include "routines.h"
70d502ef0SMasatake YAMATO #include "field.h"
80d502ef0SMasatake YAMATO #include "xtag.h"
9072b121eSMasatake YAMATO
10072b121eSMasatake YAMATO
initializeCtagsParser(const langType language CTAGS_ATTR_UNUSED)118ccb7ee9SJiří Techet static void initializeCtagsParser (const langType language CTAGS_ATTR_UNUSED)
12072b121eSMasatake YAMATO {
13072b121eSMasatake YAMATO }
14072b121eSMasatake YAMATO
CtagsParser(void)15072b121eSMasatake YAMATO extern parserDefinition* CtagsParser (void)
16072b121eSMasatake YAMATO {
17072b121eSMasatake YAMATO static const char *const extensions [] = {
18072b121eSMasatake YAMATO "ctags",
19072b121eSMasatake YAMATO NULL
20072b121eSMasatake YAMATO };
21072b121eSMasatake YAMATO
22072b121eSMasatake YAMATO static const char *const aliases [] = {
23072b121eSMasatake YAMATO NULL
24072b121eSMasatake YAMATO };
25072b121eSMasatake YAMATO
26072b121eSMasatake YAMATO static const char *const patterns [] = {
27072b121eSMasatake YAMATO NULL
28072b121eSMasatake YAMATO };
29072b121eSMasatake YAMATO
3054fa68c3SMasatake YAMATO static kindDefinition CtagsKindTable [] = {
312625d890SMasatake YAMATO {
322625d890SMasatake YAMATO true, 'l', "langdef", "language definitions",
332625d890SMasatake YAMATO },
342625d890SMasatake YAMATO {
352625d890SMasatake YAMATO true, 'k', "kind", "kind definitions",
362625d890SMasatake YAMATO },
3754fa68c3SMasatake YAMATO };
385654c1fbSMasatake YAMATO static tagRegexTable CtagsTagRegexTable [] = {
3989c588f7SMasatake YAMATO {"^--langdef=([^ \t]+)$", "\\1",
40641e337aSMasatake YAMATO "l", "{scope=set}", NULL, false},
4189c588f7SMasatake YAMATO {"^--regex-[^=]+=.*/.,(.+)/.*", "\\1",
42641e337aSMasatake YAMATO "k", "{scope=ref}", NULL, false},
4354fa68c3SMasatake YAMATO {"^--kinddef-[^=]+=.,([^,]+),.*", "\\1",
44641e337aSMasatake YAMATO "k", "{scope=ref}", NULL, false},
45072b121eSMasatake YAMATO };
46072b121eSMasatake YAMATO
47072b121eSMasatake YAMATO
486b1ec470SMasatake YAMATO parserDefinition* const def = parserNew ("Ctags");
49072b121eSMasatake YAMATO
50ce990805SThomas Braun def->enabled = true;
51072b121eSMasatake YAMATO def->extensions = extensions;
52072b121eSMasatake YAMATO def->patterns = patterns;
53072b121eSMasatake YAMATO def->aliases = aliases;
54072b121eSMasatake YAMATO def->method = METHOD_NOT_CRAFTED|METHOD_REGEX;
55*6b1a862eSMasatake YAMATO def->useCork = CORK_QUEUE;
5654fa68c3SMasatake YAMATO def->kindTable = CtagsKindTable;
5754fa68c3SMasatake YAMATO def->kindCount = ARRAY_SIZE(CtagsKindTable);
58072b121eSMasatake YAMATO def->tagRegexTable = CtagsTagRegexTable;
59072b121eSMasatake YAMATO def->tagRegexCount = ARRAY_SIZE(CtagsTagRegexTable);
60072b121eSMasatake YAMATO def->initialize = initializeCtagsParser;
61072b121eSMasatake YAMATO
62072b121eSMasatake YAMATO return def;
63072b121eSMasatake YAMATO }
64