xref: /Universal-ctags/optlib/mesonOptions.c (revision 57835cd4fc9319a16d4806aee3f34b951b88a1e3)
194868d14SMasatake YAMATO /*
294868d14SMasatake YAMATO  * Generated by ./misc/optlib2c from optlib/mesonOptions.ctags, Don't edit this manually.
394868d14SMasatake YAMATO  */
494868d14SMasatake YAMATO #include "general.h"
594868d14SMasatake YAMATO #include "parse.h"
694868d14SMasatake YAMATO #include "routines.h"
794868d14SMasatake YAMATO #include "field.h"
894868d14SMasatake YAMATO #include "xtag.h"
994868d14SMasatake YAMATO 
1094868d14SMasatake YAMATO 
initializeMesonOptionsParser(const langType language CTAGS_ATTR_UNUSED)1194868d14SMasatake YAMATO static void initializeMesonOptionsParser (const langType language CTAGS_ATTR_UNUSED)
1294868d14SMasatake YAMATO {
1394868d14SMasatake YAMATO }
1494868d14SMasatake YAMATO 
MesonOptionsParser(void)1594868d14SMasatake YAMATO extern parserDefinition* MesonOptionsParser (void)
1694868d14SMasatake YAMATO {
1794868d14SMasatake YAMATO 	static const char *const extensions [] = {
1894868d14SMasatake YAMATO 		NULL
1994868d14SMasatake YAMATO 	};
2094868d14SMasatake YAMATO 
2194868d14SMasatake YAMATO 	static const char *const aliases [] = {
2294868d14SMasatake YAMATO 		NULL
2394868d14SMasatake YAMATO 	};
2494868d14SMasatake YAMATO 
2594868d14SMasatake YAMATO 	static const char *const patterns [] = {
2694868d14SMasatake YAMATO 		"meson_options.txt",
2794868d14SMasatake YAMATO 		NULL
2894868d14SMasatake YAMATO 	};
2994868d14SMasatake YAMATO 
3094868d14SMasatake YAMATO 	static kindDefinition MesonOptionsKindTable [] = {
3194868d14SMasatake YAMATO 		{
3294868d14SMasatake YAMATO 		  true, 's', "string", "strings",
3394868d14SMasatake YAMATO 		},
3494868d14SMasatake YAMATO 		{
3594868d14SMasatake YAMATO 		  true, 'b', "boolean", "booleans",
3694868d14SMasatake YAMATO 		},
3794868d14SMasatake YAMATO 		{
3894868d14SMasatake YAMATO 		  true, 'c', "combo", "combos",
3994868d14SMasatake YAMATO 		},
4094868d14SMasatake YAMATO 		{
4194868d14SMasatake YAMATO 		  true, 'i', "integer", "integers",
4294868d14SMasatake YAMATO 		},
4394868d14SMasatake YAMATO 		{
4494868d14SMasatake YAMATO 		  true, 'a', "array", "arrays",
4594868d14SMasatake YAMATO 		},
4694868d14SMasatake YAMATO 		{
4794868d14SMasatake YAMATO 		  true, 'f', "feature", "features",
4894868d14SMasatake YAMATO 		},
4994868d14SMasatake YAMATO 	};
5094868d14SMasatake YAMATO 	static tagRegexTable MesonOptionsTagRegexTable [] = {
51*57835cd4SMasatake YAMATO 		{"^option[ \t\n]*\\([ \t\n]*'([^']*[^\\\\])'[ \t\n]*,[ \t\n]*type[ \t\n]*:[ \t\n]*'([a-z]+)'", "",
5294868d14SMasatake YAMATO 		"", ""
5394868d14SMasatake YAMATO 		"{{\n"
5494868d14SMasatake YAMATO 		"    % \\1 points a tag name.\n"
5594868d14SMasatake YAMATO 		"    \\1\n"
5694868d14SMasatake YAMATO 		"    % \\2 may point a kind. This must be converted to a name from a string.\n"
5794868d14SMasatake YAMATO 		"    \\2 cvn\n"
5894868d14SMasatake YAMATO 		"    % Push the start position of the group 1.\n"
5994868d14SMasatake YAMATO 		"    1 /start _matchloc\n"
6094868d14SMasatake YAMATO 		"    % To skip an unexpected kind name, _tag is wrapped with stopped.\n"
6194868d14SMasatake YAMATO 		"    { _tag } stopped {\n"
6294868d14SMasatake YAMATO 		"        % Unexpected kind. Clear the stack.\n"
6394868d14SMasatake YAMATO 		"        pop pop pop\n"
6494868d14SMasatake YAMATO 		"    } {\n"
6594868d14SMasatake YAMATO 		"        _commit pop\n"
6694868d14SMasatake YAMATO 		"    } ifelse\n"
6794868d14SMasatake YAMATO 		"}}", NULL, true},
6894868d14SMasatake YAMATO 	};
6994868d14SMasatake YAMATO 
7094868d14SMasatake YAMATO 
7194868d14SMasatake YAMATO 	parserDefinition* const def = parserNew ("MesonOptions");
7294868d14SMasatake YAMATO 
7394868d14SMasatake YAMATO 	def->enabled       = true;
7494868d14SMasatake YAMATO 	def->extensions    = extensions;
7594868d14SMasatake YAMATO 	def->patterns      = patterns;
7694868d14SMasatake YAMATO 	def->aliases       = aliases;
7794868d14SMasatake YAMATO 	def->method        = METHOD_NOT_CRAFTED|METHOD_REGEX;
7894868d14SMasatake YAMATO 	def->useCork       = CORK_QUEUE;
7994868d14SMasatake YAMATO 	def->kindTable     = MesonOptionsKindTable;
8094868d14SMasatake YAMATO 	def->kindCount     = ARRAY_SIZE(MesonOptionsKindTable);
8194868d14SMasatake YAMATO 	def->tagRegexTable = MesonOptionsTagRegexTable;
8294868d14SMasatake YAMATO 	def->tagRegexCount = ARRAY_SIZE(MesonOptionsTagRegexTable);
8394868d14SMasatake YAMATO 	def->initialize    = initializeMesonOptionsParser;
8494868d14SMasatake YAMATO 
8594868d14SMasatake YAMATO 	return def;
8694868d14SMasatake YAMATO }
87