1" Vim syntax file 2" Language: Mutt setup files 3" Original: Preben 'Peppe' Guldberg <[email protected]> 4" Maintainer: Kyle Wheeler <[email protected]> 5" Last Change: 18 August 2016 6 7" This file covers mutt version 1.7.0 8 9" quit when a syntax file was already loaded 10if exists("b:current_syntax") 11 finish 12endif 13 14let s:cpo_save = &cpo 15set cpo&vim 16 17" Set the keyword characters 18setlocal isk=@,48-57,_,- 19 20" handling optional variables 21if !exists("use_mutt_sidebar") 22 let use_mutt_sidebar=0 23endif 24 25syn match muttrcComment "^# .*$" contains=@Spell 26syn match muttrcComment "^#[^ ].*$" 27syn match muttrcComment "^#$" 28syn match muttrcComment "[^\\]#.*$"lc=1 29 30" Escape sequences (back-tick and pipe goes here too) 31syn match muttrcEscape +\\[#tnr"'Cc ]+ 32syn match muttrcEscape +[`|]+ 33syn match muttrcEscape +\\$+ 34 35" The variables takes the following arguments 36"syn match muttrcString contained "=\s*[^ #"'`]\+"lc=1 contains=muttrcEscape 37syn region muttrcString contained keepend start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcCommand,muttrcAction,muttrcShellString 38syn region muttrcString contained keepend start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcCommand,muttrcAction 39syn match muttrcStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcString,muttrcStringNL 40 41syn region muttrcShellString matchgroup=muttrcEscape keepend start=+`+ skip=+\\`+ end=+`+ contains=muttrcVarStr,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcCommand 42 43syn match muttrcRXChars contained /[^\\][][.*?+]\+/hs=s+1 44syn match muttrcRXChars contained /[][|()][.*?+]*/ 45syn match muttrcRXChars contained /['"]^/ms=s+1 46syn match muttrcRXChars contained /$['"]/me=e-1 47syn match muttrcRXChars contained /\\/ 48" Why does muttrcRXString2 work with one \ when muttrcRXString requires two? 49syn region muttrcRXString contained skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXChars 50syn region muttrcRXString contained skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXChars 51syn region muttrcRXString contained skipwhite start=+[^ "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXChars 52" For some reason, skip refuses to match backslashes here... 53syn region muttrcRXString contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXChars 54syn region muttrcRXString contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXChars 55syn region muttrcRXString2 contained skipwhite start=+'+ skip=+\'+ end=+'+ contains=muttrcRXChars 56syn region muttrcRXString2 contained skipwhite start=+"+ skip=+\"+ end=+"+ contains=muttrcRXChars 57 58" these must be kept synchronized with muttrcRXString, but are intended for 59" muttrcRXHooks 60syn region muttrcRXHookString contained keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL 61syn region muttrcRXHookString contained keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL 62syn region muttrcRXHookString contained keepend skipwhite start=+[^ "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL 63syn region muttrcRXHookString contained keepend skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL 64syn region muttrcRXHookString contained keepend matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL 65syn match muttrcRXHookStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcRXHookString,muttrcRXHookStringNL 66 67" these are exclusively for args lists (e.g. -rx pat pat pat ...) 68syn region muttrcRXPat contained keepend skipwhite start=+'+ skip=+\\'+ end=+'\s*+ contains=muttrcRXString nextgroup=muttrcRXPat 69syn region muttrcRXPat contained keepend skipwhite start=+"+ skip=+\\"+ end=+"\s*+ contains=muttrcRXString nextgroup=muttrcRXPat 70syn match muttrcRXPat contained /[^-'"#!]\S\+/ skipwhite contains=muttrcRXChars nextgroup=muttrcRXPat 71syn match muttrcRXDef contained "-rx\s\+" skipwhite nextgroup=muttrcRXPat 72 73syn match muttrcSpecial +\(['"]\)!\1+ 74 75syn match muttrcSetStrAssignment contained skipwhite /=\s*\%(\\\?\$\)\?[0-9A-Za-z_-]\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable 76syn region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*"+hs=s+1 end=+"+ skip=+\\"+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcString 77syn region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*'+hs=s+1 end=+'+ skip=+\\'+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcString 78syn match muttrcSetBoolAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable 79syn match muttrcSetBoolAssignment contained skipwhite /=\s*\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 80syn match muttrcSetBoolAssignment contained skipwhite /=\s*"\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 81syn match muttrcSetBoolAssignment contained skipwhite /=\s*'\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 82syn match muttrcSetQuadAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable 83syn match muttrcSetQuadAssignment contained skipwhite /=\s*\%(ask-\)\?\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 84syn match muttrcSetQuadAssignment contained skipwhite /=\s*"\%(ask-\)\?\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 85syn match muttrcSetQuadAssignment contained skipwhite /=\s*'\%(ask-\)\?\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 86syn match muttrcSetNumAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable 87syn match muttrcSetNumAssignment contained skipwhite /=\s*\d\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 88syn match muttrcSetNumAssignment contained skipwhite /=\s*"\d\+"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 89syn match muttrcSetNumAssignment contained skipwhite /=\s*'\d\+'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 90 91" Now catch some email addresses and headers (purified version from mail.vim) 92syn match muttrcEmail "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+" 93syn match muttrcHeader "\<\c\%(From\|To\|C[Cc]\|B[Cc][Cc]\|Reply-To\|Subject\|Return-Path\|Received\|Date\|Replied\|Attach\)\>:\=" 94 95syn match muttrcKeySpecial contained +\%(\\[Cc'"]\|\^\|\\[01]\d\{2}\)+ 96syn match muttrcKey contained "\S\+" contains=muttrcKeySpecial,muttrcKeyName 97syn region muttrcKey contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=muttrcKeySpecial,muttrcKeyName 98syn region muttrcKey contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=muttrcKeySpecial,muttrcKeyName 99syn match muttrcKeyName contained "\<f\%(\d\|10\)\>" 100syn match muttrcKeyName contained "\\[trne]" 101syn match muttrcKeyName contained "\c<\%(BackSpace\|BackTab\|Delete\|Down\|End\|Enter\|Esc\|Home\|Insert\|Left\|PageDown\|PageUp\|Return\|Right\|Space\|Tab\|Up\)>" 102syn match muttrcKeyName contained "<F[0-9]\+>" 103 104syn keyword muttrcVarBool skipwhite contained 105 \ allow_8bit allow_ansi arrow_cursor ascii_chars askbcc askcc attach_split 106 \ auto_tag autoedit beep beep_new bounce_delivered braille_friendly 107 \ check_mbox_size check_new collapse_unread confirmappend confirmcreate 108 \ crypt_autoencrypt crypt_autopgp crypt_autosign crypt_autosmime 109 \ crypt_confirmhook crypt_opportunistic_encrypt crypt_replyencrypt 110 \ crypt_replysign crypt_replysignencrypted crypt_timestamp crypt_use_gpgme 111 \ crypt_use_pka delete_untag digest_collapse duplicate_threads edit_hdrs 112 \ edit_headers encode_from envelope_from fast_reply fcc_clear followup_to 113 \ force_name forw_decode forw_decrypt forw_quote forward_decode forward_decrypt 114 \ forward_quote hdrs header help hidden_host hide_limited hide_missing 115 \ hide_thread_subject hide_top_limited hide_top_missing honor_disposition 116 \ idn_decode idn_encode ignore_linear_white_space ignore_list_reply_to 117 \ imap_check_subscribed imap_list_subscribed imap_passive imap_peek 118 \ imap_servernoise implicit_autoview include_onlyfirst keep_flagged 119 \ mail_check_recent mail_check_stats mailcap_sanitize maildir_check_cur 120 \ maildir_header_cache_verify maildir_trash mark_old markers menu_move_off 121 \ menu_scroll message_cache_clean meta_key metoo mh_purge mime_forward_decode 122 \ narrow_tree pager_stop pgp_auto_decode pgp_auto_traditional pgp_autoencrypt 123 \ pgp_autoinline pgp_autosign pgp_check_exit pgp_create_traditional 124 \ pgp_ignore_subkeys pgp_long_ids pgp_replyencrypt pgp_replyinline pgp_replysign 125 \ pgp_replysignencrypted pgp_retainable_sigs pgp_show_unusable pgp_strict_enc 126 \ pgp_use_gpg_agent pipe_decode pipe_split pop_auth_try_all pop_last 127 \ postpone_encrypt postpone_encrypt_as print_decode print_split prompt_after 128 \ read_only reflow_space_quotes reflow_text reflow_wrap reply_self resolve 129 \ resume_draft_files resume_edited_draft_files reverse_alias reverse_name 130 \ reverse_realname rfc2047_parameters save_address save_empty save_name score 131 \ sidebar_folder_indent sidebar_new_mail_only sidebar_next_new_wrap 132 \ sidebar_short_path sidebar_sort sidebar_visible sig_dashes sig_on_top 133 \ smart_wrap smime_ask_cert_label smime_decrypt_use_default_key smime_is_default 134 \ sort_re ssl_force_tls ssl_use_sslv2 ssl_use_sslv3 ssl_use_tlsv1 135 \ ssl_usesystemcerts ssl_verify_dates ssl_verify_host status_on_top strict_mime 136 \ strict_threads suspend text_flowed thorough_search thread_received tilde 137 \ ts_enabled uncollapse_jump use_8bitmime use_domain use_envelope_from use_from 138 \ use_idn use_ipv6 user_agent wait_key weed wrap_search write_bcc 139 \ nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 140 141syn keyword muttrcVarBool skipwhite contained 142 \ noallow_8bit noallow_ansi noarrow_cursor noascii_chars noaskbcc noaskcc noattach_split 143 \ noauto_tag noautoedit nobeep nobeep_new nobounce_delivered nobraille_friendly 144 \ nocheck_mbox_size nocheck_new nocollapse_unread noconfirmappend noconfirmcreate 145 \ nocrypt_autoencrypt nocrypt_autopgp nocrypt_autosign nocrypt_autosmime 146 \ nocrypt_confirmhook nocrypt_opportunistic_encrypt nocrypt_replyencrypt 147 \ nocrypt_replysign nocrypt_replysignencrypted nocrypt_timestamp nocrypt_use_gpgme 148 \ nocrypt_use_pka nodelete_untag nodigest_collapse noduplicate_threads noedit_hdrs 149 \ noedit_headers noencode_from noenvelope_from nofast_reply nofcc_clear nofollowup_to 150 \ noforce_name noforw_decode noforw_decrypt noforw_quote noforward_decode noforward_decrypt 151 \ noforward_quote nohdrs noheader nohelp nohidden_host nohide_limited nohide_missing 152 \ nohide_thread_subject nohide_top_limited nohide_top_missing nohonor_disposition 153 \ noidn_decode noidn_encode noignore_linear_white_space noignore_list_reply_to 154 \ noimap_check_subscribed noimap_list_subscribed noimap_passive noimap_peek 155 \ noimap_servernoise noimplicit_autoview noinclude_onlyfirst nokeep_flagged 156 \ nomail_check_recent nomail_check_stats nomailcap_sanitize nomaildir_check_cur 157 \ nomaildir_header_cache_verify nomaildir_trash nomark_old nomarkers nomenu_move_off 158 \ nomenu_scroll nomessage_cache_clean nometa_key nometoo nomh_purge nomime_forward_decode 159 \ nonarrow_tree nopager_stop nopgp_auto_decode nopgp_auto_traditional nopgp_autoencrypt 160 \ nopgp_autoinline nopgp_autosign nopgp_check_exit nopgp_create_traditional 161 \ nopgp_ignore_subkeys nopgp_long_ids nopgp_replyencrypt nopgp_replyinline nopgp_replysign 162 \ nopgp_replysignencrypted nopgp_retainable_sigs nopgp_show_unusable nopgp_strict_enc 163 \ nopgp_use_gpg_agent nopipe_decode nopipe_split nopop_auth_try_all nopop_last 164 \ nopostpone_encrypt nopostpone_encrypt_as noprint_decode noprint_split noprompt_after 165 \ noread_only noreflow_space_quotes noreflow_text noreflow_wrap noreply_self noresolve 166 \ noresume_draft_files noresume_edited_draft_files noreverse_alias noreverse_name 167 \ noreverse_realname norfc2047_parameters nosave_address nosave_empty nosave_name noscore 168 \ nosidebar_folder_indent nosidebar_new_mail_only nosidebar_next_new_wrap 169 \ nosidebar_short_path nosidebar_sort nosidebar_visible nosig_dashes nosig_on_top 170 \ nosmart_wrap nosmime_ask_cert_label nosmime_decrypt_use_default_key nosmime_is_default 171 \ nosort_re nossl_force_tls nossl_use_sslv2 nossl_use_sslv3 nossl_use_tlsv1 172 \ nossl_usesystemcerts nossl_verify_dates nossl_verify_host nostatus_on_top nostrict_mime 173 \ nostrict_threads nosuspend notext_flowed nothorough_search nothread_received notilde 174 \ nots_enabled nouncollapse_jump nouse_8bitmime nouse_domain nouse_envelope_from nouse_from 175 \ nouse_idn nouse_ipv6 nouser_agent nowait_key noweed nowrap_search nowrite_bcc 176 \ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 177 178syn keyword muttrcVarBool skipwhite contained 179 \ invallow_8bit invallow_ansi invarrow_cursor invascii_chars invaskbcc invaskcc invattach_split 180 \ invauto_tag invautoedit invbeep invbeep_new invbounce_delivered invbraille_friendly 181 \ invcheck_mbox_size invcheck_new invcollapse_unread invconfirmappend invconfirmcreate 182 \ invcrypt_autoencrypt invcrypt_autopgp invcrypt_autosign invcrypt_autosmime 183 \ invcrypt_confirmhook invcrypt_opportunistic_encrypt invcrypt_replyencrypt 184 \ invcrypt_replysign invcrypt_replysignencrypted invcrypt_timestamp invcrypt_use_gpgme 185 \ invcrypt_use_pka invdelete_untag invdigest_collapse invduplicate_threads invedit_hdrs 186 \ invedit_headers invencode_from invenvelope_from invfast_reply invfcc_clear invfollowup_to 187 \ invforce_name invforw_decode invforw_decrypt invforw_quote invforward_decode invforward_decrypt 188 \ invforward_quote invhdrs invheader invhelp invhidden_host invhide_limited invhide_missing 189 \ invhide_thread_subject invhide_top_limited invhide_top_missing invhonor_disposition 190 \ invidn_decode invidn_encode invignore_linear_white_space invignore_list_reply_to 191 \ invimap_check_subscribed invimap_list_subscribed invimap_passive invimap_peek 192 \ invimap_servernoise invimplicit_autoview invinclude_onlyfirst invkeep_flagged 193 \ invmail_check_recent invmail_check_stats invmailcap_sanitize invmaildir_check_cur 194 \ invmaildir_header_cache_verify invmaildir_trash invmark_old invmarkers invmenu_move_off 195 \ invmenu_scroll invmessage_cache_clean invmeta_key invmetoo invmh_purge invmime_forward_decode 196 \ invnarrow_tree invpager_stop invpgp_auto_decode invpgp_auto_traditional invpgp_autoencrypt 197 \ invpgp_autoinline invpgp_autosign invpgp_check_exit invpgp_create_traditional 198 \ invpgp_ignore_subkeys invpgp_long_ids invpgp_replyencrypt invpgp_replyinline invpgp_replysign 199 \ invpgp_replysignencrypted invpgp_retainable_sigs invpgp_show_unusable invpgp_strict_enc 200 \ invpgp_use_gpg_agent invpipe_decode invpipe_split invpop_auth_try_all invpop_last 201 \ invpostpone_encrypt invpostpone_encrypt_as invprint_decode invprint_split invprompt_after 202 \ invread_only invreflow_space_quotes invreflow_text invreflow_wrap invreply_self invresolve 203 \ invresume_draft_files invresume_edited_draft_files invreverse_alias invreverse_name 204 \ invreverse_realname invrfc2047_parameters invsave_address invsave_empty invsave_name invscore 205 \ invsidebar_folder_indent invsidebar_new_mail_only invsidebar_next_new_wrap 206 \ invsidebar_short_path invsidebar_sort invsidebar_visible invsig_dashes invsig_on_top 207 \ invsmart_wrap invsmime_ask_cert_label invsmime_decrypt_use_default_key invsmime_is_default 208 \ invsort_re invssl_force_tls invssl_use_sslv2 invssl_use_sslv3 invssl_use_tlsv1 209 \ invssl_usesystemcerts invssl_verify_dates invssl_verify_host invstatus_on_top invstrict_mime 210 \ invstrict_threads invsuspend invtext_flowed invthorough_search invthread_received invtilde 211 \ invts_enabled invuncollapse_jump invuse_8bitmime invuse_domain invuse_envelope_from invuse_from 212 \ invuse_idn invuse_ipv6 invuser_agent invwait_key invweed invwrap_search invwrite_bcc 213 \ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 214 215syn keyword muttrcVarQuad skipwhite contained 216 \ abort_nosubject abort_unmodified bounce copy crypt_verify_sig delete 217 \ fcc_attach forward_edit honor_followup_to include mime_forward 218 \ mime_forward_rest mime_fwd move pgp_mime_auto pgp_verify_sig pop_delete 219 \ pop_reconnect postpone print quit recall reply_to ssl_starttls 220 \ nextgroup=muttrcSetQuadAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 221 222syn keyword muttrcVarQuad skipwhite contained 223 \ noabort_nosubject noabort_unmodified nobounce nocopy nocrypt_verify_sig nodelete 224 \ nofcc_attach noforward_edit nohonor_followup_to noinclude nomime_forward 225 \ nomime_forward_rest nomime_fwd nomove nopgp_mime_auto nopgp_verify_sig nopop_delete 226 \ nopop_reconnect nopostpone noprint noquit norecall noreply_to nossl_starttls 227 \ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 228 229syn keyword muttrcVarQuad skipwhite contained 230 \ invabort_nosubject invabort_unmodified invbounce invcopy invcrypt_verify_sig invdelete 231 \ invfcc_attach invforward_edit invhonor_followup_to invinclude invmime_forward 232 \ invmime_forward_rest invmime_fwd invmove invpgp_mime_auto invpgp_verify_sig invpop_delete 233 \ invpop_reconnect invpostpone invprint invquit invrecall invreply_to invssl_starttls 234 \ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 235 236syn keyword muttrcVarNum skipwhite contained 237 \ connect_timeout history imap_keepalive imap_pipeline_depth mail_check 238 \ mail_check_stats_interval menu_context net_inc pager_context pager_index_lines 239 \ pgp_timeout pop_checkinterval read_inc save_history score_threshold_delete 240 \ score_threshold_flag score_threshold_read search_context sendmail_wait 241 \ sidebar_width sleep_time smime_timeout ssl_min_dh_prime_bits time_inc timeout 242 \ wrap wrap_headers wrapmargin write_inc 243 \ nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 244 245syn match muttrcFormatErrors contained /%./ 246 247syn match muttrcStrftimeEscapes contained /%[AaBbCcDdeFGgHhIjklMmnpRrSsTtUuVvWwXxYyZz+%]/ 248syn match muttrcStrftimeEscapes contained /%E[cCxXyY]/ 249syn match muttrcStrftimeEscapes contained /%O[BdeHImMSuUVwWy]/ 250 251syn region muttrcIndexFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 252syn region muttrcIndexFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 253syn region muttrcQueryFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 254syn region muttrcAliasFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 255syn region muttrcAliasFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 256syn region muttrcAttachFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 257syn region muttrcAttachFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 258syn region muttrcComposeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 259syn region muttrcComposeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 260syn region muttrcFolderFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 261syn region muttrcFolderFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 262syn region muttrcMixFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 263syn region muttrcMixFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 264syn region muttrcPGPFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 265syn region muttrcPGPFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 266syn region muttrcPGPCmdFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 267syn region muttrcPGPCmdFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 268syn region muttrcStatusFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 269syn region muttrcStatusFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 270syn region muttrcPGPGetKeysFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 271syn region muttrcPGPGetKeysFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 272syn region muttrcSmimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 273syn region muttrcSmimeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 274syn region muttrcStrftimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 275syn region muttrcStrftimeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 276 277" The following info was pulled from hdr_format_str in hdrline.c 278syn match muttrcIndexFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[aAbBcCdDeEfFHilLmMnNOPsStTuvXyYZ%]/ 279syn match muttrcIndexFormatEscapes contained /%[>|*]./ 280syn match muttrcIndexFormatConditionals contained /%?[EFHlLMNOXyY]?/ nextgroup=muttrcFormatConditionals2 281" The following info was pulled from alias_format_str in addrbook.c 282syn match muttrcAliasFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[afnrt%]/ 283" The following info was pulled from query_format_str in query.c 284syn match muttrcQueryFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[acent%]/ 285syn match muttrcQueryFormatConditionals contained /%?[e]?/ nextgroup=muttrcFormatConditionals2 286" The following info was pulled from mutt_attach_fmt in recvattach.c 287syn match muttrcAttachFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[CcDdefImMnQstTuX%]/ 288syn match muttrcAttachFormatEscapes contained /%[>|*]./ 289syn match muttrcAttachFormatConditionals contained /%?[CcdDefInmMQstTuX]?/ nextgroup=muttrcFormatConditionals2 290syn match muttrcFormatConditionals2 contained /[^?]*?/ 291" The following info was pulled from compose_format_str in compose.c 292syn match muttrcComposeFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[ahlv%]/ 293syn match muttrcComposeFormatEscapes contained /%[>|*]./ 294" The following info was pulled from folder_format_str in browser.c 295syn match muttrcFolderFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[CDdfFglNstu%]/ 296syn match muttrcFolderFormatEscapes contained /%[>|*]./ 297syn match muttrcFolderFormatConditionals contained /%?[N]?/ 298" The following info was pulled from mix_entry_fmt in remailer.c 299syn match muttrcMixFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[ncsa%]/ 300syn match muttrcMixFormatConditionals contained /%?[ncsa]?/ 301" The following info was pulled from crypt_entry_fmt in crypt-gpgme.c 302" and pgp_entry_fmt in pgpkey.c (note that crypt_entry_fmt supports 303" 'p', but pgp_entry_fmt does not). 304syn match muttrcPGPFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[nkualfctp%]/ 305syn match muttrcPGPFormatConditionals contained /%?[nkualfct]?/ 306" The following info was pulled from _mutt_fmt_pgp_command in 307" pgpinvoke.c 308syn match muttrcPGPCmdFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[pfsar%]/ 309syn match muttrcPGPCmdFormatConditionals contained /%?[pfsar]?/ nextgroup=muttrcFormatConditionals2 310" The following info was pulled from status_format_str in status.c 311syn match muttrcStatusFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[bdfFhlLmMnopPrsStuvV%]/ 312syn match muttrcStatusFormatEscapes contained /%[>|*]./ 313syn match muttrcStatusFormatConditionals contained /%?[bdFlLmMnoptuV]?/ nextgroup=muttrcFormatConditionals2 314" This matches the documentation, but directly contradicts the code 315" (according to the code, this should be identical to the 316" muttrcPGPCmdFormatEscapes 317syn match muttrcPGPGetKeysFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[r%]/ 318" The following info was pulled from _mutt_fmt_smime_command in 319" smime.c 320syn match muttrcSmimeFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[Cciskaf%]/ 321syn match muttrcSmimeFormatConditionals contained /%?[Cciskaf]?/ nextgroup=muttrcFormatConditionals2 322 323syn region muttrcTimeEscapes contained start=+%{+ end=+}+ contains=muttrcStrftimeEscapes 324syn region muttrcTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes 325syn region muttrcTimeEscapes contained start=+%(+ end=+)+ contains=muttrcStrftimeEscapes 326syn region muttrcTimeEscapes contained start=+%<+ end=+>+ contains=muttrcStrftimeEscapes 327syn region muttrcPGPTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes 328 329syn keyword muttrcVarStr contained skipwhite attribution index_format message_format pager_format nextgroup=muttrcVarEqualsIdxFmt 330syn match muttrcVarEqualsIdxFmt contained skipwhite "=" nextgroup=muttrcIndexFormatStr 331syn keyword muttrcVarStr contained skipwhite alias_format nextgroup=muttrcVarEqualsAliasFmt 332syn match muttrcVarEqualsAliasFmt contained skipwhite "=" nextgroup=muttrcAliasFormatStr 333syn keyword muttrcVarStr contained skipwhite attach_format nextgroup=muttrcVarEqualsAttachFmt 334syn match muttrcVarEqualsAttachFmt contained skipwhite "=" nextgroup=muttrcAttachFormatStr 335syn keyword muttrcVarStr contained skipwhite compose_format nextgroup=muttrcVarEqualsComposeFmt 336syn match muttrcVarEqualsComposeFmt contained skipwhite "=" nextgroup=muttrcComposeFormatStr 337syn keyword muttrcVarStr contained skipwhite folder_format nextgroup=muttrcVarEqualsFolderFmt 338syn match muttrcVarEqualsFolderFmt contained skipwhite "=" nextgroup=muttrcFolderFormatStr 339syn keyword muttrcVarStr contained skipwhite mix_entry_format nextgroup=muttrcVarEqualsMixFmt 340syn match muttrcVarEqualsMixFmt contained skipwhite "=" nextgroup=muttrcMixFormatStr 341syn keyword muttrcVarStr contained skipwhite pgp_entry_format nextgroup=muttrcVarEqualsPGPFmt 342syn match muttrcVarEqualsPGPFmt contained skipwhite "=" nextgroup=muttrcPGPFormatStr 343syn keyword muttrcVarStr contained skipwhite query_format nextgroup=muttrcVarEqualsQueryFmt 344syn match muttrcVarEqualsQueryFmt contained skipwhite "=" nextgroup=muttrcQueryFormatStr 345syn keyword muttrcVarStr contained skipwhite pgp_decode_command pgp_verify_command pgp_decrypt_command pgp_clearsign_command pgp_sign_command pgp_encrypt_sign_command pgp_encrypt_only_command pgp_import_command pgp_export_command pgp_verify_key_command pgp_list_secring_command pgp_list_pubring_command nextgroup=muttrcVarEqualsPGPCmdFmt 346syn match muttrcVarEqualsPGPCmdFmt contained skipwhite "=" nextgroup=muttrcPGPCmdFormatStr 347syn keyword muttrcVarStr contained skipwhite ts_icon_format ts_status_format status_format nextgroup=muttrcVarEqualsStatusFmt 348syn match muttrcVarEqualsStatusFmt contained skipwhite "=" nextgroup=muttrcStatusFormatStr 349syn keyword muttrcVarStr contained skipwhite pgp_getkeys_command nextgroup=muttrcVarEqualsPGPGetKeysFmt 350syn match muttrcVarEqualsPGPGetKeysFmt contained skipwhite "=" nextgroup=muttrcPGPGetKeysFormatStr 351syn keyword muttrcVarStr contained skipwhite smime_decrypt_command smime_verify_command smime_verify_opaque_command smime_sign_command smime_sign_opaque_command smime_encrypt_command smime_pk7out_command smime_get_cert_command smime_get_signer_cert_command smime_import_cert_command smime_get_cert_email_command nextgroup=muttrcVarEqualsSmimeFmt 352syn match muttrcVarEqualsSmimeFmt contained skipwhite "=" nextgroup=muttrcSmimeFormatStr 353syn keyword muttrcVarStr contained skipwhite date_format nextgroup=muttrcVarEqualsStrftimeFmt 354syn match muttrcVarEqualsStrftimeFmt contained skipwhite "=" nextgroup=muttrcStrftimeFormatStr 355 356syn match muttrcVPrefix contained /[?&]/ nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 357 358syn match muttrcVarStr contained skipwhite 'my_[a-zA-Z0-9_]\+' nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 359syn keyword muttrcVarStr contained skipwhite 360 \ alias_file assumed_charset attach_charset attach_sep certificate_file charset 361 \ config_charset content_type default_hook display_filter dotlock_program 362 \ dsn_notify dsn_return editor entropy_file envelope_from_address escape folder 363 \ forw_format forward_format from gecos_mask hdr_format header_cache 364 \ header_cache_compress header_cache_pagesize history_file hostname 365 \ imap_authenticators imap_delim_chars imap_headers imap_idle imap_login 366 \ imap_pass imap_user indent_str indent_string ispell locale mailcap_path mask 367 \ mbox mbox_type message_cachedir mh_seq_flagged mh_seq_replied mh_seq_unseen 368 \ mixmaster msg_format pager pgp_decryption_okay pgp_good_sign 369 \ pgp_mime_signature_description pgp_mime_signature_filename pgp_sign_as 370 \ pgp_sort_keys pipe_sep pop_authenticators pop_host pop_pass pop_user 371 \ post_indent_str post_indent_string postpone_encrypt_as postponed preconnect 372 \ print_cmd print_command query_command quote_regexp realname record 373 \ reply_regexp send_charset sendmail shell sidebar_delim sidebar_delim_chars 374 \ sidebar_divider_char sidebar_format sidebar_indent_string sidebar_sort_method 375 \ signature simple_search smileys smime_ca_location smime_certificates 376 \ smime_default_key smime_encrypt_with smime_keys smime_sign_as 377 \ smime_sign_digest_alg smtp_authenticators smtp_pass smtp_url sort sort_alias 378 \ sort_aux sort_browser spam_separator spoolfile ssl_ca_certificates_file 379 \ ssl_ciphers ssl_client_cert status_chars tmpdir to_chars trash ts_icon_format 380 \ ts_status_format tunnel visual 381 \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 382 383" Present in 1.4.2.1 (pgp_create_traditional was a bool then) 384syn keyword muttrcVarBool contained skipwhite imap_force_ssl noimap_force_ssl invimap_force_ssl nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 385"syn keyword muttrcVarQuad contained pgp_create_traditional nopgp_create_traditional invpgp_create_traditional 386syn keyword muttrcVarStr contained skipwhite alternates nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 387 388syn keyword muttrcMenu contained alias attach browser compose editor index pager postpone pgp mix query generic 389syn match muttrcMenuList "\S\+" contained contains=muttrcMenu 390syn match muttrcMenuCommas /,/ contained 391 392syn keyword muttrcHooks contained skipwhite account-hook charset-hook iconv-hook message-hook folder-hook mbox-hook save-hook fcc-hook fcc-save-hook send-hook send2-hook reply-hook crypt-hook 393 394syn keyword muttrcCommand skipwhite 395 \ alternative_order auto_view exec hdr_order iconv-hook ignore mailboxes 396 \ mailto_allow mime_lookup my_hdr pgp-hook push score sidebar_whitelist source 397 \ unalternative_order unalternative_order unauto_view ungroup unhdr_order 398 \ unignore unmailboxes unmailto_allow unmime_lookup unmono unmy_hdr unscore 399syn keyword muttrcCommand skipwhite charset-hook nextgroup=muttrcRXString 400syn keyword muttrcCommand skipwhite unhook nextgroup=muttrcHooks 401 402syn keyword muttrcCommand skipwhite spam nextgroup=muttrcSpamPattern 403syn region muttrcSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL 404syn region muttrcSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL 405 406syn keyword muttrcCommand skipwhite nospam nextgroup=muttrcNoSpamPattern 407syn region muttrcNoSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern 408syn region muttrcNoSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern 409 410syn match muttrcAttachmentsMimeType contained "[*a-z0-9_-]\+/[*a-z0-9._-]\+\s*" skipwhite nextgroup=muttrcAttachmentsMimeType 411syn match muttrcAttachmentsFlag contained "[+-]\%([AI]\|inline\|attachment\)\s\+" skipwhite nextgroup=muttrcAttachmentsMimeType 412syn match muttrcAttachmentsLine "^\s*\%(un\)\?attachments\s\+" skipwhite nextgroup=muttrcAttachmentsFlag 413 414syn match muttrcUnHighlightSpace contained "\%(\s\+\|\\$\)" 415 416syn keyword muttrcAsterisk contained * 417syn keyword muttrcListsKeyword lists skipwhite nextgroup=muttrcGroupDef,muttrcComment 418syn keyword muttrcListsKeyword unlists skipwhite nextgroup=muttrcAsterisk,muttrcComment 419 420syn keyword muttrcSubscribeKeyword subscribe nextgroup=muttrcGroupDef,muttrcComment 421syn keyword muttrcSubscribeKeyword unsubscribe nextgroup=muttrcAsterisk,muttrcComment 422 423syn keyword muttrcAlternateKeyword contained alternates unalternates 424syn region muttrcAlternatesLine keepend start=+^\s*\%(un\)\?alternates\s+ skip=+\\$+ end=+$+ contains=muttrcAlternateKeyword,muttrcGroupDef,muttrcRXPat,muttrcUnHighlightSpace,muttrcComment 425 426" muttrcVariable includes a prefix because partial strings are considered 427" valid. 428syn match muttrcVariable contained "\\\@<![a-zA-Z_-]*\$[a-zA-Z_-]\+" contains=muttrcVariableInner 429syn match muttrcVariableInner contained "\$[a-zA-Z_-]\+" 430syn match muttrcEscapedVariable contained "\\\$[a-zA-Z_-]\+" 431 432syn match muttrcBadAction contained "[^<>]\+" contains=muttrcEmail 433syn match muttrcFunction contained "\<\%(attach\|bounce\|copy\|delete\|display\|flag\|forward\|parent\|pipe\|postpone\|print\|purge\|recall\|resend\|save\|send\|tag\|undelete\)-message\>" 434syn match muttrcFunction contained "\<\%(delete\|next\|previous\|read\|tag\|break\|undelete\)-thread\>" 435syn match muttrcFunction contained "\<link-threads\>" 436syn match muttrcFunction contained "\<\%(backward\|capitalize\|downcase\|forward\|kill\|upcase\)-word\>" 437syn match muttrcFunction contained "\<\%(delete\|filter\|first\|last\|next\|pipe\|previous\|print\|save\|select\|tag\|undelete\)-entry\>" 438syn match muttrcFunction contained "\<attach-\%(file\|key\)\>" 439syn match muttrcFunction contained "\<change-\%(dir\|folder\|folder-readonly\)\>" 440syn match muttrcFunction contained "\<check-\%(new\|traditional-pgp\)\>" 441syn match muttrcFunction contained "\<current-\%(bottom\|middle\|top\)\>" 442syn match muttrcFunction contained "\<decode-\%(copy\|save\)\>" 443syn match muttrcFunction contained "\<delete-\%(char\|pattern\|subthread\)\>" 444syn match muttrcFunction contained "\<display-\%(address\|toggle-weed\)\>" 445syn match muttrcFunction contained "\<edit\%(-\%(bcc\|cc\|description\|encoding\|fcc\|file\|from\|headers\|mime\|reply-to\|subject\|to\|type\)\)\?\>" 446syn match muttrcFunction contained "\<enter-\%(command\|mask\)\>" 447syn match muttrcFunction contained "\<half-\%(up\|down\)\>" 448syn match muttrcFunction contained "\<history-\%(up\|down\)\>" 449syn match muttrcFunction contained "\<kill-\%(eol\|eow\|line\)\>" 450syn match muttrcFunction contained "\<next-\%(line\|new\%(-then-unread\)\?\|page\|subthread\|undeleted\|unread\|unread-mailbox\)\>" 451syn match muttrcFunction contained "\<previous-\%(line\|new\%(-then-unread\)\?\|page\|subthread\|undeleted\|unread\)\>" 452syn match muttrcFunction contained "\<search\%(-\%(next\|opposite\|reverse\|toggle\)\)\?\>" 453syn match muttrcFunction contained "\<show-\%(limit\|version\)\>" 454syn match muttrcFunction contained "\<sort-\%(mailbox\|reverse\)\>" 455syn match muttrcFunction contained "\<tag-\%(pattern\|\%(sub\)\?thread\|prefix\%(-cond\)\?\)\>" 456syn match muttrcFunction contained "\<end-cond\>" 457syn match muttrcFunction contained "\<sidebar-\%(next\|next-new\|open\|page-down\|page-up\|prev\|prev-new\|toggle-visible\)\>" 458syn match muttrcFunction contained "\<toggle-\%(mailboxes\|new\|quoted\|subscribed\|unlink\|write\)\>" 459syn match muttrcFunction contained "\<undelete-\%(pattern\|subthread\)\>" 460syn match muttrcFunction contained "\<collapse-\%(parts\|thread\|all\)\>" 461syn match muttrcFunction contained "\<view-\%(attach\|attachments\|file\|mailcap\|name\|text\)\>" 462syn match muttrcFunction contained "\<\%(backspace\|backward-char\|bol\|bottom\|bottom-page\|buffy-cycle\|clear-flag\|complete\%(-query\)\?\|copy-file\|create-alias\|detach-file\|eol\|exit\|extract-keys\|\%(imap-\)\?fetch-mail\|forget-passphrase\|forward-char\|group-reply\|help\|ispell\|jump\|limit\|list-reply\|mail\|mail-key\|mark-as-new\|middle-page\|new-mime\|noop\|pgp-menu\|query\|query-append\|quit\|quote-char\|read-subthread\|redraw-screen\|refresh\|rename-file\|reply\|select-new\|set-flag\|shell-escape\|skip-quoted\|sort\|subscribe\|sync-mailbox\|top\|top-page\|transpose-chars\|unsubscribe\|untag-pattern\|verify-key\|what-key\|write-fcc\)\>" 463syn keyword muttrcFunction contained imap-logout-all 464if use_mutt_sidebar == 1 465 syn match muttrcFunction contained "\<sidebar-\%(prev\|next\|open\|scroll-up\|scroll-down\)" 466endif 467syn match muttrcAction contained "<[^>]\{-}>" contains=muttrcBadAction,muttrcFunction,muttrcKeyName 468 469syn keyword muttrcCommand set skipwhite nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 470syn keyword muttrcCommand unset skipwhite nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 471syn keyword muttrcCommand reset skipwhite nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 472syn keyword muttrcCommand toggle skipwhite nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 473 474" First, functions that take regular expressions: 475syn match muttrcRXHookNot contained /!\s*/ skipwhite nextgroup=muttrcRXHookString,muttrcRXHookStringNL 476syn match muttrcRXHooks /\<\%(account\|folder\)-hook\>/ skipwhite nextgroup=muttrcRXHookNot,muttrcRXHookString,muttrcRXHookStringNL 477 478" Now, functions that take patterns 479syn match muttrcPatHookNot contained /!\s*/ skipwhite nextgroup=muttrcPattern 480syn match muttrcPatHooks /\<\%(mbox\|crypt\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcPattern 481syn match muttrcPatHooks /\<\%(message\|reply\|send\|send2\|save\|\|fcc\%(-save\)\?\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcOptPattern 482 483syn match muttrcBindFunction contained /\S\+\>/ skipwhite contains=muttrcFunction 484syn match muttrcBindFunctionNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindFunction,muttrcBindFunctionNL 485syn match muttrcBindKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcBindFunction,muttrcBindFunctionNL 486syn match muttrcBindKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindKey,muttrcBindKeyNL 487syn match muttrcBindMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcBindKey,muttrcBindKeyNL 488syn match muttrcBindMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindMenuList,muttrcBindMenuListNL 489syn keyword muttrcCommand skipwhite bind nextgroup=muttrcBindMenuList,muttrcBindMenuListNL 490 491syn region muttrcMacroDescr contained keepend skipwhite start=+\s*\S+ms=e skip=+\\ + end=+ \|$+me=s 492syn region muttrcMacroDescr contained keepend skipwhite start=+'+ms=e skip=+\\'+ end=+'+me=s 493syn region muttrcMacroDescr contained keepend skipwhite start=+"+ms=e skip=+\\"+ end=+"+me=s 494syn match muttrcMacroDescrNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroDescr,muttrcMacroDescrNL 495syn region muttrcMacroBody contained skipwhite start="\S" skip='\\ \|\\$' end=' \|$' contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction nextgroup=muttrcMacroDescr,muttrcMacroDescrNL 496syn region muttrcMacroBody matchgroup=Type contained skipwhite start=+'+ms=e skip=+\\'+ end=+'\|\%(\%(\\\\\)\@<!$\)+me=s contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcSpam,muttrcNoSpam,muttrcCommand,muttrcAction,muttrcVariable nextgroup=muttrcMacroDescr,muttrcMacroDescrNL 497syn region muttrcMacroBody matchgroup=Type contained skipwhite start=+"+ms=e skip=+\\"+ end=+"\|\%(\%(\\\\\)\@<!$\)+me=s contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcSpam,muttrcNoSpam,muttrcCommand,muttrcAction,muttrcVariable nextgroup=muttrcMacroDescr,muttrcMacroDescrNL 498syn match muttrcMacroBodyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroBody,muttrcMacroBodyNL 499syn match muttrcMacroKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcMacroBody,muttrcMacroBodyNL 500syn match muttrcMacroKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroKey,muttrcMacroKeyNL 501syn match muttrcMacroMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcMacroKey,muttrcMacroKeyNL 502syn match muttrcMacroMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL 503syn keyword muttrcCommand skipwhite macro nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL 504 505syn match muttrcAddrContent contained "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+\s*" skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent 506syn region muttrcAddrContent contained start=+'+ end=+'\s*+ skip=+\\'+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent 507syn region muttrcAddrContent contained start=+"+ end=+"\s*+ skip=+\\"+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent 508syn match muttrcAddrDef contained "-addr\s\+" skipwhite nextgroup=muttrcAddrContent 509 510syn match muttrcGroupFlag contained "-group" 511syn region muttrcGroupDef contained start="-group\s\+" skip="\\$" end="\s" skipwhite keepend contains=muttrcGroupFlag,muttrcUnHighlightSpace 512 513syn keyword muttrcGroupKeyword contained group ungroup 514syn region muttrcGroupLine keepend start=+^\s*\%(un\)\?group\s+ skip=+\\$+ end=+$+ contains=muttrcGroupKeyword,muttrcGroupDef,muttrcAddrDef,muttrcRXDef,muttrcUnHighlightSpace,muttrcComment 515 516syn match muttrcAliasGroupName contained /\w\+/ skipwhite nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL 517syn match muttrcAliasGroupDefNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL 518syn match muttrcAliasGroupDef contained /\s*-group/ skipwhite nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL contains=muttrcGroupFlag 519syn match muttrcAliasComma contained /,/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL 520syn match muttrcAliasEmail contained /\S\+@\S\+/ contains=muttrcEmail nextgroup=muttrcAliasName,muttrcAliasNameNL skipwhite 521syn match muttrcAliasEncEmail contained /<[^>]\+>/ contains=muttrcEmail nextgroup=muttrcAliasComma 522syn match muttrcAliasEncEmailNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL 523syn match muttrcAliasNameNoParens contained /[^<(@]\+\s\+/ nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL 524syn region muttrcAliasName contained matchgroup=Type start=/(/ end=/)/ skipwhite 525syn match muttrcAliasNameNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasName,muttrcAliasNameNL 526syn match muttrcAliasENNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL 527syn match muttrcAliasKey contained /\s*[^- \t]\S\+/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL 528syn match muttrcAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL 529syn keyword muttrcCommand skipwhite alias nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL 530 531syn match muttrcUnAliasKey contained "\s*\w\+\s*" skipwhite nextgroup=muttrcUnAliasKey,muttrcUnAliasNL 532syn match muttrcUnAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcUnAliasKey,muttrcUnAliasNL 533syn keyword muttrcCommand skipwhite unalias nextgroup=muttrcUnAliasKey,muttrcUnAliasNL 534 535syn match muttrcSimplePat contained "!\?\^\?[~][ADEFgGklNOpPQRSTuUvV=$]" 536syn match muttrcSimplePat contained "!\?\^\?[~][mnXz]\s*\%([<>-][0-9]\+[kM]\?\|[0-9]\+[kM]\?[-]\%([0-9]\+[kM]\?\)\?\)" 537syn match muttrcSimplePat contained "!\?\^\?[~][dr]\s*\%(\%(-\?[0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)*\)\|\%(\%([0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)*\)-\%([0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)\?\)\?\)\|\%([<>=][0-9]\+[ymwd]\)\|\%(`[^`]\+`\)\|\%(\$[a-zA-Z0-9_-]\+\)\)" contains=muttrcShellString,muttrcVariable 538syn match muttrcSimplePat contained "!\?\^\?[~][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatRXContainer 539syn match muttrcSimplePat contained "!\?\^\?[%][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString 540syn match muttrcSimplePat contained "!\?\^\?[=][bcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString 541syn region muttrcSimplePat contained keepend start=+!\?\^\?[~](+ end=+)+ contains=muttrcSimplePat 542"syn match muttrcSimplePat contained /'[^~=%][^']*/ contains=muttrcRXString 543syn region muttrcSimplePatString contained keepend start=+"+ end=+"+ skip=+\\"+ 544syn region muttrcSimplePatString contained keepend start=+'+ end=+'+ skip=+\\'+ 545syn region muttrcSimplePatString contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1 546syn region muttrcSimplePatRXContainer contained keepend start=+"+ end=+"+ skip=+\\"+ contains=muttrcRXString 547syn region muttrcSimplePatRXContainer contained keepend start=+'+ end=+'+ skip=+\\'+ contains=muttrcRXString 548syn region muttrcSimplePatRXContainer contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1 contains=muttrcRXString 549syn match muttrcSimplePatMetas contained /[(|)]/ 550 551syn match muttrcOptSimplePat contained skipwhite /[~=%!(^].*/ contains=muttrcSimplePat,muttrcSimplePatMetas 552syn match muttrcOptSimplePat contained skipwhite /[^~=%!(^].*/ contains=muttrcRXString 553syn region muttrcOptPattern contained matchgroup=Type keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL 554syn region muttrcOptPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL 555syn region muttrcOptPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL 556syn match muttrcOptPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL 557syn match muttrcOptPattern contained skipwhite /[.]/ nextgroup=muttrcString,muttrcStringNL 558" Keep muttrcPattern and muttrcOptPattern synchronized 559syn region muttrcPattern contained matchgroup=Type keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas 560syn region muttrcPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas 561syn region muttrcPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat 562syn match muttrcPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat 563syn match muttrcPattern contained skipwhite /[.]/ 564syn region muttrcPatternInner contained keepend start=+"[~=%!(^]+ms=s+1 skip=+\\"+ end=+"+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas 565syn region muttrcPatternInner contained keepend start=+'[~=%!(^]+ms=s+1 skip=+\\'+ end=+'+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas 566 567" Colour definitions takes object, foreground and background arguments (regexps excluded). 568syn match muttrcColorMatchCount contained "[0-9]\+" 569syn match muttrcColorMatchCountNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL 570syn region muttrcColorRXPat contained start=+\s*'+ skip=+\\'+ end=+'\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL 571syn region muttrcColorRXPat contained start=+\s*"+ skip=+\\"+ end=+"\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL 572syn keyword muttrcColorField skipwhite contained 573 \ attachment body bold error hdrdefault header index indicator markers message 574 \ normal prompt quoted search sidebar-divider sidebar-flagged sidebar-highlight 575 \ sidebar-indicator sidebar-new sidebar-spoolfile signature status tilde tree 576 \ underline 577syn match muttrcColorField contained "\<quoted\d\=\>" 578if use_mutt_sidebar == 1 579 syn keyword muttrcColorField contained sidebar_new 580endif 581syn keyword muttrcColor contained black blue cyan default green magenta red white yellow 582syn keyword muttrcColor contained brightblack brightblue brightcyan brightdefault brightgreen brightmagenta brightred brightwhite brightyellow 583syn match muttrcColor contained "\<\%(bright\)\=color\d\{1,3}\>" 584" Now for the structure of the color line 585syn match muttrcColorRXNL contained skipnl "\s*\\$" nextgroup=muttrcColorRXPat,muttrcColorRXNL 586syn match muttrcColorBG contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorRXPat,muttrcColorRXNL 587syn match muttrcColorBGNL contained skipnl "\s*\\$" nextgroup=muttrcColorBG,muttrcColorBGNL 588syn match muttrcColorFG contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBG,muttrcColorBGNL 589syn match muttrcColorFGNL contained skipnl "\s*\\$" nextgroup=muttrcColorFG,muttrcColorFGNL 590syn match muttrcColorContext contained /\s*[$]\?\w\+/ contains=muttrcColorField,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorFG,muttrcColorFGNL 591syn match muttrcColorNL contained skipnl "\s*\\$" nextgroup=muttrcColorContext,muttrcColorNL 592syn match muttrcColorKeyword contained /^\s*color\s\+/ nextgroup=muttrcColorContext,muttrcColorNL 593syn region muttrcColorLine keepend start=/^\s*color\s\+\%(index\|header\)\@!/ skip=+\\$+ end=+$+ contains=muttrcColorKeyword,muttrcComment,muttrcUnHighlightSpace 594" Now for the structure of the color index line 595syn match muttrcPatternNL contained skipnl "\s*\\$" nextgroup=muttrcPattern,muttrcPatternNL 596syn match muttrcColorBGI contained /\s*[$]\?\w\+\s*/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcPattern,muttrcPatternNL 597syn match muttrcColorBGNLI contained skipnl "\s*\\$" nextgroup=muttrcColorBGI,muttrcColorBGNLI 598syn match muttrcColorFGI contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBGI,muttrcColorBGNLI 599syn match muttrcColorFGNLI contained skipnl "\s*\\$" nextgroup=muttrcColorFGI,muttrcColorFGNLI 600syn match muttrcColorContextI contained /\s*\<index\>/ contains=muttrcUnHighlightSpace nextgroup=muttrcColorFGI,muttrcColorFGNLI 601syn match muttrcColorNLI contained skipnl "\s*\\$" nextgroup=muttrcColorContextI,muttrcColorNLI 602syn match muttrcColorKeywordI contained skipwhite /\<color\>/ nextgroup=muttrcColorContextI,muttrcColorNLI 603syn region muttrcColorLine keepend skipwhite start=/\<color\s\+index\>/ skip=+\\$+ end=+$+ contains=muttrcColorKeywordI,muttrcComment,muttrcUnHighlightSpace 604" Now for the structure of the color header line 605syn match muttrcRXPatternNL contained skipnl "\s*\\$" nextgroup=muttrcRXString,muttrcRXPatternNL 606syn match muttrcColorBGH contained /\s*[$]\?\w\+\s*/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcRXString,muttrcRXPatternNL 607syn match muttrcColorBGNLH contained skipnl "\s*\\$" nextgroup=muttrcColorBGH,muttrcColorBGNLH 608syn match muttrcColorFGH contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBGH,muttrcColorBGNLH 609syn match muttrcColorFGNLH contained skipnl "\s*\\$" nextgroup=muttrcColorFGH,muttrcColorFGNLH 610syn match muttrcColorContextH contained /\s*\<header\>/ contains=muttrcUnHighlightSpace nextgroup=muttrcColorFGH,muttrcColorFGNLH 611syn match muttrcColorNLH contained skipnl "\s*\\$" nextgroup=muttrcColorContextH,muttrcColorNLH 612syn match muttrcColorKeywordH contained skipwhite /\<color\>/ nextgroup=muttrcColorContextH,muttrcColorNLH 613syn region muttrcColorLine keepend skipwhite start=/\<color\s\+header\>/ skip=+\\$+ end=+$+ contains=muttrcColorKeywordH,muttrcComment,muttrcUnHighlightSpace 614" And now color's brother: 615syn region muttrcUnColorPatterns contained skipwhite start=+\s*'+ end=+'+ skip=+\\'+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL 616syn region muttrcUnColorPatterns contained skipwhite start=+\s*"+ end=+"+ skip=+\\"+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL 617syn match muttrcUnColorPatterns contained skipwhite /\s*[^'"\s]\S\*/ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL 618syn match muttrcUnColorPatNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL 619syn match muttrcUnColorAll contained skipwhite /[*]/ 620syn match muttrcUnColorAPNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL 621syn match muttrcUnColorIndex contained skipwhite /\s*index\s\+/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL 622syn match muttrcUnColorIndexNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL 623syn match muttrcUnColorKeyword contained skipwhite /^\s*uncolor\s\+/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL 624syn region muttrcUnColorLine keepend start=+^\s*uncolor\s+ skip=+\\$+ end=+$+ contains=muttrcUnColorKeyword,muttrcComment,muttrcUnHighlightSpace 625 626" Mono are almost like color (ojects inherited from color) 627syn keyword muttrcMonoAttrib contained bold none normal reverse standout underline 628syn keyword muttrcMono contained mono skipwhite nextgroup=muttrcColorField 629syn match muttrcMonoLine "^\s*mono\s\+\S\+" skipwhite nextgroup=muttrcMonoAttrib contains=muttrcMono 630 631" Define the default highlighting. 632" Only when an item doesn't have highlighting yet 633 634hi def link muttrcComment Comment 635hi def link muttrcEscape SpecialChar 636hi def link muttrcRXChars SpecialChar 637hi def link muttrcString String 638hi def link muttrcRXString String 639hi def link muttrcRXString2 String 640hi def link muttrcSpecial Special 641hi def link muttrcHooks Type 642hi def link muttrcGroupFlag Type 643hi def link muttrcGroupDef Macro 644hi def link muttrcAddrDef muttrcGroupFlag 645hi def link muttrcRXDef muttrcGroupFlag 646hi def link muttrcRXPat String 647hi def link muttrcAliasGroupName Macro 648hi def link muttrcAliasKey Identifier 649hi def link muttrcUnAliasKey Identifier 650hi def link muttrcAliasEncEmail Identifier 651hi def link muttrcAliasParens Type 652hi def link muttrcSetNumAssignment Number 653hi def link muttrcSetBoolAssignment Boolean 654hi def link muttrcSetQuadAssignment Boolean 655hi def link muttrcSetStrAssignment String 656hi def link muttrcEmail Special 657hi def link muttrcVariableInner Special 658hi def link muttrcEscapedVariable String 659hi def link muttrcHeader Type 660hi def link muttrcKeySpecial SpecialChar 661hi def link muttrcKey Type 662hi def link muttrcKeyName SpecialChar 663hi def link muttrcVarBool Identifier 664hi def link muttrcVarQuad Identifier 665hi def link muttrcVarNum Identifier 666hi def link muttrcVarStr Identifier 667hi def link muttrcMenu Identifier 668hi def link muttrcCommand Keyword 669hi def link muttrcMacroDescr String 670hi def link muttrcAction Macro 671hi def link muttrcBadAction Error 672hi def link muttrcBindFunction Error 673hi def link muttrcBindMenuList Error 674hi def link muttrcFunction Macro 675hi def link muttrcGroupKeyword muttrcCommand 676hi def link muttrcGroupLine Error 677hi def link muttrcSubscribeKeyword muttrcCommand 678hi def link muttrcSubscribeLine Error 679hi def link muttrcListsKeyword muttrcCommand 680hi def link muttrcListsLine Error 681hi def link muttrcAlternateKeyword muttrcCommand 682hi def link muttrcAlternatesLine Error 683hi def link muttrcAttachmentsLine muttrcCommand 684hi def link muttrcAttachmentsFlag Type 685hi def link muttrcAttachmentsMimeType String 686hi def link muttrcColorLine Error 687hi def link muttrcColorContext Error 688hi def link muttrcColorContextI Identifier 689hi def link muttrcColorContextH Identifier 690hi def link muttrcColorKeyword muttrcCommand 691hi def link muttrcColorKeywordI muttrcColorKeyword 692hi def link muttrcColorKeywordH muttrcColorKeyword 693hi def link muttrcColorField Identifier 694hi def link muttrcColor Type 695hi def link muttrcColorFG Error 696hi def link muttrcColorFGI Error 697hi def link muttrcColorFGH Error 698hi def link muttrcColorBG Error 699hi def link muttrcColorBGI Error 700hi def link muttrcColorBGH Error 701hi def link muttrcMonoAttrib muttrcColor 702hi def link muttrcMono muttrcCommand 703hi def link muttrcSimplePat Identifier 704hi def link muttrcSimplePatString Macro 705hi def link muttrcSimplePatMetas Special 706hi def link muttrcPattern Error 707hi def link muttrcUnColorLine Error 708hi def link muttrcUnColorKeyword muttrcCommand 709hi def link muttrcUnColorIndex Identifier 710hi def link muttrcShellString muttrcEscape 711hi def link muttrcRXHooks muttrcCommand 712hi def link muttrcRXHookNot Type 713hi def link muttrcPatHooks muttrcCommand 714hi def link muttrcPatHookNot Type 715hi def link muttrcFormatConditionals2 Type 716hi def link muttrcIndexFormatStr muttrcString 717hi def link muttrcIndexFormatEscapes muttrcEscape 718hi def link muttrcIndexFormatConditionals muttrcFormatConditionals2 719hi def link muttrcAliasFormatStr muttrcString 720hi def link muttrcAliasFormatEscapes muttrcEscape 721hi def link muttrcAttachFormatStr muttrcString 722hi def link muttrcAttachFormatEscapes muttrcEscape 723hi def link muttrcAttachFormatConditionals muttrcFormatConditionals2 724hi def link muttrcComposeFormatStr muttrcString 725hi def link muttrcComposeFormatEscapes muttrcEscape 726hi def link muttrcFolderFormatStr muttrcString 727hi def link muttrcFolderFormatEscapes muttrcEscape 728hi def link muttrcFolderFormatConditionals muttrcFormatConditionals2 729hi def link muttrcMixFormatStr muttrcString 730hi def link muttrcMixFormatEscapes muttrcEscape 731hi def link muttrcMixFormatConditionals muttrcFormatConditionals2 732hi def link muttrcPGPFormatStr muttrcString 733hi def link muttrcPGPFormatEscapes muttrcEscape 734hi def link muttrcPGPFormatConditionals muttrcFormatConditionals2 735hi def link muttrcPGPCmdFormatStr muttrcString 736hi def link muttrcPGPCmdFormatEscapes muttrcEscape 737hi def link muttrcPGPCmdFormatConditionals muttrcFormatConditionals2 738hi def link muttrcStatusFormatStr muttrcString 739hi def link muttrcStatusFormatEscapes muttrcEscape 740hi def link muttrcStatusFormatConditionals muttrcFormatConditionals2 741hi def link muttrcPGPGetKeysFormatStr muttrcString 742hi def link muttrcPGPGetKeysFormatEscapes muttrcEscape 743hi def link muttrcSmimeFormatStr muttrcString 744hi def link muttrcSmimeFormatEscapes muttrcEscape 745hi def link muttrcSmimeFormatConditionals muttrcFormatConditionals2 746hi def link muttrcTimeEscapes muttrcEscape 747hi def link muttrcPGPTimeEscapes muttrcEscape 748hi def link muttrcStrftimeEscapes Type 749hi def link muttrcStrftimeFormatStr muttrcString 750hi def link muttrcFormatErrors Error 751 752hi def link muttrcBindFunctionNL SpecialChar 753hi def link muttrcBindKeyNL SpecialChar 754hi def link muttrcBindMenuListNL SpecialChar 755hi def link muttrcMacroDescrNL SpecialChar 756hi def link muttrcMacroBodyNL SpecialChar 757hi def link muttrcMacroKeyNL SpecialChar 758hi def link muttrcMacroMenuListNL SpecialChar 759hi def link muttrcColorMatchCountNL SpecialChar 760hi def link muttrcColorNL SpecialChar 761hi def link muttrcColorRXNL SpecialChar 762hi def link muttrcColorBGNL SpecialChar 763hi def link muttrcColorFGNL SpecialChar 764hi def link muttrcAliasNameNL SpecialChar 765hi def link muttrcAliasENNL SpecialChar 766hi def link muttrcAliasNL SpecialChar 767hi def link muttrcUnAliasNL SpecialChar 768hi def link muttrcAliasGroupDefNL SpecialChar 769hi def link muttrcAliasEncEmailNL SpecialChar 770hi def link muttrcPatternNL SpecialChar 771hi def link muttrcUnColorPatNL SpecialChar 772hi def link muttrcUnColorAPNL SpecialChar 773hi def link muttrcUnColorIndexNL SpecialChar 774hi def link muttrcStringNL SpecialChar 775 776 777let b:current_syntax = "muttrc" 778 779let &cpo = s:cpo_save 780unlet s:cpo_save 781"EOF vim: ts=8 noet tw=100 sw=8 sts=0 ft=vim 782