1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: Mutt setup files 3f9393ef5SBram Moolenaar" Original: Preben 'Peppe' Guldberg <[email protected]> 4f9393ef5SBram Moolenaar" Maintainer: Kyle Wheeler <[email protected]> 5*0b0f0992SBram Moolenaar" Last Change: 21 May 2018 6071d4279SBram Moolenaar 7*0b0f0992SBram Moolenaar" This file covers mutt version 1.10.0 8071d4279SBram Moolenaar 989bcfda6SBram Moolenaar" quit when a syntax file was already loaded 1089bcfda6SBram Moolenaarif exists("b:current_syntax") 11071d4279SBram Moolenaar finish 12071d4279SBram Moolenaarendif 13071d4279SBram Moolenaar 14b8ff1fb5SBram Moolenaarlet s:cpo_save = &cpo 15b8ff1fb5SBram Moolenaarset cpo&vim 16b8ff1fb5SBram Moolenaar 17071d4279SBram Moolenaar" Set the keyword characters 18071d4279SBram Moolenaarsetlocal isk=@,48-57,_,- 19071d4279SBram Moolenaar 20b8ff1fb5SBram Moolenaar" handling optional variables 21b8ff1fb5SBram Moolenaarif !exists("use_mutt_sidebar") 22b8ff1fb5SBram Moolenaar let use_mutt_sidebar=0 23b8ff1fb5SBram Moolenaarendif 24b8ff1fb5SBram Moolenaar 259964e468SBram Moolenaarsyn match muttrcComment "^# .*$" contains=@Spell 269964e468SBram Moolenaarsyn match muttrcComment "^#[^ ].*$" 279964e468SBram Moolenaarsyn match muttrcComment "^#$" 28071d4279SBram Moolenaarsyn match muttrcComment "[^\\]#.*$"lc=1 29071d4279SBram Moolenaar 30071d4279SBram Moolenaar" Escape sequences (back-tick and pipe goes here too) 31071d4279SBram Moolenaarsyn match muttrcEscape +\\[#tnr"'Cc ]+ 32071d4279SBram Moolenaarsyn match muttrcEscape +[`|]+ 33446cb837SBram Moolenaarsyn match muttrcEscape +\\$+ 34071d4279SBram Moolenaar 35071d4279SBram Moolenaar" The variables takes the following arguments 369de99979SBram Moolenaar"syn match muttrcString contained "=\s*[^ #"'`]\+"lc=1 contains=muttrcEscape 379de99979SBram Moolenaarsyn region muttrcString contained keepend start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcCommand,muttrcAction,muttrcShellString 389de99979SBram Moolenaarsyn region muttrcString contained keepend start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcCommand,muttrcAction 399de99979SBram Moolenaarsyn match muttrcStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcString,muttrcStringNL 40f9393ef5SBram Moolenaar 419de99979SBram Moolenaarsyn region muttrcShellString matchgroup=muttrcEscape keepend start=+`+ skip=+\\`+ end=+`+ contains=muttrcVarStr,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcCommand 42f9393ef5SBram Moolenaar 43f9393ef5SBram Moolenaarsyn match muttrcRXChars contained /[^\\][][.*?+]\+/hs=s+1 44f9393ef5SBram Moolenaarsyn match muttrcRXChars contained /[][|()][.*?+]*/ 45446cb837SBram Moolenaarsyn match muttrcRXChars contained /['"]^/ms=s+1 46446cb837SBram Moolenaarsyn match muttrcRXChars contained /$['"]/me=e-1 47f9393ef5SBram Moolenaarsyn match muttrcRXChars contained /\\/ 489964e468SBram Moolenaar" Why does muttrcRXString2 work with one \ when muttrcRXString requires two? 499de99979SBram Moolenaarsyn region muttrcRXString contained skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXChars 509de99979SBram Moolenaarsyn region muttrcRXString contained skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXChars 519de99979SBram Moolenaarsyn region muttrcRXString contained skipwhite start=+[^ "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXChars 529de99979SBram Moolenaar" For some reason, skip refuses to match backslashes here... 539de99979SBram Moolenaarsyn region muttrcRXString contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXChars 549de99979SBram Moolenaarsyn region muttrcRXString contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXChars 559de99979SBram Moolenaarsyn region muttrcRXString2 contained skipwhite start=+'+ skip=+\'+ end=+'+ contains=muttrcRXChars 569de99979SBram Moolenaarsyn region muttrcRXString2 contained skipwhite start=+"+ skip=+\"+ end=+"+ contains=muttrcRXChars 57f9393ef5SBram Moolenaar 589de99979SBram Moolenaar" these must be kept synchronized with muttrcRXString, but are intended for 599de99979SBram Moolenaar" muttrcRXHooks 609de99979SBram Moolenaarsyn region muttrcRXHookString contained keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL 619de99979SBram Moolenaarsyn region muttrcRXHookString contained keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL 629de99979SBram Moolenaarsyn region muttrcRXHookString contained keepend skipwhite start=+[^ "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL 639de99979SBram Moolenaarsyn region muttrcRXHookString contained keepend skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL 649de99979SBram Moolenaarsyn region muttrcRXHookString contained keepend matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL 659de99979SBram Moolenaarsyn match muttrcRXHookStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcRXHookString,muttrcRXHookStringNL 669de99979SBram Moolenaar 679de99979SBram Moolenaar" these are exclusively for args lists (e.g. -rx pat pat pat ...) 689de99979SBram Moolenaarsyn region muttrcRXPat contained keepend skipwhite start=+'+ skip=+\\'+ end=+'\s*+ contains=muttrcRXString nextgroup=muttrcRXPat 699de99979SBram Moolenaarsyn region muttrcRXPat contained keepend skipwhite start=+"+ skip=+\\"+ end=+"\s*+ contains=muttrcRXString nextgroup=muttrcRXPat 709de99979SBram Moolenaarsyn match muttrcRXPat contained /[^-'"#!]\S\+/ skipwhite contains=muttrcRXChars nextgroup=muttrcRXPat 71f9393ef5SBram Moolenaarsyn match muttrcRXDef contained "-rx\s\+" skipwhite nextgroup=muttrcRXPat 72071d4279SBram Moolenaar 73071d4279SBram Moolenaarsyn match muttrcSpecial +\(['"]\)!\1+ 74071d4279SBram Moolenaar 759de99979SBram Moolenaarsyn match muttrcSetStrAssignment contained skipwhite /=\s*\%(\\\?\$\)\?[0-9A-Za-z_-]\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable 769de99979SBram Moolenaarsyn region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*"+hs=s+1 end=+"+ skip=+\\"+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcString 779de99979SBram Moolenaarsyn region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*'+hs=s+1 end=+'+ skip=+\\'+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcString 789de99979SBram Moolenaarsyn match muttrcSetBoolAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable 799de99979SBram Moolenaarsyn match muttrcSetBoolAssignment contained skipwhite /=\s*\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 809de99979SBram Moolenaarsyn match muttrcSetBoolAssignment contained skipwhite /=\s*"\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 819de99979SBram Moolenaarsyn match muttrcSetBoolAssignment contained skipwhite /=\s*'\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 829de99979SBram Moolenaarsyn match muttrcSetQuadAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable 839de99979SBram Moolenaarsyn match muttrcSetQuadAssignment contained skipwhite /=\s*\%(ask-\)\?\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 849de99979SBram Moolenaarsyn match muttrcSetQuadAssignment contained skipwhite /=\s*"\%(ask-\)\?\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 859de99979SBram Moolenaarsyn match muttrcSetQuadAssignment contained skipwhite /=\s*'\%(ask-\)\?\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 869de99979SBram Moolenaarsyn match muttrcSetNumAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable 879de99979SBram Moolenaarsyn match muttrcSetNumAssignment contained skipwhite /=\s*\d\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 889de99979SBram Moolenaarsyn match muttrcSetNumAssignment contained skipwhite /=\s*"\d\+"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 899de99979SBram Moolenaarsyn match muttrcSetNumAssignment contained skipwhite /=\s*'\d\+'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 90071d4279SBram Moolenaar 91071d4279SBram Moolenaar" Now catch some email addresses and headers (purified version from mail.vim) 92071d4279SBram Moolenaarsyn match muttrcEmail "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+" 93e4a3bcf2SBram Moolenaarsyn match muttrcHeader "\<\c\%(From\|To\|C[Cc]\|B[Cc][Cc]\|Reply-To\|Subject\|Return-Path\|Received\|Date\|Replied\|Attach\)\>:\=" 94071d4279SBram Moolenaar 95f9393ef5SBram Moolenaarsyn match muttrcKeySpecial contained +\%(\\[Cc'"]\|\^\|\\[01]\d\{2}\)+ 96f9393ef5SBram Moolenaarsyn match muttrcKey contained "\S\+" contains=muttrcKeySpecial,muttrcKeyName 97f9393ef5SBram Moolenaarsyn region muttrcKey contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=muttrcKeySpecial,muttrcKeyName 98f9393ef5SBram Moolenaarsyn region muttrcKey contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=muttrcKeySpecial,muttrcKeyName 99f9393ef5SBram Moolenaarsyn match muttrcKeyName contained "\<f\%(\d\|10\)\>" 100071d4279SBram Moolenaarsyn match muttrcKeyName contained "\\[trne]" 101b8ff1fb5SBram Moolenaarsyn match muttrcKeyName contained "\c<\%(BackSpace\|BackTab\|Delete\|Down\|End\|Enter\|Esc\|Home\|Insert\|Left\|PageDown\|PageUp\|Return\|Right\|Space\|Tab\|Up\)>" 102c236c16dSBram Moolenaarsyn match muttrcKeyName contained "<F[0-9]\+>" 103071d4279SBram Moolenaar 104e4a3bcf2SBram Moolenaarsyn keyword muttrcVarBool skipwhite contained 105e4a3bcf2SBram Moolenaar \ allow_8bit allow_ansi arrow_cursor ascii_chars askbcc askcc attach_split 106e4a3bcf2SBram Moolenaar \ auto_tag autoedit beep beep_new bounce_delivered braille_friendly 107*0b0f0992SBram Moolenaar \ browser_abbreviate_mailboxes change_folder_next check_mbox_size check_new 108*0b0f0992SBram Moolenaar \ collapse_unread confirmappend confirmcreate crypt_autoencrypt crypt_autopgp 109*0b0f0992SBram Moolenaar \ crypt_autosign crypt_autosmime crypt_confirmhook crypt_opportunistic_encrypt 110*0b0f0992SBram Moolenaar \ crypt_replyencrypt crypt_replysign crypt_replysignencrypted crypt_timestamp 111*0b0f0992SBram Moolenaar \ crypt_use_gpgme crypt_use_pka delete_untag digest_collapse duplicate_threads 112*0b0f0992SBram Moolenaar \ edit_hdrs edit_headers encode_from envelope_from fast_reply fcc_clear 113*0b0f0992SBram Moolenaar \ flag_safe followup_to force_name forw_decode forw_decrypt forw_quote 114*0b0f0992SBram Moolenaar \ forward_decode forward_decrypt forward_quote hdrs header 115*0b0f0992SBram Moolenaar \ header_color_partial help hidden_host hide_limited hide_missing 116*0b0f0992SBram Moolenaar \ hide_thread_subject hide_top_limited hide_top_missing history_remove_dups 117*0b0f0992SBram Moolenaar \ honor_disposition idn_decode idn_encode ignore_linear_white_space 118*0b0f0992SBram Moolenaar \ ignore_list_reply_to imap_check_subscribed imap_list_subscribed imap_passive 119*0b0f0992SBram Moolenaar \ imap_peek imap_servernoise implicit_autoview include_onlyfirst keep_flagged 120e4a3bcf2SBram Moolenaar \ mail_check_recent mail_check_stats mailcap_sanitize maildir_check_cur 121e4a3bcf2SBram Moolenaar \ maildir_header_cache_verify maildir_trash mark_old markers menu_move_off 122e4a3bcf2SBram Moolenaar \ menu_scroll message_cache_clean meta_key metoo mh_purge mime_forward_decode 123*0b0f0992SBram Moolenaar \ mime_type_query_first narrow_tree pager_stop pgp_auto_decode 124*0b0f0992SBram Moolenaar \ pgp_auto_traditional pgp_autoencrypt pgp_autoinline pgp_autosign 125*0b0f0992SBram Moolenaar \ pgp_check_exit pgp_create_traditional pgp_ignore_subkeys pgp_long_ids 126*0b0f0992SBram Moolenaar \ pgp_replyencrypt pgp_replyinline pgp_replysign pgp_replysignencrypted 127*0b0f0992SBram Moolenaar \ pgp_retainable_sigs pgp_self_encrypt pgp_self_encrypt_as pgp_show_unusable 128*0b0f0992SBram Moolenaar \ pgp_strict_enc pgp_use_gpg_agent pipe_decode pipe_split pop_auth_try_all 129*0b0f0992SBram Moolenaar \ pop_last postpone_encrypt postpone_encrypt_as print_decode print_split 130*0b0f0992SBram Moolenaar \ prompt_after read_only reflow_space_quotes reflow_text reflow_wrap 131*0b0f0992SBram Moolenaar \ reply_self resolve resume_draft_files resume_edited_draft_files 132*0b0f0992SBram Moolenaar \ reverse_alias reverse_name reverse_realname rfc2047_parameters save_address 133*0b0f0992SBram Moolenaar \ save_empty save_name score sidebar_folder_indent sidebar_new_mail_only 134*0b0f0992SBram Moolenaar \ sidebar_next_new_wrap sidebar_short_path sidebar_sort sidebar_visible 135*0b0f0992SBram Moolenaar \ sig_dashes sig_on_top smart_wrap smime_ask_cert_label 136*0b0f0992SBram Moolenaar \ smime_decrypt_use_default_key smime_is_default smime_self_encrypt 137*0b0f0992SBram Moolenaar \ smime_self_encrypt_as sort_re ssl_force_tls ssl_use_sslv2 ssl_use_sslv3 138*0b0f0992SBram Moolenaar \ ssl_use_tlsv1 ssl_usesystemcerts ssl_verify_dates ssl_verify_host 139*0b0f0992SBram Moolenaar \ ssl_verify_partial_chains status_on_top strict_mime strict_threads suspend 140*0b0f0992SBram Moolenaar \ text_flowed thorough_search thread_received tilde ts_enabled uncollapse_jump 141*0b0f0992SBram Moolenaar \ use_8bitmime use_domain use_envelope_from use_from use_idn use_ipv6 142*0b0f0992SBram Moolenaar \ uncollapse_new user_agent wait_key weed wrap_search write_bcc 143e4a3bcf2SBram Moolenaar \ nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 144071d4279SBram Moolenaar 145e4a3bcf2SBram Moolenaarsyn keyword muttrcVarBool skipwhite contained 146*0b0f0992SBram Moolenaar \ noallow_8bit noallow_ansi noarrow_cursor noascii_chars noaskbcc noaskcc 147*0b0f0992SBram Moolenaar \ noattach_split noauto_tag noautoedit nobeep nobeep_new nobounce_delivered 148*0b0f0992SBram Moolenaar \ nobraille_friendly nobrowser_abbreviate_mailboxes nochange_folder_next 149*0b0f0992SBram Moolenaar \ nocheck_mbox_size nocheck_new nocollapse_unread noconfirmappend 150*0b0f0992SBram Moolenaar \ noconfirmcreate nocrypt_autoencrypt nocrypt_autopgp nocrypt_autosign 151*0b0f0992SBram Moolenaar \ nocrypt_autosmime nocrypt_confirmhook nocrypt_opportunistic_encrypt 152*0b0f0992SBram Moolenaar \ nocrypt_replyencrypt nocrypt_replysign nocrypt_replysignencrypted 153*0b0f0992SBram Moolenaar \ nocrypt_timestamp nocrypt_use_gpgme nocrypt_use_pka nodelete_untag 154*0b0f0992SBram Moolenaar \ nodigest_collapse noduplicate_threads noedit_hdrs noedit_headers 155*0b0f0992SBram Moolenaar \ noencode_from noenvelope_from nofast_reply nofcc_clear noflag_safe 156*0b0f0992SBram Moolenaar \ nofollowup_to noforce_name noforw_decode noforw_decrypt noforw_quote 157*0b0f0992SBram Moolenaar \ noforward_decode noforward_decrypt noforward_quote nohdrs noheader 158*0b0f0992SBram Moolenaar \ noheader_color_partial nohelp nohidden_host nohide_limited nohide_missing 159*0b0f0992SBram Moolenaar \ nohide_thread_subject nohide_top_limited nohide_top_missing 160*0b0f0992SBram Moolenaar \ nohistory_remove_dups nohonor_disposition noidn_decode noidn_encode 161*0b0f0992SBram Moolenaar \ noignore_linear_white_space noignore_list_reply_to noimap_check_subscribed 162*0b0f0992SBram Moolenaar \ noimap_list_subscribed noimap_passive noimap_peek noimap_servernoise 163*0b0f0992SBram Moolenaar \ noimplicit_autoview noinclude_onlyfirst nokeep_flagged nomail_check_recent 164*0b0f0992SBram Moolenaar \ nomail_check_stats nomailcap_sanitize nomaildir_check_cur 165*0b0f0992SBram Moolenaar \ nomaildir_header_cache_verify nomaildir_trash nomark_old nomarkers 166*0b0f0992SBram Moolenaar \ nomenu_move_off nomenu_scroll nomessage_cache_clean nometa_key nometoo 167*0b0f0992SBram Moolenaar \ nomh_purge nomime_forward_decode nomime_type_query_first nonarrow_tree 168*0b0f0992SBram Moolenaar \ nopager_stop nopgp_auto_decode nopgp_auto_traditional nopgp_autoencrypt 169e4a3bcf2SBram Moolenaar \ nopgp_autoinline nopgp_autosign nopgp_check_exit nopgp_create_traditional 170*0b0f0992SBram Moolenaar \ nopgp_ignore_subkeys nopgp_long_ids nopgp_replyencrypt nopgp_replyinline 171*0b0f0992SBram Moolenaar \ nopgp_replysign nopgp_replysignencrypted nopgp_retainable_sigs 172*0b0f0992SBram Moolenaar \ nopgp_self_encrypt nopgp_self_encrypt_as nopgp_show_unusable 173*0b0f0992SBram Moolenaar \ nopgp_strict_enc nopgp_use_gpg_agent nopipe_decode nopipe_split 174*0b0f0992SBram Moolenaar \ nopop_auth_try_all nopop_last nopostpone_encrypt nopostpone_encrypt_as 175*0b0f0992SBram Moolenaar \ noprint_decode noprint_split noprompt_after noread_only 176*0b0f0992SBram Moolenaar \ noreflow_space_quotes noreflow_text noreflow_wrap noreply_self noresolve 177*0b0f0992SBram Moolenaar \ noresume_draft_files noresume_edited_draft_files noreverse_alias 178*0b0f0992SBram Moolenaar \ noreverse_name noreverse_realname norfc2047_parameters nosave_address 179*0b0f0992SBram Moolenaar \ nosave_empty nosave_name noscore nosidebar_folder_indent 180*0b0f0992SBram Moolenaar \ nosidebar_new_mail_only nosidebar_next_new_wrap nosidebar_short_path 181*0b0f0992SBram Moolenaar \ nosidebar_sort nosidebar_visible nosig_dashes nosig_on_top nosmart_wrap 182*0b0f0992SBram Moolenaar \ nosmime_ask_cert_label nosmime_decrypt_use_default_key nosmime_is_default 183*0b0f0992SBram Moolenaar \ nosmime_self_encrypt nosmime_self_encrypt_as nosort_re nossl_force_tls 184*0b0f0992SBram Moolenaar \ nossl_use_sslv2 nossl_use_sslv3 nossl_use_tlsv1 nossl_usesystemcerts 185*0b0f0992SBram Moolenaar \ nossl_verify_dates nossl_verify_host nossl_verify_partial_chains 186*0b0f0992SBram Moolenaar \ nostatus_on_top nostrict_mime nostrict_threads nosuspend notext_flowed 187*0b0f0992SBram Moolenaar \ nothorough_search nothread_received notilde nots_enabled nouncollapse_jump 188*0b0f0992SBram Moolenaar \ nouse_8bitmime nouse_domain nouse_envelope_from nouse_from nouse_idn 189*0b0f0992SBram Moolenaar \ nouse_ipv6 nouncollapse_new nouser_agent nowait_key noweed nowrap_search 190*0b0f0992SBram Moolenaar \ nowrite_bcc 191e4a3bcf2SBram Moolenaar \ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 192071d4279SBram Moolenaar 193e4a3bcf2SBram Moolenaarsyn keyword muttrcVarBool skipwhite contained 194*0b0f0992SBram Moolenaar \ invallow_8bit invallow_ansi invarrow_cursor invascii_chars invaskbcc 195*0b0f0992SBram Moolenaar \ invaskcc invattach_split invauto_tag invautoedit invbeep invbeep_new 196*0b0f0992SBram Moolenaar \ invbounce_delivered invbraille_friendly invbrowser_abbreviate_mailboxes 197*0b0f0992SBram Moolenaar \ invchange_folder_next invcheck_mbox_size invcheck_new invcollapse_unread 198*0b0f0992SBram Moolenaar \ invconfirmappend invconfirmcreate invcrypt_autoencrypt invcrypt_autopgp 199*0b0f0992SBram Moolenaar \ invcrypt_autosign invcrypt_autosmime invcrypt_confirmhook 200*0b0f0992SBram Moolenaar \ invcrypt_opportunistic_encrypt invcrypt_replyencrypt invcrypt_replysign 201*0b0f0992SBram Moolenaar \ invcrypt_replysignencrypted invcrypt_timestamp invcrypt_use_gpgme 202*0b0f0992SBram Moolenaar \ invcrypt_use_pka invdelete_untag invdigest_collapse invduplicate_threads 203*0b0f0992SBram Moolenaar \ invedit_hdrs invedit_headers invencode_from invenvelope_from invfast_reply 204*0b0f0992SBram Moolenaar \ invfcc_clear invflag_safe invfollowup_to invforce_name invforw_decode 205*0b0f0992SBram Moolenaar \ invforw_decrypt invforw_quote invforward_decode invforward_decrypt 206*0b0f0992SBram Moolenaar \ invforward_quote invhdrs invheader invheader_color_partial invhelp 207*0b0f0992SBram Moolenaar \ invhidden_host invhide_limited invhide_missing invhide_thread_subject 208*0b0f0992SBram Moolenaar \ invhide_top_limited invhide_top_missing invhistory_remove_dups 209*0b0f0992SBram Moolenaar \ invhonor_disposition invidn_decode invidn_encode 210*0b0f0992SBram Moolenaar \ invignore_linear_white_space invignore_list_reply_to 211*0b0f0992SBram Moolenaar \ invimap_check_subscribed invimap_list_subscribed invimap_passive 212*0b0f0992SBram Moolenaar \ invimap_peek invimap_servernoise invimplicit_autoview invinclude_onlyfirst 213*0b0f0992SBram Moolenaar \ invkeep_flagged invmail_check_recent invmail_check_stats invmailcap_sanitize 214*0b0f0992SBram Moolenaar \ invmaildir_check_cur invmaildir_header_cache_verify invmaildir_trash 215*0b0f0992SBram Moolenaar \ invmark_old invmarkers invmenu_move_off invmenu_scroll 216*0b0f0992SBram Moolenaar \ invmessage_cache_clean invmeta_key invmetoo invmh_purge 217*0b0f0992SBram Moolenaar \ invmime_forward_decode invmime_type_query_first invnarrow_tree invpager_stop 218*0b0f0992SBram Moolenaar \ invpgp_auto_decode invpgp_auto_traditional invpgp_autoencrypt 219*0b0f0992SBram Moolenaar \ invpgp_autoinline invpgp_autosign invpgp_check_exit 220*0b0f0992SBram Moolenaar \ invpgp_create_traditional invpgp_ignore_subkeys invpgp_long_ids 221*0b0f0992SBram Moolenaar \ invpgp_replyencrypt invpgp_replyinline invpgp_replysign 222*0b0f0992SBram Moolenaar \ invpgp_replysignencrypted invpgp_retainable_sigs invpgp_self_encrypt 223*0b0f0992SBram Moolenaar \ invpgp_self_encrypt_as invpgp_show_unusable invpgp_strict_enc 224*0b0f0992SBram Moolenaar \ invpgp_use_gpg_agent invpipe_decode invpipe_split invpop_auth_try_all 225*0b0f0992SBram Moolenaar \ invpop_last invpostpone_encrypt invpostpone_encrypt_as invprint_decode 226*0b0f0992SBram Moolenaar \ invprint_split invprompt_after invread_only invreflow_space_quotes 227*0b0f0992SBram Moolenaar \ invreflow_text invreflow_wrap invreply_self invresolve invresume_draft_files 228*0b0f0992SBram Moolenaar \ invresume_edited_draft_files invreverse_alias invreverse_name 229*0b0f0992SBram Moolenaar \ invreverse_realname invrfc2047_parameters invsave_address invsave_empty 230*0b0f0992SBram Moolenaar \ invsave_name invscore invsidebar_folder_indent invsidebar_new_mail_only 231*0b0f0992SBram Moolenaar \ invsidebar_next_new_wrap invsidebar_short_path invsidebar_sort 232*0b0f0992SBram Moolenaar \ invsidebar_visible invsig_dashes invsig_on_top invsmart_wrap 233*0b0f0992SBram Moolenaar \ invsmime_ask_cert_label invsmime_decrypt_use_default_key invsmime_is_default 234*0b0f0992SBram Moolenaar \ invsmime_self_encrypt invsmime_self_encrypt_as invsort_re invssl_force_tls 235*0b0f0992SBram Moolenaar \ invssl_use_sslv2 invssl_use_sslv3 invssl_use_tlsv1 invssl_usesystemcerts 236*0b0f0992SBram Moolenaar \ invssl_verify_dates invssl_verify_host invssl_verify_partial_chains 237*0b0f0992SBram Moolenaar \ invstatus_on_top invstrict_mime invstrict_threads invsuspend invtext_flowed 238*0b0f0992SBram Moolenaar \ invthorough_search invthread_received invtilde invts_enabled 239*0b0f0992SBram Moolenaar \ invuncollapse_jump invuse_8bitmime invuse_domain invuse_envelope_from 240*0b0f0992SBram Moolenaar \ invuse_from invuse_idn invuse_ipv6 invuncollapse_new invuser_agent 241*0b0f0992SBram Moolenaar \ invwait_key invweed invwrap_search invwrite_bcc 242e4a3bcf2SBram Moolenaar \ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 243071d4279SBram Moolenaar 244e4a3bcf2SBram Moolenaarsyn keyword muttrcVarQuad skipwhite contained 245*0b0f0992SBram Moolenaar \ abort_nosubject abort_unmodified abort_noattach bounce copy crypt_verify_sig 246*0b0f0992SBram Moolenaar \ delete fcc_attach forward_edit honor_followup_to include mime_forward 247e4a3bcf2SBram Moolenaar \ mime_forward_rest mime_fwd move pgp_mime_auto pgp_verify_sig pop_delete 248e4a3bcf2SBram Moolenaar \ pop_reconnect postpone print quit recall reply_to ssl_starttls 249e4a3bcf2SBram Moolenaar \ nextgroup=muttrcSetQuadAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 250071d4279SBram Moolenaar 251e4a3bcf2SBram Moolenaarsyn keyword muttrcVarQuad skipwhite contained 252*0b0f0992SBram Moolenaar \ noabort_nosubject noabort_unmodified noabort_noattach nobounce nocopy 253*0b0f0992SBram Moolenaar \ nocrypt_verify_sig nodelete nofcc_attach noforward_edit nohonor_followup_to 254*0b0f0992SBram Moolenaar \ noinclude nomime_forward nomime_forward_rest nomime_fwd nomove 255*0b0f0992SBram Moolenaar \ nopgp_mime_auto nopgp_verify_sig nopop_delete nopop_reconnect nopostpone 256*0b0f0992SBram Moolenaar \ noprint noquit norecall noreply_to nossl_starttls 257e4a3bcf2SBram Moolenaar \ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 258071d4279SBram Moolenaar 259e4a3bcf2SBram Moolenaarsyn keyword muttrcVarQuad skipwhite contained 260*0b0f0992SBram Moolenaar \ invabort_nosubject invabort_unmodified invabort_noattach invbounce invcopy 261*0b0f0992SBram Moolenaar \ invcrypt_verify_sig invdelete invfcc_attach invforward_edit 262*0b0f0992SBram Moolenaar \ invhonor_followup_to invinclude invmime_forward invmime_forward_rest 263*0b0f0992SBram Moolenaar \ invmime_fwd invmove invpgp_mime_auto invpgp_verify_sig invpop_delete 264*0b0f0992SBram Moolenaar \ invpop_reconnect invpostpone invprint invquit invrecall invreply_to 265*0b0f0992SBram Moolenaar \ invssl_starttls 266e4a3bcf2SBram Moolenaar \ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 267071d4279SBram Moolenaar 268e4a3bcf2SBram Moolenaarsyn keyword muttrcVarNum skipwhite contained 269*0b0f0992SBram Moolenaar \ connect_timeout error_history history imap_keepalive imap_pipeline_depth 270*0b0f0992SBram Moolenaar \ imap_poll_timeout mail_check mail_check_stats_interval menu_context net_inc 271*0b0f0992SBram Moolenaar \ pager_context pager_index_lines pgp_timeout pop_checkinterval read_inc 272*0b0f0992SBram Moolenaar \ save_history score_threshold_delete score_threshold_flag 273*0b0f0992SBram Moolenaar \ score_threshold_read search_context sendmail_wait sidebar_width sleep_time 274*0b0f0992SBram Moolenaar \ smime_timeout ssl_min_dh_prime_bits time_inc timeout wrap wrap_headers 275*0b0f0992SBram Moolenaar \ wrapmargin write_inc 276e4a3bcf2SBram Moolenaar \ nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 2779de99979SBram Moolenaar 2789de99979SBram Moolenaarsyn match muttrcFormatErrors contained /%./ 279446cb837SBram Moolenaar 280446cb837SBram Moolenaarsyn match muttrcStrftimeEscapes contained /%[AaBbCcDdeFGgHhIjklMmnpRrSsTtUuVvWwXxYyZz+%]/ 281446cb837SBram Moolenaarsyn match muttrcStrftimeEscapes contained /%E[cCxXyY]/ 282446cb837SBram Moolenaarsyn match muttrcStrftimeEscapes contained /%O[BdeHImMSuUVwWy]/ 283446cb837SBram Moolenaar 2849de99979SBram Moolenaarsyn region muttrcIndexFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 2859de99979SBram Moolenaarsyn region muttrcIndexFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 2869de99979SBram Moolenaarsyn region muttrcQueryFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 2879de99979SBram Moolenaarsyn region muttrcAliasFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 2889de99979SBram Moolenaarsyn region muttrcAliasFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 2899de99979SBram Moolenaarsyn region muttrcAttachFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 2909de99979SBram Moolenaarsyn region muttrcAttachFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 2919de99979SBram Moolenaarsyn region muttrcComposeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 2929de99979SBram Moolenaarsyn region muttrcComposeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 2939de99979SBram Moolenaarsyn region muttrcFolderFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 2949de99979SBram Moolenaarsyn region muttrcFolderFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 2959de99979SBram Moolenaarsyn region muttrcMixFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 2969de99979SBram Moolenaarsyn region muttrcMixFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 2979de99979SBram Moolenaarsyn region muttrcPGPFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 2989de99979SBram Moolenaarsyn region muttrcPGPFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 2999de99979SBram Moolenaarsyn region muttrcPGPCmdFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 3009de99979SBram Moolenaarsyn region muttrcPGPCmdFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 3019de99979SBram Moolenaarsyn region muttrcStatusFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 3029de99979SBram Moolenaarsyn region muttrcStatusFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 3039de99979SBram Moolenaarsyn region muttrcPGPGetKeysFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 3049de99979SBram Moolenaarsyn region muttrcPGPGetKeysFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 3059de99979SBram Moolenaarsyn region muttrcSmimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 3069de99979SBram Moolenaarsyn region muttrcSmimeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 3079de99979SBram Moolenaarsyn region muttrcStrftimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 3089de99979SBram Moolenaarsyn region muttrcStrftimeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 309446cb837SBram Moolenaar 310446cb837SBram Moolenaar" The following info was pulled from hdr_format_str in hdrline.c 311446cb837SBram Moolenaarsyn match muttrcIndexFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[aAbBcCdDeEfFHilLmMnNOPsStTuvXyYZ%]/ 3129de99979SBram Moolenaarsyn match muttrcIndexFormatEscapes contained /%[>|*]./ 313446cb837SBram Moolenaarsyn match muttrcIndexFormatConditionals contained /%?[EFHlLMNOXyY]?/ nextgroup=muttrcFormatConditionals2 314446cb837SBram Moolenaar" The following info was pulled from alias_format_str in addrbook.c 315446cb837SBram Moolenaarsyn match muttrcAliasFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[afnrt%]/ 316c236c16dSBram Moolenaar" The following info was pulled from query_format_str in query.c 317c236c16dSBram Moolenaarsyn match muttrcQueryFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[acent%]/ 318c236c16dSBram Moolenaarsyn match muttrcQueryFormatConditionals contained /%?[e]?/ nextgroup=muttrcFormatConditionals2 319446cb837SBram Moolenaar" The following info was pulled from mutt_attach_fmt in recvattach.c 320*0b0f0992SBram Moolenaarsyn match muttrcAttachFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[CcDdeFfImMnQstTuX%]/ 321446cb837SBram Moolenaarsyn match muttrcAttachFormatEscapes contained /%[>|*]./ 322446cb837SBram Moolenaarsyn match muttrcAttachFormatConditionals contained /%?[CcdDefInmMQstTuX]?/ nextgroup=muttrcFormatConditionals2 323446cb837SBram Moolenaarsyn match muttrcFormatConditionals2 contained /[^?]*?/ 324446cb837SBram Moolenaar" The following info was pulled from compose_format_str in compose.c 325446cb837SBram Moolenaarsyn match muttrcComposeFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[ahlv%]/ 326446cb837SBram Moolenaarsyn match muttrcComposeFormatEscapes contained /%[>|*]./ 327446cb837SBram Moolenaar" The following info was pulled from folder_format_str in browser.c 3289de99979SBram Moolenaarsyn match muttrcFolderFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[CDdfFglNstu%]/ 329446cb837SBram Moolenaarsyn match muttrcFolderFormatEscapes contained /%[>|*]./ 330446cb837SBram Moolenaarsyn match muttrcFolderFormatConditionals contained /%?[N]?/ 331446cb837SBram Moolenaar" The following info was pulled from mix_entry_fmt in remailer.c 332446cb837SBram Moolenaarsyn match muttrcMixFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[ncsa%]/ 333446cb837SBram Moolenaarsyn match muttrcMixFormatConditionals contained /%?[ncsa]?/ 334446cb837SBram Moolenaar" The following info was pulled from crypt_entry_fmt in crypt-gpgme.c 335446cb837SBram Moolenaar" and pgp_entry_fmt in pgpkey.c (note that crypt_entry_fmt supports 336446cb837SBram Moolenaar" 'p', but pgp_entry_fmt does not). 337446cb837SBram Moolenaarsyn match muttrcPGPFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[nkualfctp%]/ 338446cb837SBram Moolenaarsyn match muttrcPGPFormatConditionals contained /%?[nkualfct]?/ 339446cb837SBram Moolenaar" The following info was pulled from _mutt_fmt_pgp_command in 340446cb837SBram Moolenaar" pgpinvoke.c 341446cb837SBram Moolenaarsyn match muttrcPGPCmdFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[pfsar%]/ 342446cb837SBram Moolenaarsyn match muttrcPGPCmdFormatConditionals contained /%?[pfsar]?/ nextgroup=muttrcFormatConditionals2 343446cb837SBram Moolenaar" The following info was pulled from status_format_str in status.c 344*0b0f0992SBram Moolenaarsyn match muttrcStatusFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[bdfFhlLmMnopPRrsStuvV%]/ 345446cb837SBram Moolenaarsyn match muttrcStatusFormatEscapes contained /%[>|*]./ 346446cb837SBram Moolenaarsyn match muttrcStatusFormatConditionals contained /%?[bdFlLmMnoptuV]?/ nextgroup=muttrcFormatConditionals2 347446cb837SBram Moolenaar" This matches the documentation, but directly contradicts the code 348446cb837SBram Moolenaar" (according to the code, this should be identical to the 349446cb837SBram Moolenaar" muttrcPGPCmdFormatEscapes 350446cb837SBram Moolenaarsyn match muttrcPGPGetKeysFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[r%]/ 351446cb837SBram Moolenaar" The following info was pulled from _mutt_fmt_smime_command in 352446cb837SBram Moolenaar" smime.c 353446cb837SBram Moolenaarsyn match muttrcSmimeFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[Cciskaf%]/ 354446cb837SBram Moolenaarsyn match muttrcSmimeFormatConditionals contained /%?[Cciskaf]?/ nextgroup=muttrcFormatConditionals2 355446cb837SBram Moolenaar 356446cb837SBram Moolenaarsyn region muttrcTimeEscapes contained start=+%{+ end=+}+ contains=muttrcStrftimeEscapes 357446cb837SBram Moolenaarsyn region muttrcTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes 358446cb837SBram Moolenaarsyn region muttrcTimeEscapes contained start=+%(+ end=+)+ contains=muttrcStrftimeEscapes 359446cb837SBram Moolenaarsyn region muttrcTimeEscapes contained start=+%<+ end=+>+ contains=muttrcStrftimeEscapes 360446cb837SBram Moolenaarsyn region muttrcPGPTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes 361446cb837SBram Moolenaar 3629de99979SBram Moolenaarsyn keyword muttrcVarStr contained skipwhite attribution index_format message_format pager_format nextgroup=muttrcVarEqualsIdxFmt 3639de99979SBram Moolenaarsyn match muttrcVarEqualsIdxFmt contained skipwhite "=" nextgroup=muttrcIndexFormatStr 3649de99979SBram Moolenaarsyn keyword muttrcVarStr contained skipwhite alias_format nextgroup=muttrcVarEqualsAliasFmt 3659de99979SBram Moolenaarsyn match muttrcVarEqualsAliasFmt contained skipwhite "=" nextgroup=muttrcAliasFormatStr 3669de99979SBram Moolenaarsyn keyword muttrcVarStr contained skipwhite attach_format nextgroup=muttrcVarEqualsAttachFmt 3679de99979SBram Moolenaarsyn match muttrcVarEqualsAttachFmt contained skipwhite "=" nextgroup=muttrcAttachFormatStr 3689de99979SBram Moolenaarsyn keyword muttrcVarStr contained skipwhite compose_format nextgroup=muttrcVarEqualsComposeFmt 3699de99979SBram Moolenaarsyn match muttrcVarEqualsComposeFmt contained skipwhite "=" nextgroup=muttrcComposeFormatStr 3709de99979SBram Moolenaarsyn keyword muttrcVarStr contained skipwhite folder_format nextgroup=muttrcVarEqualsFolderFmt 3719de99979SBram Moolenaarsyn match muttrcVarEqualsFolderFmt contained skipwhite "=" nextgroup=muttrcFolderFormatStr 3729de99979SBram Moolenaarsyn keyword muttrcVarStr contained skipwhite mix_entry_format nextgroup=muttrcVarEqualsMixFmt 3739de99979SBram Moolenaarsyn match muttrcVarEqualsMixFmt contained skipwhite "=" nextgroup=muttrcMixFormatStr 3749de99979SBram Moolenaarsyn keyword muttrcVarStr contained skipwhite pgp_entry_format nextgroup=muttrcVarEqualsPGPFmt 3759de99979SBram Moolenaarsyn match muttrcVarEqualsPGPFmt contained skipwhite "=" nextgroup=muttrcPGPFormatStr 3769de99979SBram Moolenaarsyn keyword muttrcVarStr contained skipwhite query_format nextgroup=muttrcVarEqualsQueryFmt 3779de99979SBram Moolenaarsyn match muttrcVarEqualsQueryFmt contained skipwhite "=" nextgroup=muttrcQueryFormatStr 3789de99979SBram Moolenaarsyn 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 3799de99979SBram Moolenaarsyn match muttrcVarEqualsPGPCmdFmt contained skipwhite "=" nextgroup=muttrcPGPCmdFormatStr 380e4a3bcf2SBram Moolenaarsyn keyword muttrcVarStr contained skipwhite ts_icon_format ts_status_format status_format nextgroup=muttrcVarEqualsStatusFmt 3819de99979SBram Moolenaarsyn match muttrcVarEqualsStatusFmt contained skipwhite "=" nextgroup=muttrcStatusFormatStr 3829de99979SBram Moolenaarsyn keyword muttrcVarStr contained skipwhite pgp_getkeys_command nextgroup=muttrcVarEqualsPGPGetKeysFmt 3839de99979SBram Moolenaarsyn match muttrcVarEqualsPGPGetKeysFmt contained skipwhite "=" nextgroup=muttrcPGPGetKeysFormatStr 3849de99979SBram Moolenaarsyn 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 3859de99979SBram Moolenaarsyn match muttrcVarEqualsSmimeFmt contained skipwhite "=" nextgroup=muttrcSmimeFormatStr 3869de99979SBram Moolenaarsyn keyword muttrcVarStr contained skipwhite date_format nextgroup=muttrcVarEqualsStrftimeFmt 3879de99979SBram Moolenaarsyn match muttrcVarEqualsStrftimeFmt contained skipwhite "=" nextgroup=muttrcStrftimeFormatStr 388071d4279SBram Moolenaar 3899de99979SBram Moolenaarsyn match muttrcVPrefix contained /[?&]/ nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 3909de99979SBram Moolenaar 3919de99979SBram Moolenaarsyn match muttrcVarStr contained skipwhite 'my_[a-zA-Z0-9_]\+' nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 392e4a3bcf2SBram Moolenaarsyn keyword muttrcVarStr contained skipwhite 393*0b0f0992SBram Moolenaar \ abort_noattach_regexp alias_file assumed_charset attach_charset attach_sep 394*0b0f0992SBram Moolenaar \ attribution_locale certificate_file charset config_charset content_type 395*0b0f0992SBram Moolenaar \ default_hook display_filter dotlock_program dsn_notify dsn_return editor 396*0b0f0992SBram Moolenaar \ entropy_file envelope_from_address escape folder forw_format 397*0b0f0992SBram Moolenaar \ forward_attribution_intro forward_attribution_trailer forward_format from gecos_mask 398*0b0f0992SBram Moolenaar \ hdr_format header_cache header_cache_compress header_cache_pagesize history_file 399*0b0f0992SBram Moolenaar \ hostname imap_authenticators imap_delim_chars imap_headers imap_idle imap_login 400*0b0f0992SBram Moolenaar \ imap_pass imap_user indent_str indent_string ispell locale mailcap_path 401*0b0f0992SBram Moolenaar \ mark_macro_prefix mask mbox mbox_type message_cachedir mh_seq_flagged mh_seq_replied 402*0b0f0992SBram Moolenaar \ mh_seq_unseen mime_type_query_command mixmaster msg_format new_mail_command pager 403*0b0f0992SBram Moolenaar \ pgp_default_key pgp_decryption_okay pgp_good_sign pgp_mime_signature_description 404*0b0f0992SBram Moolenaar \ pgp_mime_signature_filename pgp_sign_as pgp_sort_keys pipe_sep pop_authenticators 405*0b0f0992SBram Moolenaar \ pop_host pop_pass pop_user post_indent_str post_indent_string postpone_encrypt_as 406*0b0f0992SBram Moolenaar \ postponed preconnect print_cmd print_command query_command quote_regexp realname 407*0b0f0992SBram Moolenaar \ record reply_regexp send_charset sendmail shell sidebar_delim sidebar_delim_chars 408e4a3bcf2SBram Moolenaar \ sidebar_divider_char sidebar_format sidebar_indent_string sidebar_sort_method 409e4a3bcf2SBram Moolenaar \ signature simple_search smileys smime_ca_location smime_certificates 410*0b0f0992SBram Moolenaar \ smime_default_key smime_encrypt_with smime_keys smime_sign_as smime_sign_digest_alg 411*0b0f0992SBram Moolenaar \ smtp_authenticators smtp_pass smtp_url sort sort_alias sort_aux sort_browser 412*0b0f0992SBram Moolenaar \ spam_separator spoolfile ssl_ca_certificates_file ssl_ciphers ssl_client_cert 413*0b0f0992SBram Moolenaar \ status_chars tmpdir to_chars trash ts_icon_format ts_status_format tunnel visual 414e4a3bcf2SBram Moolenaar \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 415f9393ef5SBram Moolenaar 416f9393ef5SBram Moolenaar" Present in 1.4.2.1 (pgp_create_traditional was a bool then) 4179de99979SBram Moolenaarsyn keyword muttrcVarBool contained skipwhite imap_force_ssl noimap_force_ssl invimap_force_ssl nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 418f9393ef5SBram Moolenaar"syn keyword muttrcVarQuad contained pgp_create_traditional nopgp_create_traditional invpgp_create_traditional 4199de99979SBram Moolenaarsyn keyword muttrcVarStr contained skipwhite alternates nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 420071d4279SBram Moolenaar 421071d4279SBram Moolenaarsyn keyword muttrcMenu contained alias attach browser compose editor index pager postpone pgp mix query generic 422f9393ef5SBram Moolenaarsyn match muttrcMenuList "\S\+" contained contains=muttrcMenu 423f9393ef5SBram Moolenaarsyn match muttrcMenuCommas /,/ contained 424071d4279SBram Moolenaar 4259de99979SBram Moolenaarsyn 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 4269de99979SBram Moolenaar 427e4a3bcf2SBram Moolenaarsyn keyword muttrcCommand skipwhite 428e4a3bcf2SBram Moolenaar \ alternative_order auto_view exec hdr_order iconv-hook ignore mailboxes 429e4a3bcf2SBram Moolenaar \ mailto_allow mime_lookup my_hdr pgp-hook push score sidebar_whitelist source 430e4a3bcf2SBram Moolenaar \ unalternative_order unalternative_order unauto_view ungroup unhdr_order 431e4a3bcf2SBram Moolenaar \ unignore unmailboxes unmailto_allow unmime_lookup unmono unmy_hdr unscore 432*0b0f0992SBram Moolenaar \ unsidebar_whitelist 4339de99979SBram Moolenaarsyn keyword muttrcCommand skipwhite charset-hook nextgroup=muttrcRXString 4349de99979SBram Moolenaarsyn keyword muttrcCommand skipwhite unhook nextgroup=muttrcHooks 435f9393ef5SBram Moolenaar 4369de99979SBram Moolenaarsyn keyword muttrcCommand skipwhite spam nextgroup=muttrcSpamPattern 4379de99979SBram Moolenaarsyn region muttrcSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL 4389de99979SBram Moolenaarsyn region muttrcSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL 4399de99979SBram Moolenaar 4409de99979SBram Moolenaarsyn keyword muttrcCommand skipwhite nospam nextgroup=muttrcNoSpamPattern 4419de99979SBram Moolenaarsyn region muttrcNoSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern 4429de99979SBram Moolenaarsyn region muttrcNoSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern 4439964e468SBram Moolenaar 444f9393ef5SBram Moolenaarsyn match muttrcAttachmentsMimeType contained "[*a-z0-9_-]\+/[*a-z0-9._-]\+\s*" skipwhite nextgroup=muttrcAttachmentsMimeType 445f9393ef5SBram Moolenaarsyn match muttrcAttachmentsFlag contained "[+-]\%([AI]\|inline\|attachment\)\s\+" skipwhite nextgroup=muttrcAttachmentsMimeType 446f9393ef5SBram Moolenaarsyn match muttrcAttachmentsLine "^\s*\%(un\)\?attachments\s\+" skipwhite nextgroup=muttrcAttachmentsFlag 447f9393ef5SBram Moolenaar 448f9393ef5SBram Moolenaarsyn match muttrcUnHighlightSpace contained "\%(\s\+\|\\$\)" 449f9393ef5SBram Moolenaar 4509de99979SBram Moolenaarsyn keyword muttrcAsterisk contained * 4519de99979SBram Moolenaarsyn keyword muttrcListsKeyword lists skipwhite nextgroup=muttrcGroupDef,muttrcComment 4529de99979SBram Moolenaarsyn keyword muttrcListsKeyword unlists skipwhite nextgroup=muttrcAsterisk,muttrcComment 453f9393ef5SBram Moolenaar 4549de99979SBram Moolenaarsyn keyword muttrcSubscribeKeyword subscribe nextgroup=muttrcGroupDef,muttrcComment 4559de99979SBram Moolenaarsyn keyword muttrcSubscribeKeyword unsubscribe nextgroup=muttrcAsterisk,muttrcComment 456f9393ef5SBram Moolenaar 457f9393ef5SBram Moolenaarsyn keyword muttrcAlternateKeyword contained alternates unalternates 458f9393ef5SBram Moolenaarsyn region muttrcAlternatesLine keepend start=+^\s*\%(un\)\?alternates\s+ skip=+\\$+ end=+$+ contains=muttrcAlternateKeyword,muttrcGroupDef,muttrcRXPat,muttrcUnHighlightSpace,muttrcComment 459f9393ef5SBram Moolenaar 460b8ff1fb5SBram Moolenaar" muttrcVariable includes a prefix because partial strings are considered 461b8ff1fb5SBram Moolenaar" valid. 462b8ff1fb5SBram Moolenaarsyn match muttrcVariable contained "\\\@<![a-zA-Z_-]*\$[a-zA-Z_-]\+" contains=muttrcVariableInner 463b8ff1fb5SBram Moolenaarsyn match muttrcVariableInner contained "\$[a-zA-Z_-]\+" 4649de99979SBram Moolenaarsyn match muttrcEscapedVariable contained "\\\$[a-zA-Z_-]\+" 465f9393ef5SBram Moolenaar 466f9393ef5SBram Moolenaarsyn match muttrcBadAction contained "[^<>]\+" contains=muttrcEmail 467*0b0f0992SBram Moolenaarsyn match muttrcFunction contained "\<\%(attach\|bounce\|copy\|delete\|display\|flag\|forward\|mark\|parent\|pipe\|postpone\|print\|purge\|recall\|resend\|root\|save\|send\|tag\|undelete\)-message\>" 4689de99979SBram Moolenaarsyn match muttrcFunction contained "\<\%(delete\|next\|previous\|read\|tag\|break\|undelete\)-thread\>" 4699de99979SBram Moolenaarsyn match muttrcFunction contained "\<link-threads\>" 470f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<\%(backward\|capitalize\|downcase\|forward\|kill\|upcase\)-word\>" 471f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<\%(delete\|filter\|first\|last\|next\|pipe\|previous\|print\|save\|select\|tag\|undelete\)-entry\>" 472f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<attach-\%(file\|key\)\>" 473f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<change-\%(dir\|folder\|folder-readonly\)\>" 474f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<check-\%(new\|traditional-pgp\)\>" 475f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<current-\%(bottom\|middle\|top\)\>" 476f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<decode-\%(copy\|save\)\>" 477f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<delete-\%(char\|pattern\|subthread\)\>" 478f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<display-\%(address\|toggle-weed\)\>" 479*0b0f0992SBram Moolenaarsyn match muttrcFunction contained "\<echo\>" 480*0b0f0992SBram Moolenaarsyn match muttrcFunction contained "\<edit\%(-\%(bcc\|cc\|description\|encoding\|fcc\|file\|from\|headers\|label\|mime\|reply-to\|subject\|to\|type\)\)\?\>" 481f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<enter-\%(command\|mask\)\>" 482*0b0f0992SBram Moolenaarsyn match muttrcFunction contained "\<error-history\>" 483f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<half-\%(up\|down\)\>" 484*0b0f0992SBram Moolenaarsyn match muttrcFunction contained "\<history-\%(up\|down\|search\)\>" 485f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<kill-\%(eol\|eow\|line\)\>" 4869de99979SBram Moolenaarsyn match muttrcFunction contained "\<next-\%(line\|new\%(-then-unread\)\?\|page\|subthread\|undeleted\|unread\|unread-mailbox\)\>" 4879de99979SBram Moolenaarsyn match muttrcFunction contained "\<previous-\%(line\|new\%(-then-unread\)\?\|page\|subthread\|undeleted\|unread\)\>" 488f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<search\%(-\%(next\|opposite\|reverse\|toggle\)\)\?\>" 489f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<show-\%(limit\|version\)\>" 490f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<sort-\%(mailbox\|reverse\)\>" 4919de99979SBram Moolenaarsyn match muttrcFunction contained "\<tag-\%(pattern\|\%(sub\)\?thread\|prefix\%(-cond\)\?\)\>" 4929de99979SBram Moolenaarsyn match muttrcFunction contained "\<end-cond\>" 493e4a3bcf2SBram Moolenaarsyn match muttrcFunction contained "\<sidebar-\%(next\|next-new\|open\|page-down\|page-up\|prev\|prev-new\|toggle-visible\)\>" 494f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<toggle-\%(mailboxes\|new\|quoted\|subscribed\|unlink\|write\)\>" 495f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<undelete-\%(pattern\|subthread\)\>" 496f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<collapse-\%(parts\|thread\|all\)\>" 497*0b0f0992SBram Moolenaarsyn match muttrcFunction contained "\<rename-attachment\>" 498*0b0f0992SBram Moolenaarsyn match muttrcFunction contained "\<subjectrx\>" 499*0b0f0992SBram Moolenaarsyn match muttrcFunction contained "\<\%(un\)\?setenv\>" 500f9393ef5SBram Moolenaarsyn match muttrcFunction contained "\<view-\%(attach\|attachments\|file\|mailcap\|name\|text\)\>" 5019964e468SBram Moolenaarsyn 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\)\>" 502e4a3bcf2SBram Moolenaarsyn keyword muttrcFunction contained imap-logout-all 503b8ff1fb5SBram Moolenaarif use_mutt_sidebar == 1 504b8ff1fb5SBram Moolenaar syn match muttrcFunction contained "\<sidebar-\%(prev\|next\|open\|scroll-up\|scroll-down\)" 505b8ff1fb5SBram Moolenaarendif 506f9393ef5SBram Moolenaarsyn match muttrcAction contained "<[^>]\{-}>" contains=muttrcBadAction,muttrcFunction,muttrcKeyName 507071d4279SBram Moolenaar 5089de99979SBram Moolenaarsyn keyword muttrcCommand set skipwhite nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 5099de99979SBram Moolenaarsyn keyword muttrcCommand unset skipwhite nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 5109de99979SBram Moolenaarsyn keyword muttrcCommand reset skipwhite nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 5119de99979SBram Moolenaarsyn keyword muttrcCommand toggle skipwhite nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 512071d4279SBram Moolenaar 513f9393ef5SBram Moolenaar" First, functions that take regular expressions: 5149de99979SBram Moolenaarsyn match muttrcRXHookNot contained /!\s*/ skipwhite nextgroup=muttrcRXHookString,muttrcRXHookStringNL 5159de99979SBram Moolenaarsyn match muttrcRXHooks /\<\%(account\|folder\)-hook\>/ skipwhite nextgroup=muttrcRXHookNot,muttrcRXHookString,muttrcRXHookStringNL 516071d4279SBram Moolenaar 517f9393ef5SBram Moolenaar" Now, functions that take patterns 518f9393ef5SBram Moolenaarsyn match muttrcPatHookNot contained /!\s*/ skipwhite nextgroup=muttrcPattern 5199de99979SBram Moolenaarsyn match muttrcPatHooks /\<\%(mbox\|crypt\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcPattern 5209de99979SBram Moolenaarsyn match muttrcPatHooks /\<\%(message\|reply\|send\|send2\|save\|\|fcc\%(-save\)\?\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcOptPattern 521071d4279SBram Moolenaar 5229de99979SBram Moolenaarsyn match muttrcBindFunction contained /\S\+\>/ skipwhite contains=muttrcFunction 523f9393ef5SBram Moolenaarsyn match muttrcBindFunctionNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindFunction,muttrcBindFunctionNL 524f9393ef5SBram Moolenaarsyn match muttrcBindKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcBindFunction,muttrcBindFunctionNL 525f9393ef5SBram Moolenaarsyn match muttrcBindKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindKey,muttrcBindKeyNL 526f9393ef5SBram Moolenaarsyn match muttrcBindMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcBindKey,muttrcBindKeyNL 527f9393ef5SBram Moolenaarsyn match muttrcBindMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindMenuList,muttrcBindMenuListNL 5289de99979SBram Moolenaarsyn keyword muttrcCommand skipwhite bind nextgroup=muttrcBindMenuList,muttrcBindMenuListNL 529f9393ef5SBram Moolenaar 5309964e468SBram Moolenaarsyn region muttrcMacroDescr contained keepend skipwhite start=+\s*\S+ms=e skip=+\\ + end=+ \|$+me=s 5319964e468SBram Moolenaarsyn region muttrcMacroDescr contained keepend skipwhite start=+'+ms=e skip=+\\'+ end=+'+me=s 5329964e468SBram Moolenaarsyn region muttrcMacroDescr contained keepend skipwhite start=+"+ms=e skip=+\\"+ end=+"+me=s 5339964e468SBram Moolenaarsyn match muttrcMacroDescrNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroDescr,muttrcMacroDescrNL 5349964e468SBram Moolenaarsyn region muttrcMacroBody contained skipwhite start="\S" skip='\\ \|\\$' end=' \|$' contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction nextgroup=muttrcMacroDescr,muttrcMacroDescrNL 5359de99979SBram Moolenaarsyn 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 5369de99979SBram Moolenaarsyn 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 5379964e468SBram Moolenaarsyn match muttrcMacroBodyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroBody,muttrcMacroBodyNL 5389964e468SBram Moolenaarsyn match muttrcMacroKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcMacroBody,muttrcMacroBodyNL 539f9393ef5SBram Moolenaarsyn match muttrcMacroKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroKey,muttrcMacroKeyNL 540f9393ef5SBram Moolenaarsyn match muttrcMacroMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcMacroKey,muttrcMacroKeyNL 541f9393ef5SBram Moolenaarsyn match muttrcMacroMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL 5429de99979SBram Moolenaarsyn keyword muttrcCommand skipwhite macro nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL 543f9393ef5SBram Moolenaar 544f9393ef5SBram Moolenaarsyn match muttrcAddrContent contained "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+\s*" skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent 545f9393ef5SBram Moolenaarsyn region muttrcAddrContent contained start=+'+ end=+'\s*+ skip=+\\'+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent 546f9393ef5SBram Moolenaarsyn region muttrcAddrContent contained start=+"+ end=+"\s*+ skip=+\\"+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent 547f9393ef5SBram Moolenaarsyn match muttrcAddrDef contained "-addr\s\+" skipwhite nextgroup=muttrcAddrContent 548f9393ef5SBram Moolenaar 549f9393ef5SBram Moolenaarsyn match muttrcGroupFlag contained "-group" 550f9393ef5SBram Moolenaarsyn region muttrcGroupDef contained start="-group\s\+" skip="\\$" end="\s" skipwhite keepend contains=muttrcGroupFlag,muttrcUnHighlightSpace 551f9393ef5SBram Moolenaar 552f9393ef5SBram Moolenaarsyn keyword muttrcGroupKeyword contained group ungroup 553f9393ef5SBram Moolenaarsyn region muttrcGroupLine keepend start=+^\s*\%(un\)\?group\s+ skip=+\\$+ end=+$+ contains=muttrcGroupKeyword,muttrcGroupDef,muttrcAddrDef,muttrcRXDef,muttrcUnHighlightSpace,muttrcComment 554f9393ef5SBram Moolenaar 5559964e468SBram Moolenaarsyn match muttrcAliasGroupName contained /\w\+/ skipwhite nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL 556f9393ef5SBram Moolenaarsyn match muttrcAliasGroupDefNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL 557f9393ef5SBram Moolenaarsyn match muttrcAliasGroupDef contained /\s*-group/ skipwhite nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL contains=muttrcGroupFlag 5589964e468SBram Moolenaarsyn match muttrcAliasComma contained /,/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL 5599964e468SBram Moolenaarsyn match muttrcAliasEmail contained /\S\+@\S\+/ contains=muttrcEmail nextgroup=muttrcAliasName,muttrcAliasNameNL skipwhite 5609964e468SBram Moolenaarsyn match muttrcAliasEncEmail contained /<[^>]\+>/ contains=muttrcEmail nextgroup=muttrcAliasComma 561f9393ef5SBram Moolenaarsyn match muttrcAliasEncEmailNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL 562f9393ef5SBram Moolenaarsyn match muttrcAliasNameNoParens contained /[^<(@]\+\s\+/ nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL 563f9393ef5SBram Moolenaarsyn region muttrcAliasName contained matchgroup=Type start=/(/ end=/)/ skipwhite 564f9393ef5SBram Moolenaarsyn match muttrcAliasNameNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasName,muttrcAliasNameNL 5659964e468SBram Moolenaarsyn match muttrcAliasENNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL 5669964e468SBram Moolenaarsyn match muttrcAliasKey contained /\s*[^- \t]\S\+/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL 5679964e468SBram Moolenaarsyn match muttrcAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL 5689de99979SBram Moolenaarsyn keyword muttrcCommand skipwhite alias nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL 569f9393ef5SBram Moolenaar 5709964e468SBram Moolenaarsyn match muttrcUnAliasKey contained "\s*\w\+\s*" skipwhite nextgroup=muttrcUnAliasKey,muttrcUnAliasNL 5719964e468SBram Moolenaarsyn match muttrcUnAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcUnAliasKey,muttrcUnAliasNL 5729de99979SBram Moolenaarsyn keyword muttrcCommand skipwhite unalias nextgroup=muttrcUnAliasKey,muttrcUnAliasNL 573f9393ef5SBram Moolenaar 574f9393ef5SBram Moolenaarsyn match muttrcSimplePat contained "!\?\^\?[~][ADEFgGklNOpPQRSTuUvV=$]" 5759de99979SBram Moolenaarsyn match muttrcSimplePat contained "!\?\^\?[~][mnXz]\s*\%([<>-][0-9]\+[kM]\?\|[0-9]\+[kM]\?[-]\%([0-9]\+[kM]\?\)\?\)" 5769de99979SBram Moolenaarsyn 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 5779de99979SBram Moolenaarsyn match muttrcSimplePat contained "!\?\^\?[~][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatRXContainer 5789de99979SBram Moolenaarsyn match muttrcSimplePat contained "!\?\^\?[%][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString 579b8ff1fb5SBram Moolenaarsyn match muttrcSimplePat contained "!\?\^\?[=][bcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString 580446cb837SBram Moolenaarsyn region muttrcSimplePat contained keepend start=+!\?\^\?[~](+ end=+)+ contains=muttrcSimplePat 5819de99979SBram Moolenaar"syn match muttrcSimplePat contained /'[^~=%][^']*/ contains=muttrcRXString 5829964e468SBram Moolenaarsyn region muttrcSimplePatString contained keepend start=+"+ end=+"+ skip=+\\"+ 5839964e468SBram Moolenaarsyn region muttrcSimplePatString contained keepend start=+'+ end=+'+ skip=+\\'+ 5849de99979SBram Moolenaarsyn region muttrcSimplePatString contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1 5859de99979SBram Moolenaarsyn region muttrcSimplePatRXContainer contained keepend start=+"+ end=+"+ skip=+\\"+ contains=muttrcRXString 5869de99979SBram Moolenaarsyn region muttrcSimplePatRXContainer contained keepend start=+'+ end=+'+ skip=+\\'+ contains=muttrcRXString 5879de99979SBram Moolenaarsyn region muttrcSimplePatRXContainer contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1 contains=muttrcRXString 588f9393ef5SBram Moolenaarsyn match muttrcSimplePatMetas contained /[(|)]/ 589f9393ef5SBram Moolenaar 5909de99979SBram Moolenaarsyn match muttrcOptSimplePat contained skipwhite /[~=%!(^].*/ contains=muttrcSimplePat,muttrcSimplePatMetas 5919de99979SBram Moolenaarsyn match muttrcOptSimplePat contained skipwhite /[^~=%!(^].*/ contains=muttrcRXString 5929de99979SBram Moolenaarsyn region muttrcOptPattern contained matchgroup=Type keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL 5939de99979SBram Moolenaarsyn region muttrcOptPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL 5949de99979SBram Moolenaarsyn region muttrcOptPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL 5959de99979SBram Moolenaarsyn match muttrcOptPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL 5969de99979SBram Moolenaarsyn match muttrcOptPattern contained skipwhite /[.]/ nextgroup=muttrcString,muttrcStringNL 5979de99979SBram Moolenaar" Keep muttrcPattern and muttrcOptPattern synchronized 5989de99979SBram Moolenaarsyn region muttrcPattern contained matchgroup=Type keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas 5999de99979SBram Moolenaarsyn region muttrcPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas 6009de99979SBram Moolenaarsyn region muttrcPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat 601*0b0f0992SBram Moolenaarsyn region muttrcPattern contained keepend skipwhite start=+[~][<>](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat 6029de99979SBram Moolenaarsyn match muttrcPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat 6039de99979SBram Moolenaarsyn match muttrcPattern contained skipwhite /[.]/ 604f9393ef5SBram Moolenaarsyn region muttrcPatternInner contained keepend start=+"[~=%!(^]+ms=s+1 skip=+\\"+ end=+"+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas 605f9393ef5SBram Moolenaarsyn region muttrcPatternInner contained keepend start=+'[~=%!(^]+ms=s+1 skip=+\\'+ end=+'+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas 606071d4279SBram Moolenaar 607071d4279SBram Moolenaar" Colour definitions takes object, foreground and background arguments (regexps excluded). 608f9393ef5SBram Moolenaarsyn match muttrcColorMatchCount contained "[0-9]\+" 609f9393ef5SBram Moolenaarsyn match muttrcColorMatchCountNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL 6109964e468SBram Moolenaarsyn region muttrcColorRXPat contained start=+\s*'+ skip=+\\'+ end=+'\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL 6119964e468SBram Moolenaarsyn region muttrcColorRXPat contained start=+\s*"+ skip=+\\"+ end=+"\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL 612e4a3bcf2SBram Moolenaarsyn keyword muttrcColorField skipwhite contained 613e4a3bcf2SBram Moolenaar \ attachment body bold error hdrdefault header index indicator markers message 614e4a3bcf2SBram Moolenaar \ normal prompt quoted search sidebar-divider sidebar-flagged sidebar-highlight 615e4a3bcf2SBram Moolenaar \ sidebar-indicator sidebar-new sidebar-spoolfile signature status tilde tree 616e4a3bcf2SBram Moolenaar \ underline 617071d4279SBram Moolenaarsyn match muttrcColorField contained "\<quoted\d\=\>" 618b8ff1fb5SBram Moolenaarif use_mutt_sidebar == 1 619b8ff1fb5SBram Moolenaar syn keyword muttrcColorField contained sidebar_new 620b8ff1fb5SBram Moolenaarendif 621f9393ef5SBram Moolenaarsyn keyword muttrcColor contained black blue cyan default green magenta red white yellow 622f9393ef5SBram Moolenaarsyn keyword muttrcColor contained brightblack brightblue brightcyan brightdefault brightgreen brightmagenta brightred brightwhite brightyellow 623b8ff1fb5SBram Moolenaarsyn match muttrcColor contained "\<\%(bright\)\=color\d\{1,3}\>" 624f9393ef5SBram Moolenaar" Now for the structure of the color line 6259964e468SBram Moolenaarsyn match muttrcColorRXNL contained skipnl "\s*\\$" nextgroup=muttrcColorRXPat,muttrcColorRXNL 6269964e468SBram Moolenaarsyn match muttrcColorBG contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorRXPat,muttrcColorRXNL 6279964e468SBram Moolenaarsyn match muttrcColorBGNL contained skipnl "\s*\\$" nextgroup=muttrcColorBG,muttrcColorBGNL 6289964e468SBram Moolenaarsyn match muttrcColorFG contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBG,muttrcColorBGNL 6299964e468SBram Moolenaarsyn match muttrcColorFGNL contained skipnl "\s*\\$" nextgroup=muttrcColorFG,muttrcColorFGNL 6309964e468SBram Moolenaarsyn match muttrcColorContext contained /\s*[$]\?\w\+/ contains=muttrcColorField,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorFG,muttrcColorFGNL 6319964e468SBram Moolenaarsyn match muttrcColorNL contained skipnl "\s*\\$" nextgroup=muttrcColorContext,muttrcColorNL 6329964e468SBram Moolenaarsyn match muttrcColorKeyword contained /^\s*color\s\+/ nextgroup=muttrcColorContext,muttrcColorNL 6339de99979SBram Moolenaarsyn region muttrcColorLine keepend start=/^\s*color\s\+\%(index\|header\)\@!/ skip=+\\$+ end=+$+ contains=muttrcColorKeyword,muttrcComment,muttrcUnHighlightSpace 634f9393ef5SBram Moolenaar" Now for the structure of the color index line 6359964e468SBram Moolenaarsyn match muttrcPatternNL contained skipnl "\s*\\$" nextgroup=muttrcPattern,muttrcPatternNL 6369964e468SBram Moolenaarsyn match muttrcColorBGI contained /\s*[$]\?\w\+\s*/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcPattern,muttrcPatternNL 6379964e468SBram Moolenaarsyn match muttrcColorBGNLI contained skipnl "\s*\\$" nextgroup=muttrcColorBGI,muttrcColorBGNLI 6389964e468SBram Moolenaarsyn match muttrcColorFGI contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBGI,muttrcColorBGNLI 6399964e468SBram Moolenaarsyn match muttrcColorFGNLI contained skipnl "\s*\\$" nextgroup=muttrcColorFGI,muttrcColorFGNLI 6409de99979SBram Moolenaarsyn match muttrcColorContextI contained /\s*\<index\>/ contains=muttrcUnHighlightSpace nextgroup=muttrcColorFGI,muttrcColorFGNLI 6419964e468SBram Moolenaarsyn match muttrcColorNLI contained skipnl "\s*\\$" nextgroup=muttrcColorContextI,muttrcColorNLI 6429de99979SBram Moolenaarsyn match muttrcColorKeywordI contained skipwhite /\<color\>/ nextgroup=muttrcColorContextI,muttrcColorNLI 6439de99979SBram Moolenaarsyn region muttrcColorLine keepend skipwhite start=/\<color\s\+index\>/ skip=+\\$+ end=+$+ contains=muttrcColorKeywordI,muttrcComment,muttrcUnHighlightSpace 6449de99979SBram Moolenaar" Now for the structure of the color header line 6459de99979SBram Moolenaarsyn match muttrcRXPatternNL contained skipnl "\s*\\$" nextgroup=muttrcRXString,muttrcRXPatternNL 6469de99979SBram Moolenaarsyn match muttrcColorBGH contained /\s*[$]\?\w\+\s*/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcRXString,muttrcRXPatternNL 6479de99979SBram Moolenaarsyn match muttrcColorBGNLH contained skipnl "\s*\\$" nextgroup=muttrcColorBGH,muttrcColorBGNLH 6489de99979SBram Moolenaarsyn match muttrcColorFGH contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBGH,muttrcColorBGNLH 6499de99979SBram Moolenaarsyn match muttrcColorFGNLH contained skipnl "\s*\\$" nextgroup=muttrcColorFGH,muttrcColorFGNLH 6509de99979SBram Moolenaarsyn match muttrcColorContextH contained /\s*\<header\>/ contains=muttrcUnHighlightSpace nextgroup=muttrcColorFGH,muttrcColorFGNLH 6519de99979SBram Moolenaarsyn match muttrcColorNLH contained skipnl "\s*\\$" nextgroup=muttrcColorContextH,muttrcColorNLH 6529de99979SBram Moolenaarsyn match muttrcColorKeywordH contained skipwhite /\<color\>/ nextgroup=muttrcColorContextH,muttrcColorNLH 6539de99979SBram Moolenaarsyn region muttrcColorLine keepend skipwhite start=/\<color\s\+header\>/ skip=+\\$+ end=+$+ contains=muttrcColorKeywordH,muttrcComment,muttrcUnHighlightSpace 654f9393ef5SBram Moolenaar" And now color's brother: 655f9393ef5SBram Moolenaarsyn region muttrcUnColorPatterns contained skipwhite start=+\s*'+ end=+'+ skip=+\\'+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL 656f9393ef5SBram Moolenaarsyn region muttrcUnColorPatterns contained skipwhite start=+\s*"+ end=+"+ skip=+\\"+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL 657f9393ef5SBram Moolenaarsyn match muttrcUnColorPatterns contained skipwhite /\s*[^'"\s]\S\*/ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL 658f9393ef5SBram Moolenaarsyn match muttrcUnColorPatNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL 659f9393ef5SBram Moolenaarsyn match muttrcUnColorAll contained skipwhite /[*]/ 660f9393ef5SBram Moolenaarsyn match muttrcUnColorAPNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL 661f9393ef5SBram Moolenaarsyn match muttrcUnColorIndex contained skipwhite /\s*index\s\+/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL 662f9393ef5SBram Moolenaarsyn match muttrcUnColorIndexNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL 663f9393ef5SBram Moolenaarsyn match muttrcUnColorKeyword contained skipwhite /^\s*uncolor\s\+/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL 664f9393ef5SBram Moolenaarsyn region muttrcUnColorLine keepend start=+^\s*uncolor\s+ skip=+\\$+ end=+$+ contains=muttrcUnColorKeyword,muttrcComment,muttrcUnHighlightSpace 665071d4279SBram Moolenaar 666071d4279SBram Moolenaar" Mono are almost like color (ojects inherited from color) 667071d4279SBram Moolenaarsyn keyword muttrcMonoAttrib contained bold none normal reverse standout underline 668071d4279SBram Moolenaarsyn keyword muttrcMono contained mono skipwhite nextgroup=muttrcColorField 669071d4279SBram Moolenaarsyn match muttrcMonoLine "^\s*mono\s\+\S\+" skipwhite nextgroup=muttrcMonoAttrib contains=muttrcMono 670071d4279SBram Moolenaar 671071d4279SBram Moolenaar" Define the default highlighting. 67289bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 673071d4279SBram Moolenaar 674f37506f6SBram Moolenaarhi def link muttrcComment Comment 675f37506f6SBram Moolenaarhi def link muttrcEscape SpecialChar 676f37506f6SBram Moolenaarhi def link muttrcRXChars SpecialChar 677f37506f6SBram Moolenaarhi def link muttrcString String 678f37506f6SBram Moolenaarhi def link muttrcRXString String 679f37506f6SBram Moolenaarhi def link muttrcRXString2 String 680f37506f6SBram Moolenaarhi def link muttrcSpecial Special 681f37506f6SBram Moolenaarhi def link muttrcHooks Type 682f37506f6SBram Moolenaarhi def link muttrcGroupFlag Type 683f37506f6SBram Moolenaarhi def link muttrcGroupDef Macro 684f37506f6SBram Moolenaarhi def link muttrcAddrDef muttrcGroupFlag 685f37506f6SBram Moolenaarhi def link muttrcRXDef muttrcGroupFlag 686f37506f6SBram Moolenaarhi def link muttrcRXPat String 687f37506f6SBram Moolenaarhi def link muttrcAliasGroupName Macro 688f37506f6SBram Moolenaarhi def link muttrcAliasKey Identifier 689f37506f6SBram Moolenaarhi def link muttrcUnAliasKey Identifier 690f37506f6SBram Moolenaarhi def link muttrcAliasEncEmail Identifier 691f37506f6SBram Moolenaarhi def link muttrcAliasParens Type 692f37506f6SBram Moolenaarhi def link muttrcSetNumAssignment Number 693f37506f6SBram Moolenaarhi def link muttrcSetBoolAssignment Boolean 694f37506f6SBram Moolenaarhi def link muttrcSetQuadAssignment Boolean 695f37506f6SBram Moolenaarhi def link muttrcSetStrAssignment String 696f37506f6SBram Moolenaarhi def link muttrcEmail Special 697f37506f6SBram Moolenaarhi def link muttrcVariableInner Special 698f37506f6SBram Moolenaarhi def link muttrcEscapedVariable String 699f37506f6SBram Moolenaarhi def link muttrcHeader Type 700f37506f6SBram Moolenaarhi def link muttrcKeySpecial SpecialChar 701f37506f6SBram Moolenaarhi def link muttrcKey Type 702f37506f6SBram Moolenaarhi def link muttrcKeyName SpecialChar 703f37506f6SBram Moolenaarhi def link muttrcVarBool Identifier 704f37506f6SBram Moolenaarhi def link muttrcVarQuad Identifier 705f37506f6SBram Moolenaarhi def link muttrcVarNum Identifier 706f37506f6SBram Moolenaarhi def link muttrcVarStr Identifier 707f37506f6SBram Moolenaarhi def link muttrcMenu Identifier 708f37506f6SBram Moolenaarhi def link muttrcCommand Keyword 709f37506f6SBram Moolenaarhi def link muttrcMacroDescr String 710f37506f6SBram Moolenaarhi def link muttrcAction Macro 711f37506f6SBram Moolenaarhi def link muttrcBadAction Error 712f37506f6SBram Moolenaarhi def link muttrcBindFunction Error 713f37506f6SBram Moolenaarhi def link muttrcBindMenuList Error 714f37506f6SBram Moolenaarhi def link muttrcFunction Macro 715f37506f6SBram Moolenaarhi def link muttrcGroupKeyword muttrcCommand 716f37506f6SBram Moolenaarhi def link muttrcGroupLine Error 717f37506f6SBram Moolenaarhi def link muttrcSubscribeKeyword muttrcCommand 718f37506f6SBram Moolenaarhi def link muttrcSubscribeLine Error 719f37506f6SBram Moolenaarhi def link muttrcListsKeyword muttrcCommand 720f37506f6SBram Moolenaarhi def link muttrcListsLine Error 721f37506f6SBram Moolenaarhi def link muttrcAlternateKeyword muttrcCommand 722f37506f6SBram Moolenaarhi def link muttrcAlternatesLine Error 723f37506f6SBram Moolenaarhi def link muttrcAttachmentsLine muttrcCommand 724f37506f6SBram Moolenaarhi def link muttrcAttachmentsFlag Type 725f37506f6SBram Moolenaarhi def link muttrcAttachmentsMimeType String 726f37506f6SBram Moolenaarhi def link muttrcColorLine Error 727f37506f6SBram Moolenaarhi def link muttrcColorContext Error 728f37506f6SBram Moolenaarhi def link muttrcColorContextI Identifier 729f37506f6SBram Moolenaarhi def link muttrcColorContextH Identifier 730f37506f6SBram Moolenaarhi def link muttrcColorKeyword muttrcCommand 731f37506f6SBram Moolenaarhi def link muttrcColorKeywordI muttrcColorKeyword 732f37506f6SBram Moolenaarhi def link muttrcColorKeywordH muttrcColorKeyword 733f37506f6SBram Moolenaarhi def link muttrcColorField Identifier 734f37506f6SBram Moolenaarhi def link muttrcColor Type 735f37506f6SBram Moolenaarhi def link muttrcColorFG Error 736f37506f6SBram Moolenaarhi def link muttrcColorFGI Error 737f37506f6SBram Moolenaarhi def link muttrcColorFGH Error 738f37506f6SBram Moolenaarhi def link muttrcColorBG Error 739f37506f6SBram Moolenaarhi def link muttrcColorBGI Error 740f37506f6SBram Moolenaarhi def link muttrcColorBGH Error 741f37506f6SBram Moolenaarhi def link muttrcMonoAttrib muttrcColor 742f37506f6SBram Moolenaarhi def link muttrcMono muttrcCommand 743f37506f6SBram Moolenaarhi def link muttrcSimplePat Identifier 744f37506f6SBram Moolenaarhi def link muttrcSimplePatString Macro 745f37506f6SBram Moolenaarhi def link muttrcSimplePatMetas Special 746f37506f6SBram Moolenaarhi def link muttrcPattern Error 747f37506f6SBram Moolenaarhi def link muttrcUnColorLine Error 748f37506f6SBram Moolenaarhi def link muttrcUnColorKeyword muttrcCommand 749f37506f6SBram Moolenaarhi def link muttrcUnColorIndex Identifier 750f37506f6SBram Moolenaarhi def link muttrcShellString muttrcEscape 751f37506f6SBram Moolenaarhi def link muttrcRXHooks muttrcCommand 752f37506f6SBram Moolenaarhi def link muttrcRXHookNot Type 753f37506f6SBram Moolenaarhi def link muttrcPatHooks muttrcCommand 754f37506f6SBram Moolenaarhi def link muttrcPatHookNot Type 755f37506f6SBram Moolenaarhi def link muttrcFormatConditionals2 Type 756f37506f6SBram Moolenaarhi def link muttrcIndexFormatStr muttrcString 757f37506f6SBram Moolenaarhi def link muttrcIndexFormatEscapes muttrcEscape 758f37506f6SBram Moolenaarhi def link muttrcIndexFormatConditionals muttrcFormatConditionals2 759f37506f6SBram Moolenaarhi def link muttrcAliasFormatStr muttrcString 760f37506f6SBram Moolenaarhi def link muttrcAliasFormatEscapes muttrcEscape 761f37506f6SBram Moolenaarhi def link muttrcAttachFormatStr muttrcString 762f37506f6SBram Moolenaarhi def link muttrcAttachFormatEscapes muttrcEscape 763f37506f6SBram Moolenaarhi def link muttrcAttachFormatConditionals muttrcFormatConditionals2 764f37506f6SBram Moolenaarhi def link muttrcComposeFormatStr muttrcString 765f37506f6SBram Moolenaarhi def link muttrcComposeFormatEscapes muttrcEscape 766f37506f6SBram Moolenaarhi def link muttrcFolderFormatStr muttrcString 767f37506f6SBram Moolenaarhi def link muttrcFolderFormatEscapes muttrcEscape 768f37506f6SBram Moolenaarhi def link muttrcFolderFormatConditionals muttrcFormatConditionals2 769f37506f6SBram Moolenaarhi def link muttrcMixFormatStr muttrcString 770f37506f6SBram Moolenaarhi def link muttrcMixFormatEscapes muttrcEscape 771f37506f6SBram Moolenaarhi def link muttrcMixFormatConditionals muttrcFormatConditionals2 772f37506f6SBram Moolenaarhi def link muttrcPGPFormatStr muttrcString 773f37506f6SBram Moolenaarhi def link muttrcPGPFormatEscapes muttrcEscape 774f37506f6SBram Moolenaarhi def link muttrcPGPFormatConditionals muttrcFormatConditionals2 775f37506f6SBram Moolenaarhi def link muttrcPGPCmdFormatStr muttrcString 776f37506f6SBram Moolenaarhi def link muttrcPGPCmdFormatEscapes muttrcEscape 777f37506f6SBram Moolenaarhi def link muttrcPGPCmdFormatConditionals muttrcFormatConditionals2 778f37506f6SBram Moolenaarhi def link muttrcStatusFormatStr muttrcString 779f37506f6SBram Moolenaarhi def link muttrcStatusFormatEscapes muttrcEscape 780f37506f6SBram Moolenaarhi def link muttrcStatusFormatConditionals muttrcFormatConditionals2 781f37506f6SBram Moolenaarhi def link muttrcPGPGetKeysFormatStr muttrcString 782f37506f6SBram Moolenaarhi def link muttrcPGPGetKeysFormatEscapes muttrcEscape 783f37506f6SBram Moolenaarhi def link muttrcSmimeFormatStr muttrcString 784f37506f6SBram Moolenaarhi def link muttrcSmimeFormatEscapes muttrcEscape 785f37506f6SBram Moolenaarhi def link muttrcSmimeFormatConditionals muttrcFormatConditionals2 786f37506f6SBram Moolenaarhi def link muttrcTimeEscapes muttrcEscape 787f37506f6SBram Moolenaarhi def link muttrcPGPTimeEscapes muttrcEscape 788f37506f6SBram Moolenaarhi def link muttrcStrftimeEscapes Type 789f37506f6SBram Moolenaarhi def link muttrcStrftimeFormatStr muttrcString 790f37506f6SBram Moolenaarhi def link muttrcFormatErrors Error 791071d4279SBram Moolenaar 792f37506f6SBram Moolenaarhi def link muttrcBindFunctionNL SpecialChar 793f37506f6SBram Moolenaarhi def link muttrcBindKeyNL SpecialChar 794f37506f6SBram Moolenaarhi def link muttrcBindMenuListNL SpecialChar 795f37506f6SBram Moolenaarhi def link muttrcMacroDescrNL SpecialChar 796f37506f6SBram Moolenaarhi def link muttrcMacroBodyNL SpecialChar 797f37506f6SBram Moolenaarhi def link muttrcMacroKeyNL SpecialChar 798f37506f6SBram Moolenaarhi def link muttrcMacroMenuListNL SpecialChar 799f37506f6SBram Moolenaarhi def link muttrcColorMatchCountNL SpecialChar 800f37506f6SBram Moolenaarhi def link muttrcColorNL SpecialChar 801f37506f6SBram Moolenaarhi def link muttrcColorRXNL SpecialChar 802f37506f6SBram Moolenaarhi def link muttrcColorBGNL SpecialChar 803f37506f6SBram Moolenaarhi def link muttrcColorFGNL SpecialChar 804f37506f6SBram Moolenaarhi def link muttrcAliasNameNL SpecialChar 805f37506f6SBram Moolenaarhi def link muttrcAliasENNL SpecialChar 806f37506f6SBram Moolenaarhi def link muttrcAliasNL SpecialChar 807f37506f6SBram Moolenaarhi def link muttrcUnAliasNL SpecialChar 808f37506f6SBram Moolenaarhi def link muttrcAliasGroupDefNL SpecialChar 809f37506f6SBram Moolenaarhi def link muttrcAliasEncEmailNL SpecialChar 810f37506f6SBram Moolenaarhi def link muttrcPatternNL SpecialChar 811f37506f6SBram Moolenaarhi def link muttrcUnColorPatNL SpecialChar 812f37506f6SBram Moolenaarhi def link muttrcUnColorAPNL SpecialChar 813f37506f6SBram Moolenaarhi def link muttrcUnColorIndexNL SpecialChar 814f37506f6SBram Moolenaarhi def link muttrcStringNL SpecialChar 8159964e468SBram Moolenaar 816071d4279SBram Moolenaar 817071d4279SBram Moolenaarlet b:current_syntax = "muttrc" 818071d4279SBram Moolenaar 819b8ff1fb5SBram Moolenaarlet &cpo = s:cpo_save 820b8ff1fb5SBram Moolenaarunlet s:cpo_save 821446cb837SBram Moolenaar"EOF vim: ts=8 noet tw=100 sw=8 sts=0 ft=vim 822