]>
Commit | Line | Data |
---|---|---|
21166df1 AG |
1 | " Vim syntax file |
2 | " Language: Exim4 configuration file exim.conf | |
3 | " Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz> | |
4 | " Last Change: 2004-02-06 | |
5 | " URL: http://trific.ath.cx/Ftp/vim/syntax/exim.vim | |
6 | " Required Vim Version: 6.0 | |
7 | ||
8 | " Note: The numbers and names are references to Exim specification chapters | |
9 | " and sections mentioning a particular construct or keyword. | |
10 | ||
11 | " Setup {{{ | |
12 | " React to possibly already-defined syntax. | |
13 | " For version 5.x: Clear all syntax items unconditionally | |
14 | " For version 6.x: Quit when a syntax file was already loaded | |
15 | if version >= 600 | |
16 | if exists("b:current_syntax") | |
17 | finish | |
18 | endif | |
19 | else | |
20 | syntax clear | |
21 | endif | |
22 | ||
23 | syn case match | |
24 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
25 | " Base constructs {{{ | |
26 | " 6.2. Configuration file format | |
27 | syn match eximComment "^\s*#.*$" contains=eximFixme | |
28 | syn keyword eximFixme FIXME TODO XXX NOT contained | |
29 | " 6.7 Boolean options | |
30 | syn keyword eximConstant true false yes no | |
31 | " 6.6. Common option syntax | |
32 | syn keyword eximHide hide | |
33 | " 6.8. Integer values | |
34 | " 6.9. Octal integer values | |
35 | syn match eximNumber "\<\d\+[KM]\=\>" | |
36 | syn match eximNumber "\<0[xX]\x\+\>" | |
37 | " 6.10. Fixed point number values | |
38 | syn match eximNumber "\<\d\+\(\.\d\{,3}\)\=\>" | |
39 | " 6.11. Time interval values | |
40 | syn match eximTime "\<\(\d\+[wdhms]\)\+\>" | |
41 | syn match eximSpecialChar "\\[\\nrtN]\|\\\o\{1,3}\|\\x\x\{1,2}" | |
42 | syn match eximListChanger "=\s*\zs<." | |
43 | syn match eximLineContinuation "\\$" | |
44 | " 6.16. Format of driver configurations | |
45 | " (also ACL) | |
46 | syn match eximDriver "^\s*\i\+:" | |
47 | " 10.5. Named lists | |
48 | syn match eximListReference "+\i\+\>" | |
49 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
50 | " 11. String expansions {{{ | |
51 | syn match eximVariableReference "\$\i\+" | |
52 | syn match eximVariableReference "\$header_[-a-zA-Z0-9_]\+\>" | |
53 | syn region eximBracedGroup matchgroup=eximSpecialChar start="\$\={" end="}" transparent contains=TOP | |
54 | " 11.4 Expansion items | |
55 | " 11.5 Expansion operators | |
56 | syn match eximStringOperation "{\@<=\K[-a-zA-Z0-9_]*\>" transparent contained containedin=eximBracedGroup contains=eximStringOperationName,eximExpansionVariable | |
57 | syn keyword eximStringOperationName address base62 domain escape eval expand from_utf8 h hash hex2b64 lc l length local_part mask md5 nhash rxquote rfc2047 sha1 stat s strlen substr uc contained | |
58 | syn keyword eximStringOperationName extract hash hmac length lookup nhash perl readfile readsocket run sg substr tr contained | |
59 | syn match eximStringOperationName "\<if\>" contained nextgroup=eximOperationConditionName skipwhite | |
60 | syn match eximStringOperationName "\<r\=h\(eader\)\=_[-a-zA-Z0-9_]\+\>" | |
61 | syn keyword eximStringOperationName quote quote_cdb quote_dbm[nz] quote_dsearch quote_lsearch quote_nis[plus] quote_wildlsearch quote_dnsdb quote_ldap[dn] quote_ldapm quote_local_part quote_mysql quote_nisplus quote_oracle quote_passwd quote_pgsql quote_testdb quote_whoson contained | |
62 | syn match eximStringOperationName "\<\(n\=hash\|substr\)\(_-\=\d\+\)\{1,2}\>" contained | |
63 | syn match eximStringOperationName "\<length_-\=\d\+\>" contained | |
64 | " 11.6 Expansion conditions | |
65 | syn keyword eximOperationConditionName crypteq def eq eqi exists first_delivery ldpauth match pam pwcheck queue_running radius contained containedin=eximBracedGroup | |
66 | " 11.7 Combining expansion conditions | |
67 | syn keyword eximOperationConditionName or and contained containedin=eximBracedGroup | |
68 | " 11.8 Expansion variables | |
69 | " XXX: unused | |
70 | syn match eximExpansionVariable "acl_[cm]\d\|s\=n\d\|\d" contained | |
71 | syn keyword eximExpansionVariable acl_verify_message address_data address_file address_pipe authenticated_id authenticated_sender authentication_failed contained | |
72 | syn keyword eximExpansionVariable body_linecount bounce_recipient caller_gid caller_uid compile_date compile_number contained | |
73 | syn keyword eximExpansionVariable dnslist_domain dnslist_text dnslist_value domain domain_data domain_data home contained | |
74 | syn keyword eximExpansionVariable host host_address host_data host_lookup_failed inode interface_address interface_port ldap_dn load_average contained | |
75 | syn keyword eximExpansionVariable local_part local_part_data local_part_prefix local_part_suffix local_scan_data localhost_number contained | |
76 | syn keyword eximExpansionVariable message_age message_body message_body_end message_body_size message_headers message_id message_size contained | |
77 | syn keyword eximExpansionVariable original_domain original_local_part originator_gid originator_uid parent_domain parent_local_part pid pipe_addresses primary_hostname qualify_domain qualify_recipient contained | |
78 | syn keyword eximExpansionVariable rcpt_count rcpt_defer_count rcpt_fail_count received_for received_protocol recipients recipients_count reply_address return_path return_size_limit runrc self_hostname contained | |
79 | syn keyword eximExpansionVariable sender_address sender_address_domain sender_address_local_part sender_fullhost sender_helo_name sender_host_address sender_host_authenticated sender_host_name sender_host_port sender_ident sender_rcvhost contained | |
80 | syn keyword eximExpansionVariable smtp_command_argument spool_directory thisaddress tls_certificate_verified tls_cipher tls_peerdn contained | |
81 | syn keyword eximExpansionVariable tod_bsdinbox tod_epoch tod_full tod_log tod_logfile tod_zone tod_zulu value version_number warn_message_delay warn_message_recipients contained | |
82 | " Exim 4.30 | |
83 | syn keyword eximExpansionVariable mailstore_basename local_user_uid local_user_gid received_count contained | |
84 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
85 | " 6. The Exim run time configuration file {{{ | |
86 | " 6.2. Configuration file format | |
87 | syn match eximSection "^\s*begin\>" nextgroup=eximSectionName skipwhite | |
88 | syn keyword eximSectionName acl authenticators routers transports retry rewrite local_scan contained | |
89 | syn region eximRewriteSection start="\s*begin\s\+rewrite" end="^\ze\s*begin\>" end="\%$" contains=TOP,eximOption | |
90 | syn region eximRetrySection start="\s*begin\s\+retry" end="^\ze\s*begin\>" end="\%$" contains=TOP,eximOption | |
91 | " 6.3. File inclusions in the configuration file | |
92 | syn match eximInclude "^\s*.include\(_if_exists\)\?\>" | |
93 | " 6.4. Macros in the configuration file | |
94 | syn region eximMacroDefinition matchgroup=eximMacroName start="^[A-Z]\i*\s*=" end="$" skip="\\\s*$" transparent contains=TOP | |
95 | " 6.5. Conditional skips in the configuration file | |
96 | syn match eximIfThen "^\s*.\(ifdef\|ifndef\|endifdef\|elifndef\|else\|endif\)\>" | |
97 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
98 | " 9. File and databasae lookups {{{ | |
99 | syn keyword eximLookupType cdb dbm[nz] dsearch lsearch nis wildlsearch | |
100 | syn keyword eximLookupType dnsdb ldap[dn] ldapm mysql nisplus oracle passwd pgsql testdb whoson | |
101 | " The contains= is to fool keyword-before-match matching order | |
102 | syn match eximLookupType "\<partial\d\=\(-\|([^)]*)\)\(cdb\|dbm\|dbmnz\|dsearch\|lsearch\|nis\|wildlsearch\)\>" contains=eximLookupType | |
103 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
104 | " 10. Domain, Host, Address, and Local Part lists {{{ | |
105 | syn match eximListDefinition "^\s*\(domain\|host\|address\|localpart\)list\>" nextgroup=eximListName skipwhite | |
106 | syn match eximListName "\i\+" contained | |
107 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
108 | " 13. Main configuration {{{ | |
109 | " 13.1 Miscellaneous | |
110 | syn keyword eximOption bi_command keep_malformed localhost_number message_body_visible timezone | |
111 | syn keyword eximOption message_logs no_message_logs not_message_logs | |
112 | syn keyword eximOption print_topbitchars no_print_topbitchars not_print_topbitchars | |
113 | syn keyword eximOption split_spool_directory no_split_spool_directory not_split_spool_directory | |
114 | " 13.2 Exim parameters | |
115 | syn keyword eximOption exim_group exim_path exim_user primary_hostname spool_directory | |
116 | " 13.3. Privilege controls | |
117 | syn keyword eximOption admin_groups local_from_prefix local_from_suffix never_users trusted_groups trusted_users | |
118 | syn keyword eximOption deliver_drop_privilege no_deliver_drop_privilege not_deliver_drop_privilege | |
119 | syn keyword eximOption local_from_check no_local_from_check not_local_from_check | |
120 | syn keyword eximOption local_sender_retain no_local_sender_retain not_local_sender_retain | |
121 | syn keyword eximOption prod_requires_admin no_prod_requires_admin not_prod_requires_admin | |
122 | syn keyword eximOption queue_list_requires_admin no_queue_list_requires_admin not_queue_list_requires_admin | |
123 | " 13.4. Logging | |
124 | syn keyword eximOption log_file_path log_selector log_timezone syslog_facility syslog_processname | |
125 | syn keyword eximOption preserve_message_logs no_preserve_message_logs not_preserve_message_logs | |
126 | syn keyword eximOption syslog_timestamp no_syslog_timestamp not_syslog_timestamp | |
127 | " 13.5. Frozen messages | |
128 | syn keyword eximOption auto_thaw freeze_tell timeout_frozen_after | |
129 | syn keyword eximOption move_frozen_messages no_move_frozen_messages not_move_frozen_messages | |
130 | " 13.6. Data lookups | |
131 | syn keyword eximOption ldap_default_servers ldap_version lookup_open_max mysql_servers oracle_servers pgsql_servers | |
132 | " 13.7. Message ids | |
133 | syn keyword eximOption message_id_header_domain message_id_header_text | |
134 | " 13.8. Embedded Perl Startup | |
135 | syn keyword eximOption perl_startup | |
136 | syn keyword eximOption perl_at_start no_perl_at_start not_perl_at_start | |
137 | " 13.9. Daemon | |
138 | syn keyword eximOption daemon_smtp_port local_interfaces pid_file_path | |
139 | " 13.10. Resource control | |
140 | syn keyword eximOption check_log_inodes check_log_space check_spool_inodes check_spool_space deliver_queue_load_max smtp_load_reserve queue_only_load | |
141 | " 13.11. Policy controls | |
142 | syn keyword eximOption acl_not_smtp acl_smtp_auth acl_smtp_connect acl_smtp_data acl_smtp_etrn acl_smtp_expn acl_smtp_helo acl_smtp_mail acl_smtp_rcpt acl_smtp_starttls acl_smtp_vrfy header_maxsize header_line_maxsize helo_verify_hosts host_lookup host_reject_connection hosts_treat_as_local local_scan_timeout message_size_limit percent_hack_domains host_lookup_order | |
143 | " 13.12. Callout cache | |
144 | syn keyword eximOption callout_domain_negative_expire callout_domain_positive_expire callout_negative_expire callout_positive_expire callout_random_local_part | |
145 | " 13.13. TLS | |
146 | syn keyword eximOption tls_advertise_hosts tls_certificate tls_dhparam tls_privatekey tls_try_verify_hosts tle_verify_certificates tls_verify_hosts | |
147 | " 13.14. Local user handling | |
148 | syn keyword eximOption finduser_retries gecos_name gecos_pattern max_username_length unknown_login unknown_username uucp_from_pattern uucp_from_sender | |
149 | " 13.15. Incoming messages | |
150 | syn keyword eximOption header_maxsize header_line_maxsize percent_hack_domains receive_timeout received_header_text received_headers_max recipient_unqualified_hosts recipients_max | |
151 | syn keyword eximOption recipients_max_reject no_recipients_max_reject not_recipients_max_reject | |
152 | " 13.16. Incoming SMTP | |
153 | syn keyword eximOption rfc1413_hosts rfc1413_query_timeout sender_unqualified_hosts smtp_accept_max smtp_accept_max_nommail smtp_accept_max_nonmail_hosts smtp_accept_max_per_connection smtp_accept_max_per_host smtp_accept_queue smtp_accept_queue_per_connection smtp_accept_reserve smtp_banner smtp_connect_backlog smtp_etrn_command smtp_load_reserve smtp_max_unknown_commands smtp_ratelimit_hosts smtp_ratelimit_mail smtp_ratelimit_rcpt smtp_receive_timeout smtp_reserve_hosts smtp_return_error_details | |
154 | syn keyword eximOption smtp_accept_keepalive no_smtp_accept_keepalive not_smtp_accept_keepalive | |
155 | syn keyword eximOption smtp_check_spool_space no_smtp_check_spool_space not_smtp_check_spool_space | |
156 | syn keyword eximOption smtp_enforce_sync no_smtp_enforce_sync not_smtp_enforce_sync | |
157 | syn keyword eximOption smtp_etrn_serialize no_smtp_etrn_serialize not_smtp_etrn_serialize | |
158 | " 13.17. SMTP extensions | |
159 | syn keyword eximOption auth_advertise_hosts ignore_fromline_hosts pipelining_advertise_hosts tls_advertise_hosts | |
160 | syn keyword eximOption accept_8bitmime no_accept_8bitmime not_accept_8bitmime | |
161 | syn keyword eximOption ignore_fromline_local no_ignore_fromline_local not_ignore_fromline_local | |
162 | " 13.18. Processing messages | |
163 | syn keyword eximOption allow_utf8_domains qualify_domain qualify_recipient return_path_remove strip_excess_angle_brackets strip_trailing_dot untrusted_set_sender | |
164 | syn keyword eximOption allow_domain_literals no_allow_domain_literals not_allow_domain_literals | |
165 | syn keyword eximOption allow_mx_to_ip no_allow_mx_to_ip not_allow_mx_to_ip | |
166 | syn keyword eximOption delivery_date_remove no_delivery_date_remove not_delivery_date_remove | |
167 | syn keyword eximOption drop_cr no_drop_cr not_drop_cr | |
168 | syn keyword eximOption envelope_to_remove no_envelope_to_remove not_envelope_to_remove | |
169 | syn keyword eximOption extract_addresses_remove_arguments no_extract_addresses_remove_arguments not_extract_addresses_remove_arguments | |
170 | syn keyword eximOption return_path_remove no_return_path_remove not_return_path_remove | |
171 | syn keyword eximOption strip_excess_angle_brackets no_strip_excess_angle_brackets not_strip_excess_angle_brackets | |
172 | syn keyword eximOption strip_trailing_dot no_strip_trailing_dot not_strip_trailing_dot | |
173 | " 13.19. System filter | |
174 | syn keyword eximOption system_filter system_filter_directory_transport system_filter_file_transport system_filter_group system_filter_pipe_transport system_filter_reply_transport system_filter_user | |
175 | " 13.20. Routing and delivery | |
176 | syn keyword eximOption dns_again_means_nonexist dns_check_names_pattern dns_ipv4_lookup dns_retrans dns_retry hold_domains local_interfaces queue_domains queue_only_file queue_only_load queue_run_max queue_smtp_domains remote_max_parallel remote_sort_domains retry_data_expire retry_interval_max | |
177 | syn keyword eximOption queue_only no_queue_only not_queue_only | |
178 | syn keyword eximOption queue_run_in_order no_queue_run_in_order not_queue_run_in_order | |
179 | " 13.21. Bounce and warning messages | |
180 | syn keyword eximOption bounce_message_file bounce_message_text bounce_sender_authentication errors_copy errors_reply_to delay_warning delay_warning_condition ignore_bounce_errors_after return_size_limit warn_message_file | |
181 | syn keyword eximOption bounce_return_message no_bounce_return_message not_bounce_return_message | |
182 | syn keyword eximOption bounce_return_body no_bounce_return_body not_bounce_return_body | |
183 | " XXX New 4.30 keywords, belong nowhere | |
184 | syn keyword eximOption tcp_nodelay no_tcp_nodelay not_tcp_nodelay | |
185 | syn keyword eximOption smtp_max_synprot_errors | |
186 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
187 | " 14. Generic options for routers {{{ | |
188 | syn keyword eximOption address_data cannot_route_message condition debug_print domains driver errors_to fallback_hosts group headers_add headers_remove ignore_target_hosts local_part_prefix local_part_suffix local_parts pass_router redirect_router require_files self senders translate_ip_address transport transport_current_directory transport_home_directory user | |
189 | syn keyword eximOption caseful_local_part no_caseful_local_part not_caseful_local_part | |
190 | syn keyword eximOption check_local_user no_check_local_user not_check_local_user | |
191 | syn keyword eximOption expn no_expn not_expn | |
192 | syn keyword eximOption fail_verify no_fail_verify not_fail_verify | |
193 | syn keyword eximOption fail_verify_recipient no_fail_verify_recipient not_fail_verify_recipient | |
194 | syn keyword eximOption fail_verify_sender no_fail_verify_sender not_fail_verify_sender | |
195 | syn keyword eximOption initgroups no_initgroups not_initgroups | |
196 | syn keyword eximOption local_part_prefix_optional no_local_part_prefix_optional not_local_part_prefix_optional | |
197 | syn keyword eximOption local_part_suffix_optional no_local_part_suffix_optional not_local_part_suffix_optional | |
198 | syn keyword eximOption log_as_local no_log_as_local not_log_as_local | |
199 | syn keyword eximOption more no_more not_more | |
200 | syn keyword eximOption pass_on_timeout no_pass_on_timeout not_pass_on_timeout | |
201 | syn keyword eximOption retry_use_local_part no_retry_use_local_part not_retry_use_local_part | |
202 | syn keyword eximOption unseen no_unseen not_unseen | |
203 | syn keyword eximOption verify no_verify not_verify | |
204 | syn keyword eximOption verify_only no_verify_only not_verify_only | |
205 | syn keyword eximOption verify_recipient no_verify_recipient not_verify_recipient | |
206 | syn keyword eximOption verify_sender no_verify_sender not_verify_sender | |
207 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
208 | " 15. The accept router {{{ | |
209 | syn keyword eximDriverName accept | |
210 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
211 | " 16. The dnslookup router {{{ | |
212 | syn keyword eximDriverName dnslookup | |
213 | syn keyword eximOption mx_domains widen_domains | |
214 | syn keyword eximOption check_secondary_mx no_check_secondary_mx not_check_secondary_mx | |
215 | syn keyword eximOption qualify_single no_qualify_single not_qualify_single | |
216 | syn keyword eximOption rewrite_headers no_rewrite_headers not_rewrite_headers | |
217 | syn keyword eximOption same_domain_copy_routing no_same_domain_copy_routing not_same_domain_copy_routing | |
218 | syn keyword eximOption search_parents no_search_parents not_search_parents | |
219 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
220 | " 17. The ipliteral router {{{ | |
221 | syn keyword eximDriverName ipliteral | |
222 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
223 | " 18. The iplookup router {{{ | |
224 | syn keyword eximDriverName iplookup | |
225 | syn keyword eximOption hosts port protocol query reroute response_pattern timeout | |
226 | syn keyword eximOption optional no_optional not_optional | |
227 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
228 | " 19. The manualroute router {{{ | |
229 | syn keyword eximDriverName manualroute | |
230 | syn keyword eximOption host_find_failed route_data route_list | |
231 | syn keyword eximOption hosts_randomize no_hosts_randomize not_hosts_randomize | |
232 | syn keyword eximOption same_domain_copy_routing no_same_domain_copy_routing not_same_domain_copy_routing | |
233 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
234 | " 20. The queryprogram router {{{ | |
235 | syn keyword eximDriverName queryprogram | |
236 | syn keyword eximOption command command_group command_user current_directory timeout | |
237 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
238 | " 21. The redirect router {{{ | |
239 | syn keyword eximDriverName redirect | |
240 | syn keyword eximOption data directory_transport file file_transport include_directory modemask owners owngroups pipe_transport reply_transport syntax_errors_text syntax_errors_to | |
241 | syn keyword eximOption allow_defer no_allow_defer not_allow_defer | |
242 | syn keyword eximOption allow_fail no_allow_fail not_allow_fail | |
243 | syn keyword eximOption allow_filter no_allow_filter not_allow_filter | |
244 | syn keyword eximOption allow_freeze no_allow_freeze not_allow_freeze | |
245 | syn keyword eximOption check_ancestor no_check_ancestor not_check_ancestor | |
246 | syn keyword eximOption check_group no_check_group not_check_group | |
247 | syn keyword eximOption check_owner no_check_owner not_check_owner | |
248 | syn keyword eximOption forbid_blackhole no_forbid_blackhole not_forbid_blackhole | |
249 | syn keyword eximOption forbid_file no_forbid_file not_forbid_file | |
250 | syn keyword eximOption forbid_filter_existstest no_forbid_filter_existstest not_forbid_filter_existstest | |
251 | syn keyword eximOption forbid_filter_logwrite no_forbid_filter_logwrite not_forbid_filter_logwrite | |
252 | syn keyword eximOption forbid_filter_lookup no_forbid_filter_lookup not_forbid_filter_lookup | |
253 | syn keyword eximOption forbid_filter_perl no_forbid_filter_perl not_forbid_filter_perl | |
254 | syn keyword eximOption forbid_filter_readfile no_forbid_filter_readfile not_forbid_filter_readfile | |
255 | syn keyword eximOption forbid_filter_reply no_forbid_filter_reply not_forbid_filter_reply | |
256 | syn keyword eximOption forbid_filter_run no_forbid_filter_run not_forbid_filter_run | |
257 | syn keyword eximOption forbid_include no_forbid_include not_forbid_include | |
258 | syn keyword eximOption forbid_pipe no_forbid_pipe not_forbid_pipe | |
259 | syn keyword eximOption hide_child_in_errmsg no_hide_child_in_errmsg not_hide_child_in_errmsg | |
260 | syn keyword eximOption ignore_eacces no_ignore_eacces not_ignore_eacces | |
261 | syn keyword eximOption ignore_enotdir no_ignore_enotdir not_ignore_enotdir | |
262 | syn keyword eximOption one_time no_one_time not_one_time | |
263 | syn keyword eximOption qualify_preserve_domain no_qualify_preserve_domain not_qualify_preserve_domain | |
264 | syn keyword eximOption repeat_use no_repeat_use not_repeat_use | |
265 | syn keyword eximOption rewrite no_rewrite not_rewrite | |
266 | syn keyword eximOption skip_syntax_errors no_skip_syntax_errors not_skip_syntax_errors | |
267 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
268 | " 23. Generic options for transports {{{ | |
269 | syn keyword eximOption current_directory debug_print driver group headers_add headers_remove headers_rewrite home_directory message_size_limit return_path shadow_condition shadow_transport transport_filter user | |
270 | syn keyword eximOption body_only no_body_only not_body_only | |
271 | syn keyword eximOption delivery_date_add no_delivery_date_add not_delivery_date_add | |
272 | syn keyword eximOption envelope_to_add no_envelope_to_add not_envelope_to_add | |
273 | syn keyword eximOption headers_only no_headers_only not_headers_only | |
274 | syn keyword eximOption initgroups no_initgroups not_initgroups | |
275 | syn keyword eximOption retry_use_local_part no_retry_use_local_part not_retry_use_local_part | |
276 | syn keyword eximOption return_path_add no_return_path_add not_return_path_add | |
277 | syn keyword eximOption transport_filter_timeout | |
278 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
279 | " 25. The appendfile transport {{{ | |
280 | syn keyword eximDriverName appendfile | |
281 | syn keyword eximOption batch_id batch_max check_string create_file directory directory_file directory_mode escape_string file file_format lock_fcntl_timeout lock_interval lock_retries lockfile_mode lockfile_timeout maildir_retries maildir_tag mailstore_prefix mailstore_suffix message_prefix message_suffix mode quota quota_filecount quota_size_regex quota_warn_message quota_warn_threshold | |
282 | syn keyword eximOption allow_fifo no_allow_fifo not_allow_fifo | |
283 | syn keyword eximOption allow_symlink no_allow_symlink not_allow_symlink | |
284 | syn keyword eximOption check_group no_check_group not_check_group | |
285 | syn keyword eximOption check_owner no_check_owner not_check_owner | |
286 | syn keyword eximOption create_directory no_create_directory not_create_directory | |
287 | syn keyword eximOption file_must_exist no_file_must_exist not_file_must_exist | |
288 | syn keyword eximOption maildir_format no_maildir_format not_maildir_format | |
289 | syn keyword eximOption mailstore_format no_mailstore_format not_mailstore_format | |
290 | syn keyword eximOption mbx_format no_mbx_format not_mbx_format | |
291 | syn keyword eximOption mode_fail_narrower no_mode_fail_narrower not_mode_fail_narrower | |
292 | syn keyword eximOption notify_comsat no_notify_comsat not_notify_comsat | |
293 | syn keyword eximOption quota_is_inclusive no_quota_is_inclusive not_quota_is_inclusive | |
294 | syn keyword eximOption use_bsmtp no_use_bsmtp not_use_bsmtp | |
295 | syn keyword eximOption use_crlf no_use_crlf not_use_crlf | |
296 | syn keyword eximOption use_fcntl_lock no_use_fcntl_lock not_use_fcntl_lock | |
297 | syn keyword eximOption use_lockfile no_use_lockfile not_use_lockfile | |
298 | syn keyword eximOption use_mbx_lock no_use_mbx_lock not_use_mbx_lock | |
299 | syn keyword eximOption maildir_use_size_file no_maildir_use_size_file not_maildir_use_size_file | |
300 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
301 | " 26. The autoreply transport {{{ | |
302 | syn keyword eximDriverName autoreply | |
303 | syn keyword eximOption bcc cc file from headers log mode once once_file_size once_repeat reply_to subject text to | |
304 | syn keyword eximOption file_expand no_file_expand not_file_expand | |
305 | syn keyword eximOption file_optional no_file_optional not_file_optional | |
306 | syn keyword eximOption return_message no_return_message not_return_message | |
307 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
308 | " 27. The lmtp transport {{{ | |
309 | syn keyword eximDriverName lmtp | |
310 | syn keyword eximOption batch_id batch_max command timeout | |
311 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
312 | " 28. The pipe transport {{{ | |
313 | syn keyword eximDriverName pipe | |
314 | syn keyword eximOption allow_commands batch_id batch_max check_string command environment escape_string max_output message_prefix message_suffix path temp_errors timeout umask | |
315 | syn keyword eximOption freeze_exec_fail no_freeze_exec_fail not_freeze_exec_fail | |
316 | syn keyword eximOption ignore_status no_ignore_status not_ignore_status | |
317 | syn keyword eximOption log_defer_output no_log_defer_output not_log_defer_output | |
318 | syn keyword eximOption log_fail_output no_log_fail_output not_log_fail_output | |
319 | syn keyword eximOption log_output no_log_output not_log_output | |
320 | syn keyword eximOption pipe_as_creator no_pipe_as_creator not_pipe_as_creator | |
321 | syn keyword eximOption restrict_to_path no_restrict_to_path not_restrict_to_path | |
322 | syn keyword eximOption return_fail_output no_return_fail_output not_return_fail_output | |
323 | syn keyword eximOption return_output no_return_output not_return_output | |
324 | syn keyword eximOption use_bsmtp no_use_bsmtp not_use_bsmtp | |
325 | syn keyword eximOption use_crlf no_use_crlf not_use_crlf | |
326 | syn keyword eximOption use_shell no_use_shell not_use_shell | |
327 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
328 | " 29. The smtp transport {{{ | |
329 | syn keyword eximDriverName smtp | |
330 | syn keyword eximOption command_timeout connect_timeout connection_max_messages data_timeout fallback_hosts final_timeout helo_data hosts hosts_avoid_tls hosts_max_try hosts_nopass_tls hosts_require_auth hosts_require_tls hosts_try_auth interface max_rcpt port protocol serialize_hosts size_addition tls_certificate tls_privatekey tls_require_ciphers tls_verify_certificates | |
331 | syn keyword eximOption allow_localhost no_allow_localhost not_allow_localhost | |
332 | syn keyword eximOption delay_after_cutoff no_delay_after_cutoff not_delay_after_cutoff | |
333 | syn keyword eximOption dns_qualify_single no_dns_qualify_single not_dns_qualify_single | |
334 | syn keyword eximOption dns_search_parents no_dns_search_parents not_dns_search_parents | |
335 | syn keyword eximOption gethostbyname no_gethostbyname not_gethostbyname | |
336 | syn keyword eximOption hosts_override no_hosts_override not_hosts_override | |
337 | syn keyword eximOption hosts_randomize no_hosts_randomize not_hosts_randomize | |
338 | syn keyword eximOption keepalive no_keepalive not_keepalive | |
339 | syn keyword eximOption multi_domain no_multi_domain not_multi_domain | |
340 | syn keyword eximOption retry_include_ip_address no_retry_include_ip_address not_retry_include_ip_address | |
341 | syn keyword eximOption tls_tempfail_tryclear no_tls_tempfail_tryclear not_tls_tempfail_tryclear | |
342 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
343 | " 30. Address rewritting {{{ | |
344 | syn match eximRewriteFlags "[EFTbcfhrstSQqrw]\+\s*$" contained containedin=eximRewriteSection | |
345 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
346 | " 31. Retry configuration {{{ | |
347 | " 31.2. Retry rules for specific errors | |
348 | syn keyword eximRetryCondition auth_failed refused_MX refused_A refused timeout_connect timeout_DNS timeout contained containedin=eximRetrySection | |
349 | syn keyword eximRetryCondition timeout timeout_A timeout_connect_A timeout_MX timeout_connect_MX contained containedin=eximRetrySection | |
350 | syn match eximRetryCondition "\<quota\(_\d\+[wdhms]\)*\>" contained containedin=eximRetrySection | |
351 | syn match eximRetryCondition "\s\zs\*\ze\s" contained containedin=eximRetrySection | |
352 | " 31.3. Retry rule parameters | |
353 | syn match eximRetryLetter "\<[FG]\ze\s*," contained containedin=eximRetrySection | |
354 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
355 | " 32. SMTP authentication {{{ | |
356 | " 32.1. Generic options for authenticators | |
357 | syn keyword eximOption driver public_name server_advertise_condition server_debug_print server_set_id server_mail_auth_condition | |
358 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
359 | " 33. The plaintext authenticator {{{ | |
360 | syn keyword eximDriverName plaintext | |
361 | syn keyword eximOption server_prompts server_condition | |
362 | syn keyword eximOption client_send | |
363 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
364 | " 34. The cram_md5 authenticator {{{ | |
365 | syn keyword eximDriverName cram_md5 | |
366 | syn keyword eximOption server_secret | |
367 | syn keyword eximOption client_name client_secret | |
368 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
369 | " 35. The spa authenticator {{{ | |
370 | syn keyword eximDriverName spa | |
371 | syn keyword eximOption server_password | |
372 | syn keyword eximOption client_domain client_password client_username | |
373 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
374 | " 37. Access control lists {{{ | |
375 | " 37.8. Format of an ACL | |
376 | syn match eximACLKeyword "^\s*\(accept\|defer\|deny\|discard\|drop\|require\|warn\)\>" | |
377 | " 37.11. ACL modifiers | |
378 | syn keyword eximACLModifier control delay endpass log_message message set | |
379 | " 37.12. ACL conditions | |
380 | syn keyword eximACLCondition acl authenticated condition dnslists domains encrypted hosts local_parts recipients sender_domains senders verify | |
381 | syn keyword eximACLCondition header_sender header_syntax helo recipient reverse_host_lookup sender adderss | |
382 | syn keyword eximACLParameter callout defer_ok no_cache postmaster random no_details | |
383 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
384 | " Define the default highlighting {{{ | |
385 | " For version 5.7 and earlier: Only when not done already | |
386 | " For version 5.8 and later: Only when an item doesn't have highlighting yet | |
387 | if version >= 508 || !exists("did_exim_syntax_inits") | |
388 | if version < 508 | |
389 | let did_exim_syntax_inits = 1 | |
390 | command -nargs=+ HiLink hi link <args> | |
391 | else | |
392 | command -nargs=+ HiLink hi def link <args> | |
393 | endif | |
394 | ||
395 | HiLink eximComment Comment | |
396 | HiLink eximFixme Todo | |
397 | HiLink eximSection Keyword | |
398 | HiLink eximSectionName Keyword | |
399 | HiLink eximRewriteFlags Keyword | |
400 | HiLink eximRetryLetter Keyword | |
401 | HiLink eximACLKeyword Keyword | |
402 | HiLink eximNumber Number | |
403 | HiLink eximDriverName Constant | |
404 | HiLink eximConstant Constant | |
405 | HiLink eximTime Constant | |
406 | HiLink eximOption Type | |
407 | HiLink eximStringOperationName Type | |
408 | HiLink eximOperationConditionName Type | |
409 | HiLink eximRetryCondition Type | |
410 | HiLink eximACLModifier Type | |
411 | HiLink eximACLCondition Type | |
412 | HiLink eximACLParameter Type | |
413 | HiLink eximSpecialChar Special | |
414 | HiLink eximLineContinuation Special | |
415 | HiLink eximListChanger Special | |
416 | HiLink eximHide Special | |
417 | HiLink eximMacroName Preproc | |
418 | HiLink eximInclude Preproc | |
419 | HiLink eximIfThen Preproc | |
420 | HiLink eximListDefinition Preproc | |
421 | HiLink eximListReference Function | |
422 | HiLink eximListName Function | |
423 | HiLink eximLookupType Function | |
424 | HiLink eximVariableReference Function | |
425 | HiLink eximExpansionVariable Function | |
426 | HiLink eximDriver Title | |
427 | ||
428 | delcommand HiLink | |
429 | endif | |
430 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" }}} | |
431 | let b:current_syntax = "exim" |