1624
|
1 " Vim syntax file
|
|
2 " Language: denyhosts configuration file
|
|
3 " Maintainer: Nikolai Weibull <now@bitwi.se>
|
|
4 " Latest Revision: 2007-06-25
|
|
5
|
|
6 if exists("b:current_syntax")
|
|
7 finish
|
|
8 endif
|
|
9
|
|
10 let s:cpo_save = &cpo
|
|
11 set cpo&vim
|
|
12
|
|
13 syn keyword denyhostsTodo
|
|
14 \ contained
|
|
15 \ TODO
|
|
16 \ FIXME
|
|
17 \ XXX
|
|
18 \ NOTE
|
|
19
|
|
20 syn case ignore
|
|
21
|
|
22 syn match denyhostsComment
|
|
23 \ contained
|
|
24 \ display
|
|
25 \ '#.*'
|
|
26 \ contains=denyhostsTodo,
|
|
27 \ @Spell
|
|
28
|
|
29 syn match denyhostsBegin
|
|
30 \ display
|
|
31 \ '^'
|
|
32 \ nextgroup=@denyhostsSetting,
|
|
33 \ denyhostsComment
|
|
34 \ skipwhite
|
|
35
|
|
36 syn cluster denyhostsSetting
|
|
37 \ contains=denyhostsStringSetting,
|
|
38 \ denyhostsBooleanSetting,
|
|
39 \ denyhostsPathSetting,
|
|
40 \ denyhostsNumericSetting,
|
|
41 \ denyhostsTimespecSetting,
|
|
42 \ denyhostsFormatSetting,
|
|
43 \ denyhostsRegexSetting
|
|
44
|
|
45 syn keyword denyhostsStringSetting
|
|
46 \ contained
|
|
47 \ ADMIN_EMAIL
|
|
48 \ SMTP_HOST
|
|
49 \ SMTP_USERNAME
|
|
50 \ SMTP_PASSWORD
|
|
51 \ SMTP_FROM
|
|
52 \ SMTP_SUBJECT
|
|
53 \ BLOCK_SERVICE
|
|
54 \ nextgroup=denyhostsStringDelimiter
|
|
55 \ skipwhite
|
|
56
|
|
57 syn keyword denyhostsBooleanSetting
|
|
58 \ contained
|
|
59 \ SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS
|
|
60 \ HOSTNAME_LOOKUP
|
|
61 \ SYSLOG_REPORT
|
|
62 \ RESET_ON_SUCCESS
|
|
63 \ SYNC_UPLOAD
|
|
64 \ SYNC_DOWNLOAD
|
|
65 \ ALLOWED_HOSTS_HOSTNAME_LOOKUP
|
|
66 \ nextgroup=denyhostsBooleanDelimiter
|
|
67 \ skipwhite
|
|
68
|
|
69 syn keyword denyhostsPathSetting
|
|
70 \ contained
|
|
71 \ DAEMON_LOG
|
|
72 \ PLUGIN_DENY
|
|
73 \ PLUGIN_PURGE
|
|
74 \ SECURE_LOG
|
|
75 \ LOCK_FILE
|
|
76 \ HOSTS_DENY
|
|
77 \ WORK_DIR
|
|
78 \ nextgroup=denyhostsPathDelimiter
|
|
79 \ skipwhite
|
|
80
|
|
81 syn keyword denyhostsNumericSetting
|
|
82 \ contained
|
|
83 \ SYNC_DOWNLOAD_THRESHOLD
|
|
84 \ SMTP_PORT
|
|
85 \ PURGE_THRESHOLD
|
|
86 \ DENY_THRESHOLD_INVALID
|
|
87 \ DENY_THRESHOLD_VALID
|
|
88 \ DENY_THRESHOLD_ROOT
|
|
89 \ DENY_THRESHOLD_RESTRICTED
|
|
90 \ nextgroup=denyhostsNumericDelimiter
|
|
91 \ skipwhite
|
|
92
|
|
93 syn keyword denyhostsTimespecSetting
|
|
94 \ contained
|
|
95 \ DAEMON_SLEEP
|
|
96 \ DAEMON_PURGE
|
|
97 \ AGE_RESET_INVALID
|
|
98 \ AGE_RESET_VALID
|
|
99 \ AGE_RESET_ROOT
|
|
100 \ AGE_RESET_RESTRICTED
|
|
101 \ SYNC_INTERVAL
|
|
102 \ SYNC_DOWNLOAD_RESILIENCY
|
|
103 \ PURGE_DENY
|
|
104 \ nextgroup=denyhostsTimespecDelimiter
|
|
105 \ skipwhite
|
|
106
|
|
107 syn keyword denyhostsFormatSetting
|
|
108 \ contained
|
|
109 \ DAEMON_LOG_TIME_FORMAT
|
|
110 \ DAEMON_LOG_MESSAGE_FORMAT
|
|
111 \ SMTP_DATE_FORMAT
|
|
112 \ nextgroup=denyhostsFormatDelimiter
|
|
113 \ skipwhite
|
|
114
|
|
115 syn keyword denyhostsRegexSetting
|
|
116 \ contained
|
|
117 \ SSHD_FORMAT_REGEX
|
|
118 \ FAILED_ENTRY_REGEX
|
|
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
|
|
128 \ skipwhite
|
|
129
|
|
130 syn keyword denyhostURLSetting
|
|
131 \ contained
|
|
132 \ SYNC_SERVER
|
|
133 \ nextgroup=denyhostsURLDelimiter
|
|
134 \ skipwhite
|
|
135
|
|
136 syn match denyhostsStringDelimiter
|
|
137 \ contained
|
|
138 \ display
|
|
139 \ '[:=]'
|
|
140 \ nextgroup=denyhostsString
|
|
141 \ skipwhite
|
|
142
|
|
143 syn match denyhostsBooleanDelimiter
|
|
144 \ contained
|
|
145 \ display
|
|
146 \ '[:=]'
|
|
147 \ nextgroup=@denyhostsBoolean
|
|
148 \ skipwhite
|
|
149
|
|
150 syn match denyhostsPathDelimiter
|
|
151 \ contained
|
|
152 \ display
|
|
153 \ '[:=]'
|
|
154 \ nextgroup=denyhostsPath
|
|
155 \ skipwhite
|
|
156
|
|
157 syn match denyhostsNumericDelimiter
|
|
158 \ contained
|
|
159 \ display
|
|
160 \ '[:=]'
|
|
161 \ nextgroup=denyhostsNumber
|
|
162 \ skipwhite
|
|
163
|
|
164 syn match denyhostsTimespecDelimiter
|
|
165 \ contained
|
|
166 \ display
|
|
167 \ '[:=]'
|
|
168 \ nextgroup=denyhostsTimespec
|
|
169 \ skipwhite
|
|
170
|
|
171 syn match denyhostsFormatDelimiter
|
|
172 \ contained
|
|
173 \ display
|
|
174 \ '[:=]'
|
|
175 \ nextgroup=denyhostsFormat
|
|
176 \ skipwhite
|
|
177
|
|
178 syn match denyhostsRegexDelimiter
|
|
179 \ contained
|
|
180 \ display
|
|
181 \ '[:=]'
|
|
182 \ nextgroup=denyhostsRegex
|
|
183 \ skipwhite
|
|
184
|
|
185 syn match denyhostsURLDelimiter
|
|
186 \ contained
|
|
187 \ display
|
|
188 \ '[:=]'
|
|
189 \ nextgroup=denyhostsURL
|
|
190 \ skipwhite
|
|
191
|
|
192 syn match denyhostsString
|
|
193 \ contained
|
|
194 \ display
|
|
195 \ '.\+'
|
|
196
|
|
197 syn cluster denyhostsBoolean
|
|
198 \ contains=denyhostsBooleanTrue,
|
|
199 \ denyhostsBooleanFalse
|
|
200
|
|
201 syn match denyhostsBooleanFalse
|
|
202 \ contained
|
|
203 \ display
|
|
204 \ '.\+'
|
|
205
|
|
206 syn match denyhostsBooleanTrue
|
|
207 \ contained
|
|
208 \ display
|
|
209 \ '\s*\%(1\|t\%(rue\)\=\|y\%(es\)\=\)\>\s*$'
|
|
210
|
|
211 syn match denyhostsPath
|
|
212 \ contained
|
|
213 \ display
|
|
214 \ '.\+'
|
|
215
|
|
216 syn match denyhostsNumber
|
|
217 \ contained
|
|
218 \ display
|
|
219 \ '\d\+\>'
|
|
220
|
|
221 syn match denyhostsTimespec
|
|
222 \ contained
|
|
223 \ display
|
|
224 \ '\d\+[mhdwy]\>'
|
|
225
|
|
226 syn match denyhostsFormat
|
|
227 \ contained
|
|
228 \ display
|
|
229 \ '.\+'
|
|
230 \ contains=denyhostsFormattingExpandos
|
|
231
|
|
232 syn match denyhostsFormattingExpandos
|
|
233 \ contained
|
|
234 \ display
|
|
235 \ '%.'
|
|
236
|
|
237 syn match denyhostsRegex
|
|
238 \ contained
|
|
239 \ display
|
|
240 \ '.\+'
|
|
241
|
|
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
|
|
245 \ contained
|
|
246 \ display
|
|
247 \ '.\+'
|
|
248
|
|
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
|
|
274 else
|
|
275 hi def denyhostsBooleanTrue term=bold ctermfg=Green guifg=Green
|
|
276 hi def denyhostsBooleanFalse ctermfg=Red guifg=Red
|
|
277 endif
|
|
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
|
|
285
|
|
286 let b:current_syntax = "denyhosts"
|
|
287
|
|
288 let &cpo = s:cpo_save
|
|
289 unlet s:cpo_save
|