2 " Language: denyhosts configuration file
3 " Maintainer: Nikolai Weibull <now@bitwi.se>
4 " Latest Revision: 2007-06-25
6 if exists("b:current_syntax")
13 syn keyword denyhostsTodo
22 syn match denyhostsComment
26 \ contains=denyhostsTodo,
29 syn match denyhostsBegin
32 \ nextgroup=@denyhostsSetting,
36 syn cluster denyhostsSetting
37 \ contains=denyhostsStringSetting,
38 \ denyhostsBooleanSetting,
39 \ denyhostsPathSetting,
40 \ denyhostsNumericSetting,
41 \ denyhostsTimespecSetting,
42 \ denyhostsFormatSetting,
43 \ denyhostsRegexSetting
45 syn keyword denyhostsStringSetting
54 \ nextgroup=denyhostsStringDelimiter
57 syn keyword denyhostsBooleanSetting
59 \ SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS
65 \ ALLOWED_HOSTS_HOSTNAME_LOOKUP
66 \ nextgroup=denyhostsBooleanDelimiter
69 syn keyword denyhostsPathSetting
78 \ nextgroup=denyhostsPathDelimiter
81 syn keyword denyhostsNumericSetting
83 \ SYNC_DOWNLOAD_THRESHOLD
86 \ DENY_THRESHOLD_INVALID
87 \ DENY_THRESHOLD_VALID
89 \ DENY_THRESHOLD_RESTRICTED
90 \ nextgroup=denyhostsNumericDelimiter
93 syn keyword denyhostsTimespecSetting
100 \ AGE_RESET_RESTRICTED
102 \ SYNC_DOWNLOAD_RESILIENCY
104 \ nextgroup=denyhostsTimespecDelimiter
107 syn keyword denyhostsFormatSetting
109 \ DAEMON_LOG_TIME_FORMAT
110 \ DAEMON_LOG_MESSAGE_FORMAT
112 \ nextgroup=denyhostsFormatDelimiter
115 syn keyword denyhostsRegexSetting
119 \ FAILED_ENTRY_REGEX2
120 \ FAILED_ENTRY_REGEX3
121 \ FAILED_ENTRY_REGEX4
122 \ FAILED_ENTRY_REGEX5
123 \ FAILED_ENTRY_REGEX6
124 \ FAILED_ENTRY_REGEX7
125 \ USERDEF_FAILED_ENTRY_REGEX
126 \ SUCCESSFUL_ENTRY_REGEX
127 \ nextgroup=denyhostsRegexDelimiter
130 syn keyword denyhostURLSetting
133 \ nextgroup=denyhostsURLDelimiter
136 syn match denyhostsStringDelimiter
140 \ nextgroup=denyhostsString
143 syn match denyhostsBooleanDelimiter
147 \ nextgroup=@denyhostsBoolean
150 syn match denyhostsPathDelimiter
154 \ nextgroup=denyhostsPath
157 syn match denyhostsNumericDelimiter
161 \ nextgroup=denyhostsNumber
164 syn match denyhostsTimespecDelimiter
168 \ nextgroup=denyhostsTimespec
171 syn match denyhostsFormatDelimiter
175 \ nextgroup=denyhostsFormat
178 syn match denyhostsRegexDelimiter
182 \ nextgroup=denyhostsRegex
185 syn match denyhostsURLDelimiter
189 \ nextgroup=denyhostsURL
192 syn match denyhostsString
197 syn cluster denyhostsBoolean
198 \ contains=denyhostsBooleanTrue,
199 \ denyhostsBooleanFalse
201 syn match denyhostsBooleanFalse
206 syn match denyhostsBooleanTrue
209 \ '\s*\%(1\|t\%(rue\)\=\|y\%(es\)\=\)\>\s*$'
211 syn match denyhostsPath
216 syn match denyhostsNumber
221 syn match denyhostsTimespec
226 syn match denyhostsFormat
230 \ contains=denyhostsFormattingExpandos
232 syn match denyhostsFormattingExpandos
237 syn match denyhostsRegex
242 " TODO: Perhaps come up with a better regex here? There should really be a
243 " library for these kinds of generic regexes, that is, URLs, mail addresses, …
244 syn match denyhostsURL
249 hi def link denyhostsTodo Todo
250 hi def link denyhostsComment Comment
251 hi def link denyhostsSetting Keyword
252 hi def link denyhostsStringSetting denyhostsSetting
253 hi def link denyhostsBooleanSetting denyhostsSetting
254 hi def link denyhostsPathSetting denyhostsSetting
255 hi def link denyhostsNumericSetting denyhostsSetting
256 hi def link denyhostsTimespecSetting denyhostsSetting
257 hi def link denyhostsFormatSetting denyhostsSetting
258 hi def link denyhostsRegexSetting denyhostsSetting
259 hi def link denyhostURLSetting denyhostsSetting
260 hi def link denyhostsDelimiter Normal
261 hi def link denyhostsStringDelimiter denyhostsDelimiter
262 hi def link denyhostsBooleanDelimiter denyhostsDelimiter
263 hi def link denyhostsPathDelimiter denyhostsDelimiter
264 hi def link denyhostsNumericDelimiter denyhostsDelimiter
265 hi def link denyhostsTimespecDelimiter denyhostsDelimiter
266 hi def link denyhostsFormatDelimiter denyhostsDelimiter
267 hi def link denyhostsRegexDelimiter denyhostsDelimiter
268 hi def link denyhostsURLDelimiter denyhostsDelimiter
269 hi def link denyhostsString String
270 if exists('g:syntax_booleans_simple') || exists('b:syntax_booleans_simple')
271 hi def link denyhostsBoolean Boolean
272 hi def link denyhostsBooleanFalse denyhostsBoolean
273 hi def link denyhostsBooleanTrue denyhostsBoolean
275 hi def denyhostsBooleanTrue term=bold ctermfg=Green guifg=Green
276 hi def denyhostsBooleanFalse ctermfg=Red guifg=Red
278 hi def link denyhostsPath String
279 hi def link denyhostsNumber Number
280 hi def link denyhostsTimespec Number
281 hi def link denyhostsFormat String
282 hi def link denyhostsFormattingExpandos Special
283 hi def link denyhostsRegex String
284 hi def link denyhostsURL String
286 let b:current_syntax = "denyhosts"
288 let &cpo = s:cpo_save