neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

muttrc.vim (69547B)


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