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