2 " Language: login.defs(5) configuration file
3 " Maintainer: Nikolai Weibull <now@bitwi.se>
4 " Latest Revision: 2006-04-19
6 if exists("b:current_syntax")
13 syn keyword logindefsTodo contained TODO FIXME XXX NOTE
15 syn region logindefsComment display oneline start='^\s*#' end='$'
16 \ contains=logindefsTodo,@Spell
18 syn match logindefsString contained '[[:graph:]]\+'
20 syn match logindefsPath contained '[[:graph:]]\+'
22 syn match logindefsPaths contained '[[:graph:]]\+'
23 \ nextgroup=logindefsPathDelim
25 syn match logindefsPathDelim contained ':' nextgroup=logindefsPaths
27 syn keyword logindefsBoolean contained yes no
29 syn match logindefsDecimal contained '\<\d\+\>'
31 syn match logindefsOctal contained display '\<0\o\+\>'
32 \ contains=logindefsOctalZero
33 syn match logindefsOctalZero contained display '\<0'
34 syn match logindefsOctalError contained display '\<0\o*[89]\d*\>'
36 syn match logindefsHex contained display '\<0x\x\+\>'
38 syn cluster logindefsNumber contains=logindefsDecimal,logindefsOctal,
39 \ logindefsOctalError,logindefsHex
41 syn match logindefsBegin display '^'
42 \ nextgroup=logindefsKeyword,logindefsComment
45 syn keyword logindefsKeyword contained CHFN_AUTH CLOSE_SESSIONS CREATE_HOME
46 \ DEFAULT_HOME FAILLOG_ENAB LASTLOG_ENAB
47 \ LOG_OK_LOGINS LOG_UNKFAIL_ENAB MAIL_CHECK_ENAB
48 \ MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB
49 \ PASS_ALWAYS_WARN PORTTIME_CHECKS_ENAB
50 \ QUOTAS_ENAB SU_WHEEL_ONLY SYSLOG_SG_ENAB
51 \ SYSLOG_SU_ENAB USERGROUPS_ENAB
52 \ nextgroup=logindefsBoolean skipwhite
54 syn keyword logindefsKeyword contained CHFN_RESTRICT CONSOLE CONSOLE_GROUPS
55 \ ENV_TZ ENV_HZ FAKE_SHELL SU_NAME LOGIN_STRING
56 \ NOLOGIN_STR TTYGROUP USERDEL_CMD
57 \ nextgroup=logindefsString skipwhite
59 syn keyword logindefsKeyword contained ENVIRON_FILE FTMP_FILE HUSHLOGIN_FILE
60 \ ISSUE_FILE MAIL_DIR MAIL_FILE NOLOGINS_FILE
61 \ NOLOGINS_FILE TTYTYPE_FILE QMAIL_DIR
63 \ nextgroup=logindefsPath skipwhite
65 syn keyword logindefsKeyword contained CRACKLIB_DICTPATH ENV_PATH
66 \ ENV_ROOTPATH ENV_SUPATH MOTD_FILE
67 \ nextgroup=logindefsPaths skipwhite
69 syn keyword logindefsKeyword contained ERASECHAR FAIL_DELAY GETPASS_ASTERISKS
70 \ GID_MAX GID_MIN KILLCHAR LOGIN_RETRIES
71 \ LOGIN_TIMEOUT PASS_CHANGE_TRIES PASS_MAX_DAYS
72 \ PASS_MAX_LEN PASS_MIN_DAYS PASS_MIN_LEN
73 \ PASS_WARN_AGE TTYPERM UID_MAX UID_MIN ULIMIT
75 \ nextgroup=@logindefsNumber skipwhite
77 hi def link logindefsTodo Todo
78 hi def link logindefsComment Comment
79 hi def link logindefsString String
80 hi def link logindefsPath String
81 hi def link logindefsPaths logindefsPath
82 hi def link logindefsPathDelim Delimiter
83 hi def link logindefsBoolean Boolean
84 hi def link logindefsDecimal Number
85 hi def link logindefsOctal Number
86 hi def link logindefsOctalZero PreProc
87 hi def link logindefsOctalError Error
88 hi def link logindefsHex Number
89 hi def link logindefsKeyword Keyword
91 let b:current_syntax = "logindefs"