1" vim: noexpandtab ts=4 sw=423if exists("b:current_syntax")4 finish5endif67" Lexer-defined rules8syn match maddyComment "#.*"9syn region maddyString start=+"+ skip=+\\\\\|\\"+ end=+"+ oneline1011syn region maddyBlock start="{" end="}" transparent fold1213hi def link maddyComment Comment14hi def link maddyString String1516" Parser-defined rules17syn match maddyMacroName "[a-z0-9_]" contained containedin=maddyMacro18syn match maddyMacro "$(.\{-})" contains=maddyMacroName1920syn match maddyMacroDefSign "=" contained21syn match maddyMacroDef "\^$([a-z0-9_]\{-})\s=\s.\+" contains=maddyMacro,maddyMacroDefSign2223hi def link maddyMacroName Identifier24hi def link maddyMacro Special25hi def link maddyMacroDefSign Special2627" config.Map values28syn keyword maddyBool yes no2930syn match maddyInt '\<\d\+\>'31syn match maddyInt '\<[-+]\d\+\>'32syn match maddyFloat '\<[-+]\d\+\.\d*\<'3334syn match maddyReference /[ \t]&[^ \t]\+/ms=s+1 contains=maddyReferenceSign35syn match maddyReferenceSign /&/ contained3637hi def link maddyBool Boolean38hi def link maddyInt Number39hi def link maddyFloat Float4041hi def link maddyReferenceSign Special4243" Module values4445" grep --no-file -E 'Register.*\(".+", ' **.go | sed -E 's/.+Register.*\("([^"]+)", .+/\1/' | sort -u46syn keyword maddyModule47 \ checks48 \ command49 \ dane50 \ dkim51 \ dnsbl52 \ dnssec53 \ dummy54 \ extauth55 \ external56 \ file57 \ identity58 \ imap59 \ imap_filters60 \ imapsql61 \ limits62 \ lmtp63 \ loader64 \ local_policy65 \ milter66 \ modifiers67 \ msgpipeline68 \ mtasts69 \ mx_auth70 \ pam71 \ pass_table72 \ plain_separate73 \ queue74 \ regexp75 \ remote76 \ replace_rcpt77 \ replace_sender78 \ require_matching_rdns79 \ require_mx_record80 \ require_tls81 \ rspamd82 \ shadow83 \ smtp84 \ sql_query85 \ sql_table86 \ static87 \ submission8889syn keyword maddyDispatchDir90 \ check91 \ modify92 \ default_source93 \ source94 \ default_destination95 \ destination96 \ reject97 \ deliver_to98 \ reroute99 \ dmarc100101" grep --no-file -E 'cfg..+\(".+", ' **.go | sed -E 's/.+cfg..+\("([^"]+)", .+/\1/' | sort -u102syn keyword maddyModDir103 \ add104 \ add_header_action105 \ allow_multiple_from106 \ api_path107 \ appendlimit108 \ attempt_starttls109 \ auth110 \ autogenerated_msg_domain111 \ body_canon112 \ bounce113 \ broken_sig_action114 \ buffer115 \ cache116 \ case_insensitive117 \ certs118 \ check_early119 \ client_ipv4120 \ client_ipv6121 \ compression122 \ conn_max_idle_count123 \ conn_max_idle_time124 \ conn_reuse_limit125 \ debug126 \ defer_sender_reject127 \ del128 \ domains129 \ driver130 \ dsn131 \ ehlo132 \ endpoint133 \ enforce_early134 \ enforce_testing135 \ entry136 \ error_resp_action137 \ expand_replaceholders138 \ fail_action139 \ fail_open140 \ file141 \ flags142 \ force_ipv4143 \ fs_dir144 \ fsstore145 \ full_match146 \ hash147 \ header_canon148 \ helper149 \ hostname150 \ imap_filter151 \ init152 \ insecure_auth153 \ io_debug154 \ io_error_action155 \ io_errors156 \ junk_mailbox157 \ key_column158 \ key_path159 \ keys160 \ limits161 \ list162 \ local_ip163 \ location164 \ lookup165 \ mailfrom166 \ max_logged_rcpt_errors167 \ max_message_size168 \ max_parallelism169 \ max_received170 \ max_recipients171 \ max_tries172 \ min_mx_level173 \ min_tls_level174 \ mx_auth175 \ neutral_action176 \ newkey_algo177 \ none_action178 \ no_sig_action179 \ oversign_fields180 \ pass181 \ perdomain182 \ permerr_action183 \ quarantine_threshold184 \ read_timeout185 \ reject_threshold186 \ relaxed_requiretls187 \ required_fields188 \ require_sender_match189 \ require_tls190 \ requiretls_override191 \ responses192 \ rewrite_subj_action193 \ run_on194 \ score195 \ selector196 \ set197 \ settings_id198 \ sig_expiry199 \ sign_fields200 \ sign_subdomains201 \ softfail_action202 \ SOME_action203 \ source204 \ sqlite3_busy_timeout205 \ sqlite3_cache_size206 \ sqlite3_exclusive_lock207 \ storage208 \ table209 \ table_name210 \ tag211 \ target212 \ targets213 \ temperr_action214 \ tls215 \ tls_client216 \ use_helper217 \ user218 \ value_column219 \ write_timeout220221hi def link maddyModDir Identifier222hi def link maddyModule Identifier223hi def link maddyDispatchDir Identifier224225let b:current_syntax = "maddy"