blob: 59d18e7ef4af8fd2258d05a81538740eed2a4ba7 [file] [log] [blame]
Bram Moolenaar42eeac32005-06-29 22:40:58 +00001" Vim syntax file
2" Language: login.defs(5) configuration file
Bram Moolenaar57657d82006-04-21 22:12:41 +00003" Maintainer: Nikolai Weibull <now@bitwi.se>
Bram Moolenaar81af9252010-12-10 20:35:50 +01004" Latest Revision: 2010-11-29
Bram Moolenaar42eeac32005-06-29 22:40:58 +00005
6if exists("b:current_syntax")
7 finish
8endif
9
10let s:cpo_save = &cpo
11set cpo&vim
12
Bram Moolenaar81af9252010-12-10 20:35:50 +010013syn match logindefsBegin display '^'
14 \ nextgroup=
15 \ logindefsComment,
16 \ @logindefsKeyword
17 \ skipwhite
Bram Moolenaar42eeac32005-06-29 22:40:58 +000018
Bram Moolenaar81af9252010-12-10 20:35:50 +010019syn region logindefsComment display oneline start='^\s*#' end='$'
20 \ contains=logindefsTodo,@Spell
Bram Moolenaar42eeac32005-06-29 22:40:58 +000021
Bram Moolenaar81af9252010-12-10 20:35:50 +010022syn keyword logindefsTodo contained TODO FIXME XXX NOTE
Bram Moolenaar42eeac32005-06-29 22:40:58 +000023
Bram Moolenaar81af9252010-12-10 20:35:50 +010024syn cluster logindefsKeyword contains=
25 \ logindefsBooleanKeyword,
26 \ logindefsEncryptKeyword,
27 \ logindefsNumberKeyword,
28 \ logindefsPathKeyword,
29 \ logindefsPathsKeyword,
30 \ logindefsStringKeyword
Bram Moolenaar42eeac32005-06-29 22:40:58 +000031
Bram Moolenaar81af9252010-12-10 20:35:50 +010032syn keyword logindefsBooleanKeyword contained
33 \ CHFN_AUTH
34 \ CHSH_AUTH
35 \ CREATE_HOME
36 \ DEFAULT_HOME
37 \ FAILLOG_ENAB
38 \ LASTLOG_ENAB
39 \ LOG_OK_LOGINS
40 \ LOG_UNKFAIL_ENAB
41 \ MAIL_CHECK_ENAB
42 \ MD5_CRYPT_ENAB
43 \ OBSCURE_CHECKS_ENAB
44 \ PASS_ALWAYS_WARN
45 \ PORTTIME_CHECKS_ENAB
46 \ QUOTAS_ENAB
47 \ SU_WHEEL_ONLY
48 \ SYSLOG_SG_ENAB
49 \ SYSLOG_SU_ENAB
50 \ USERGROUPS_ENAB
51 \ nextgroup=logindefsBoolean skipwhite
Bram Moolenaar42eeac32005-06-29 22:40:58 +000052
Bram Moolenaar81af9252010-12-10 20:35:50 +010053syn keyword logindefsBoolean contained yes no
Bram Moolenaar42eeac32005-06-29 22:40:58 +000054
Bram Moolenaar81af9252010-12-10 20:35:50 +010055syn keyword logindefsEncryptKeyword contained
56 \ ENCRYPT_METHOD
57 \ nextgroup=logindefsEncryptMethod skipwhite
Bram Moolenaar42eeac32005-06-29 22:40:58 +000058
Bram Moolenaar81af9252010-12-10 20:35:50 +010059syn keyword logindefsEncryptMethod contained
60 \ DES
61 \ MD5
62 \ SHA256
63 \ SHA512
Bram Moolenaar42eeac32005-06-29 22:40:58 +000064
Bram Moolenaar81af9252010-12-10 20:35:50 +010065syn keyword logindefsNumberKeyword contained
66 \ ERASECHAR
67 \ FAIL_DELAY
68 \ GID_MAX
69 \ GID_MIN
70 \ KILLCHAR
71 \ LOGIN_RETRIES
72 \ LOGIN_TIMEOUT
73 \ MAX_MEMBERS_PER_GROUP
74 \ PASS_CHANGE_TRIES
75 \ PASS_MAX_DAYS
76 \ PASS_MIN_DAYS
77 \ PASS_WARN_AGE
78 \ PASS_MAX_LEN
79 \ PASS_MIN_LEN
80 \ SHA_CRYPT_MAX_ROUNDS
81 \ SHA_CRYPT_MIN_ROUNDS
82 \ SYS_GID_MAX
83 \ SYS_GID_MIN
84 \ SYS_UID_MAX
85 \ SYS_UID_MIN
86 \ UID_MAX
87 \ UID_MIN
88 \ ULIMIT
89 \ UMASK
90 \ nextgroup=@logindefsNumber skipwhite
Bram Moolenaar42eeac32005-06-29 22:40:58 +000091
Bram Moolenaar81af9252010-12-10 20:35:50 +010092syn cluster logindefsNumber contains=
93 \ logindefsDecimal,
94 \ logindefsHex,
95 \ logindefsOctal,
96 \ logindefsOctalError
Bram Moolenaar42eeac32005-06-29 22:40:58 +000097
Bram Moolenaar81af9252010-12-10 20:35:50 +010098syn match logindefsDecimal contained '\<\d\+\>'
Bram Moolenaar42eeac32005-06-29 22:40:58 +000099
Bram Moolenaar81af9252010-12-10 20:35:50 +0100100syn match logindefsHex contained display '\<0x\x\+\>'
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000101
Bram Moolenaar81af9252010-12-10 20:35:50 +0100102syn match logindefsOctal contained display '\<0\o\+\>'
103 \ contains=logindefsOctalZero
104syn match logindefsOctalZero contained display '\<0'
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000105
Bram Moolenaar81af9252010-12-10 20:35:50 +0100106syn match logindefsOctalError contained display '\<0\o*[89]\d*\>'
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000107
Bram Moolenaar81af9252010-12-10 20:35:50 +0100108syn keyword logindefsPathKeyword contained
109 \ ENVIRON_FILE
110 \ FAKE_SHELL
111 \ FTMP_FILE
112 \ HUSHLOGIN_FILE
113 \ ISSUE_FILE
114 \ MAIL_DIR
115 \ MAIL_FILE
116 \ NOLOGINS_FILE
117 \ SULOG_FILE
118 \ TTYTYPE_FILE
119 \ nextgroup=logindefsPath skipwhite
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000120
Bram Moolenaar81af9252010-12-10 20:35:50 +0100121syn match logindefsPath contained '[[:graph:]]\+'
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000122
Bram Moolenaar81af9252010-12-10 20:35:50 +0100123syn keyword logindefsPathsKeyword contained
124 \ CONSOLE
125 \ ENV_PATH
126 \ ENV_SUPATH
127 \ MOTD_FILE
128 \ nextgroup=logindefsPaths skipwhite
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000129
Bram Moolenaar81af9252010-12-10 20:35:50 +0100130syn match logindefsPaths contained '[^:]\+'
131 \ nextgroup=logindefsPathDelim
132
133syn match logindefsPathDelim contained ':' nextgroup=logindefsPaths
134
135syn keyword logindefsStringKeyword contained
136 \ CHFN_RESTRICT
137 \ CONSOLE_GROUPS
138 \ ENV_HZ
139 \ ENV_TZ
140 \ LOGIN_STRING
141 \ SU_NAME
142 \ TTYGROUP
143 \ TTYPERM
144 \ USERDEL_CMD
145 \ nextgroup=logindefsString skipwhite
146
147syn match logindefsString contained '[[:graph:]]\+'
148
149hi def link logindefsComment Comment
150hi def link logindefsTodo Todo
151hi def link logindefsKeyword Keyword
152hi def link logindefsBooleanKeyword logindefsKeyword
153hi def link logindefsEncryptKeyword logindefsKeyword
154hi def link logindefsNumberKeyword logindefsKeyword
155hi def link logindefsPathKeyword logindefsKeyword
156hi def link logindefsPathsKeyword logindefsKeyword
157hi def link logindefsStringKeyword logindefsKeyword
158hi def link logindefsBoolean Boolean
159hi def link logindefsEncryptMethod Type
160hi def link logindefsNumber Number
161hi def link logindefsDecimal logindefsNumber
162hi def link logindefsHex logindefsNumber
163hi def link logindefsOctal logindefsNumber
164hi def link logindefsOctalZero PreProc
165hi def link logindefsOctalError Error
166hi def link logindefsPath String
167hi def link logindefsPaths logindefsPath
168hi def link logindefsPathDelim Delimiter
169hi def link logindefsString String
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000170
171let b:current_syntax = "logindefs"
172
173let &cpo = s:cpo_save
174unlet s:cpo_save