xref: /Universal-ctags/optlib/passwd.c (revision be545a5f980218f14fb60b602e4378a2988e5019)
174facc33SMasatake YAMATO /*
274facc33SMasatake YAMATO  * Generated by ./misc/optlib2c from optlib/passwd.ctags, Don't edit this manually.
374facc33SMasatake YAMATO  */
474facc33SMasatake YAMATO #include "general.h"
574facc33SMasatake YAMATO #include "parse.h"
674facc33SMasatake YAMATO #include "routines.h"
70d502ef0SMasatake YAMATO #include "field.h"
80d502ef0SMasatake YAMATO #include "xtag.h"
974facc33SMasatake YAMATO 
1074facc33SMasatake YAMATO 
initializePasswdParser(const langType language CTAGS_ATTR_UNUSED)1174facc33SMasatake YAMATO static void initializePasswdParser (const langType language CTAGS_ATTR_UNUSED)
1274facc33SMasatake YAMATO {
1374facc33SMasatake YAMATO }
1474facc33SMasatake YAMATO 
PasswdParser(void)1574facc33SMasatake YAMATO extern parserDefinition* PasswdParser (void)
1674facc33SMasatake YAMATO {
1774facc33SMasatake YAMATO 	static const char *const extensions [] = {
1874facc33SMasatake YAMATO 		NULL
1974facc33SMasatake YAMATO 	};
2074facc33SMasatake YAMATO 
2174facc33SMasatake YAMATO 	static const char *const aliases [] = {
2274facc33SMasatake YAMATO 		NULL
2374facc33SMasatake YAMATO 	};
2474facc33SMasatake YAMATO 
2574facc33SMasatake YAMATO 	static const char *const patterns [] = {
2674facc33SMasatake YAMATO 		"passwd",
2774facc33SMasatake YAMATO 		NULL
2874facc33SMasatake YAMATO 	};
2974facc33SMasatake YAMATO 
30*be545a5fSMasatake YAMATO 	static kindDefinition PasswdKindTable [] = {
31*be545a5fSMasatake YAMATO 		{
32*be545a5fSMasatake YAMATO 		  true, 'u', "username", "user names",
33*be545a5fSMasatake YAMATO 		},
34*be545a5fSMasatake YAMATO 	};
3574facc33SMasatake YAMATO 	static fieldDefinition PasswdFieldTable [] = {
3674facc33SMasatake YAMATO 		{
3774facc33SMasatake YAMATO 		  .enabled     = true,
3874facc33SMasatake YAMATO 		  .name        = "home",
3974facc33SMasatake YAMATO 		  .description = "home directory",
4074facc33SMasatake YAMATO 		},
4174facc33SMasatake YAMATO 		{
4274facc33SMasatake YAMATO 		  .enabled     = true,
4374facc33SMasatake YAMATO 		  .name        = "shell",
4474facc33SMasatake YAMATO 		  .description = "login shell",
4574facc33SMasatake YAMATO 		},
4674facc33SMasatake YAMATO 	};
4774facc33SMasatake YAMATO 	static tagRegexTable PasswdTagRegexTable [] = {
4874facc33SMasatake YAMATO 		{"^([^:]+):([^:]+):([^:]+):([^:]+):([^:]*):([^:]+):([^:]+)", "\\1",
49*be545a5fSMasatake YAMATO 		"u", "{_field=home:\\6}{_field=shell:\\7}", NULL, false},
5074facc33SMasatake YAMATO 	};
5174facc33SMasatake YAMATO 
5274facc33SMasatake YAMATO 
536b1ec470SMasatake YAMATO 	parserDefinition* const def = parserNew ("Passwd");
5474facc33SMasatake YAMATO 
5574facc33SMasatake YAMATO 	def->enabled       = true;
5674facc33SMasatake YAMATO 	def->extensions    = extensions;
5774facc33SMasatake YAMATO 	def->patterns      = patterns;
5874facc33SMasatake YAMATO 	def->aliases       = aliases;
5974facc33SMasatake YAMATO 	def->method        = METHOD_NOT_CRAFTED|METHOD_REGEX;
60*be545a5fSMasatake YAMATO 	def->kindTable     = PasswdKindTable;
61*be545a5fSMasatake YAMATO 	def->kindCount     = ARRAY_SIZE(PasswdKindTable);
6274facc33SMasatake YAMATO 	def->fieldTable    = PasswdFieldTable;
6374facc33SMasatake YAMATO 	def->fieldCount    = ARRAY_SIZE(PasswdFieldTable);
6474facc33SMasatake YAMATO 	def->tagRegexTable = PasswdTagRegexTable;
6574facc33SMasatake YAMATO 	def->tagRegexCount = ARRAY_SIZE(PasswdTagRegexTable);
6674facc33SMasatake YAMATO 	def->initialize    = initializePasswdParser;
6774facc33SMasatake YAMATO 
6874facc33SMasatake YAMATO 	return def;
6974facc33SMasatake YAMATO }
70