xref: /Universal-ctags/optlib/ctags-optlib.c (revision 6b1a862e526d5017f9f212a321f59d67c859d521)
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