101164a65SBram Moolenaar" Vim syntax file 201164a65SBram Moolenaar" Language: NeoMutt setup files 3403f3eb4SBram Moolenaar" Maintainer: Richard Russon <[email protected]> 4403f3eb4SBram Moolenaar" Previous Maintainer: Guillaume Brogi <[email protected]> 5*e46a4405SBram Moolenaar" Last Change: 2020-06-21 601164a65SBram Moolenaar" Original version based on syntax/muttrc.vim 701164a65SBram Moolenaar 8*e46a4405SBram Moolenaar" This file covers NeoMutt 2020-06-19 901164a65SBram Moolenaar 1001164a65SBram Moolenaar" quit when a syntax file was already loaded 1101164a65SBram Moolenaarif exists("b:current_syntax") 1201164a65SBram Moolenaar finish 1301164a65SBram Moolenaarendif 1401164a65SBram Moolenaar 1501164a65SBram Moolenaarlet s:cpo_save = &cpo 1601164a65SBram Moolenaarset cpo&vim 1701164a65SBram Moolenaar 1801164a65SBram Moolenaar" Set the keyword characters 1901164a65SBram Moolenaarsetlocal isk=@,48-57,_,- 2001164a65SBram Moolenaar 2101164a65SBram Moolenaar" handling optional variables 2201164a65SBram Moolenaarsyntax match muttrcComment "^# .*$" contains=@Spell 2301164a65SBram Moolenaarsyntax match muttrcComment "^#[^ ].*$" 2401164a65SBram Moolenaarsyntax match muttrcComment "^#$" 2501164a65SBram Moolenaarsyntax match muttrcComment "[^\\]#.*$"lc=1 2601164a65SBram Moolenaar 2701164a65SBram Moolenaar" Escape sequences (back-tick and pipe goes here too) 2801164a65SBram Moolenaarsyntax match muttrcEscape +\\[#tnr"'Cc ]+ 2901164a65SBram Moolenaarsyntax match muttrcEscape +[`|]+ 3001164a65SBram Moolenaarsyntax match muttrcEscape +\\$+ 3101164a65SBram Moolenaar 3201164a65SBram Moolenaar" The variables takes the following arguments 3301164a65SBram Moolenaarsyntax region muttrcString contained keepend start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcCommand,muttrcAction,muttrcShellString 3401164a65SBram Moolenaarsyntax region muttrcString contained keepend start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcCommand,muttrcAction 3501164a65SBram Moolenaarsyntax match muttrcStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcString,muttrcStringNL 3601164a65SBram Moolenaar 37*e46a4405SBram Moolenaarsyntax region muttrcShellString matchgroup=muttrcEscape keepend start=+`+ skip=+\\`+ end=+`+ contains=muttrcVarStr,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcCommand 3801164a65SBram Moolenaar 3901164a65SBram Moolenaarsyntax match muttrcRXChars contained /[^\\][][.*?+]\+/hs=s+1 4001164a65SBram Moolenaarsyntax match muttrcRXChars contained /[][|()][.*?+]*/ 4101164a65SBram Moolenaarsyntax match muttrcRXChars contained /['"]^/ms=s+1 4201164a65SBram Moolenaarsyntax match muttrcRXChars contained /$['"]/me=e-1 4301164a65SBram Moolenaarsyntax match muttrcRXChars contained /\\/ 4401164a65SBram Moolenaar" Why does muttrcRXString2 work with one \ when muttrcRXString requires two? 4501164a65SBram Moolenaarsyntax region muttrcRXString contained skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXChars 4601164a65SBram Moolenaarsyntax region muttrcRXString contained skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXChars 4701164a65SBram Moolenaarsyntax region muttrcRXString contained skipwhite start=+[^ "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXChars 4801164a65SBram Moolenaar" For some reason, skip refuses to match backslashes here... 4901164a65SBram Moolenaarsyntax region muttrcRXString contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXChars 5001164a65SBram Moolenaarsyntax region muttrcRXString contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXChars 5101164a65SBram Moolenaarsyntax region muttrcRXString2 contained skipwhite start=+'+ skip=+\'+ end=+'+ contains=muttrcRXChars 5201164a65SBram Moolenaarsyntax region muttrcRXString2 contained skipwhite start=+"+ skip=+\"+ end=+"+ contains=muttrcRXChars 5301164a65SBram Moolenaar 54*e46a4405SBram Moolenaar" these must be kept synchronized with muttrcRXString, but are intended for muttrcRXHooks 5501164a65SBram Moolenaarsyntax region muttrcRXHookString contained keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL 5601164a65SBram Moolenaarsyntax region muttrcRXHookString contained keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL 5701164a65SBram Moolenaarsyntax region muttrcRXHookString contained keepend skipwhite start=+[^ "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL 5801164a65SBram Moolenaarsyntax region muttrcRXHookString contained keepend skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL 5901164a65SBram Moolenaarsyntax region muttrcRXHookString contained keepend matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL 6001164a65SBram Moolenaarsyntax match muttrcRXHookStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcRXHookString,muttrcRXHookStringNL 6101164a65SBram Moolenaar 6201164a65SBram Moolenaar" these are exclusively for args lists (e.g. -rx pat pat pat ...) 6301164a65SBram Moolenaarsyntax region muttrcRXPat contained keepend skipwhite start=+'+ skip=+\\'+ end=+'\s*+ contains=muttrcRXString nextgroup=muttrcRXPat 6401164a65SBram Moolenaarsyntax region muttrcRXPat contained keepend skipwhite start=+"+ skip=+\\"+ end=+"\s*+ contains=muttrcRXString nextgroup=muttrcRXPat 6501164a65SBram Moolenaarsyntax match muttrcRXPat contained /[^-'"#!]\S\+/ skipwhite contains=muttrcRXChars nextgroup=muttrcRXPat 6601164a65SBram Moolenaarsyntax match muttrcRXDef contained "-rx\s\+" skipwhite nextgroup=muttrcRXPat 6701164a65SBram Moolenaar 6801164a65SBram Moolenaarsyntax match muttrcSpecial +\(['"]\)!\1+ 6901164a65SBram Moolenaar 70*e46a4405SBram Moolenaarsyntax match muttrcSetStrAssignment contained skipwhite /=\s*\%(\\\?\$\)\?[0-9A-Za-z_-]\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable 71*e46a4405SBram Moolenaarsyntax region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*"+hs=s+1 end=+"+ skip=+\\"+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcString 72*e46a4405SBram Moolenaarsyntax region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*'+hs=s+1 end=+'+ skip=+\\'+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcString 73*e46a4405SBram Moolenaarsyntax match muttrcSetBoolAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable 74*e46a4405SBram Moolenaarsyntax match muttrcSetBoolAssignment contained skipwhite /=\s*\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 75*e46a4405SBram Moolenaarsyntax match muttrcSetBoolAssignment contained skipwhite /=\s*"\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 76*e46a4405SBram Moolenaarsyntax match muttrcSetBoolAssignment contained skipwhite /=\s*'\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 77*e46a4405SBram Moolenaarsyntax match muttrcSetQuadAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable 78*e46a4405SBram Moolenaarsyntax match muttrcSetQuadAssignment contained skipwhite /=\s*\%(ask-\)\?\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 79*e46a4405SBram Moolenaarsyntax match muttrcSetQuadAssignment contained skipwhite /=\s*"\%(ask-\)\?\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 80*e46a4405SBram Moolenaarsyntax match muttrcSetQuadAssignment contained skipwhite /=\s*'\%(ask-\)\?\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 81*e46a4405SBram Moolenaarsyntax match muttrcSetNumAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable 82*e46a4405SBram Moolenaarsyntax match muttrcSetNumAssignment contained skipwhite /=\s*\d\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 83*e46a4405SBram Moolenaarsyntax match muttrcSetNumAssignment contained skipwhite /=\s*"\d\+"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 84*e46a4405SBram Moolenaarsyntax match muttrcSetNumAssignment contained skipwhite /=\s*'\d\+'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 8501164a65SBram Moolenaar 8601164a65SBram Moolenaar" Now catch some email addresses and headers (purified version from mail.vim) 8701164a65SBram Moolenaarsyntax match muttrcEmail "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+" 8801164a65SBram Moolenaarsyntax match muttrcHeader "\<\c\%(From\|To\|C[Cc]\|B[Cc][Cc]\|Reply-To\|Subject\|Return-Path\|Received\|Date\|Replied\|Attach\)\>:\=" 8901164a65SBram Moolenaar 9001164a65SBram Moolenaarsyntax match muttrcKeySpecial contained +\%(\\[Cc'"]\|\^\|\\[01]\d\{2}\)+ 9101164a65SBram Moolenaarsyntax match muttrcKey contained "\S\+" contains=muttrcKeySpecial,muttrcKeyName 9201164a65SBram Moolenaarsyntax region muttrcKey contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=muttrcKeySpecial,muttrcKeyName 9301164a65SBram Moolenaarsyntax region muttrcKey contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=muttrcKeySpecial,muttrcKeyName 9401164a65SBram Moolenaarsyntax match muttrcKeyName contained "\\[trne]" 9501164a65SBram Moolenaarsyntax match muttrcKeyName contained "\c<\%(BackSpace\|BackTab\|Delete\|Down\|End\|Enter\|Esc\|Home\|Insert\|Left\|Next\|PageDown\|PageUp\|Return\|Right\|Space\|Tab\|Up\)>" 9601164a65SBram Moolenaarsyntax match muttrcKeyName contained "\c<F\d\+>" 9701164a65SBram Moolenaar 9801164a65SBram Moolenaarsyntax match muttrcFormatErrors contained /%./ 9901164a65SBram Moolenaar 10001164a65SBram Moolenaarsyntax match muttrcStrftimeEscapes contained /%[AaBbCcDdeFGgHhIjklMmnpRrSsTtUuVvWwXxYyZz+%]/ 10101164a65SBram Moolenaarsyntax match muttrcStrftimeEscapes contained /%E[cCxXyY]/ 10201164a65SBram Moolenaarsyntax match muttrcStrftimeEscapes contained /%O[BdeHImMSuUVwWy]/ 10301164a65SBram Moolenaar 104*e46a4405SBram Moolenaarsyntax region muttrcAliasFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAliasFormatEscapes,muttrcAliasFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 105*e46a4405SBram Moolenaarsyntax region muttrcAliasFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAliasFormatEscapes,muttrcAliasFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 106*e46a4405SBram Moolenaarsyntax region muttrcAttachFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 107*e46a4405SBram Moolenaarsyntax region muttrcAttachFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 108*e46a4405SBram Moolenaarsyntax region muttrcComposeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcComposeFormatEscapes,muttrcComposeFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 109*e46a4405SBram Moolenaarsyntax region muttrcComposeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcComposeFormatEscapes,muttrcComposeFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 110*e46a4405SBram Moolenaarsyntax region muttrcFolderFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 111*e46a4405SBram Moolenaarsyntax region muttrcFolderFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 112*e46a4405SBram Moolenaarsyntax region muttrcGroupIndexFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcGroupIndexFormatEscapes,muttrcGroupIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 113*e46a4405SBram Moolenaarsyntax region muttrcGroupIndexFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcGroupIndexFormatEscapes,muttrcGroupIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 114*e46a4405SBram Moolenaarsyntax region muttrcIndexFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 115*e46a4405SBram Moolenaarsyntax region muttrcIndexFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 116*e46a4405SBram Moolenaarsyntax region muttrcMixFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 117*e46a4405SBram Moolenaarsyntax region muttrcMixFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 118*e46a4405SBram Moolenaarsyntax region muttrcPGPCmdFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 119*e46a4405SBram Moolenaarsyntax region muttrcPGPCmdFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 120*e46a4405SBram Moolenaarsyntax region muttrcPGPFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 121*e46a4405SBram Moolenaarsyntax region muttrcPGPFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 122*e46a4405SBram Moolenaarsyntax region muttrcQueryFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 123*e46a4405SBram Moolenaarsyntax region muttrcQueryFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 124*e46a4405SBram Moolenaarsyntax region muttrcSidebarFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSidebarFormatEscapes,muttrcSidebarFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 125*e46a4405SBram Moolenaarsyntax region muttrcSidebarFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSidebarFormatEscapes,muttrcSidebarFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 126*e46a4405SBram Moolenaarsyntax region muttrcSmimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 127*e46a4405SBram Moolenaarsyntax region muttrcSmimeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 128*e46a4405SBram Moolenaarsyntax region muttrcStatusFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 129*e46a4405SBram Moolenaarsyntax region muttrcStatusFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 130*e46a4405SBram Moolenaarsyntax region muttrcStrftimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 131*e46a4405SBram Moolenaarsyntax region muttrcStrftimeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 13201164a65SBram Moolenaar 13301164a65SBram Moolenaar" Format escapes and conditionals 13401164a65SBram Moolenaarsyntax match muttrcFormatConditionals2 contained /[^?]*?/ 135*e46a4405SBram Moolenaarfunction! s:escapesConditionals(baseName, sequence, padding, conditional) 13601164a65SBram Moolenaar exec 'syntax match muttrc' . a:baseName . 'Escapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?\%(' . a:sequence . '\|%\)/' 137*e46a4405SBram Moolenaar if a:padding 13801164a65SBram Moolenaar exec 'syntax match muttrc' . a:baseName . 'Escapes contained /%[>|*]./' 13901164a65SBram Moolenaar endif 140*e46a4405SBram Moolenaar if a:conditional 14101164a65SBram Moolenaar exec 'syntax match muttrc' . a:baseName . 'Conditionals contained /%?\%(' . a:sequence . '\)?/ nextgroup=muttrcFormatConditionals2' 14201164a65SBram Moolenaar else 14301164a65SBram Moolenaar exec 'syntax match muttrc' . a:baseName . 'Conditionals contained /%?\%(' . a:sequence . '\)?/' 14401164a65SBram Moolenaar endif 14501164a65SBram Moolenaarendfunction 14601164a65SBram Moolenaar 147*e46a4405SBram Moolenaar" CHECKED 2020-06-21 148*e46a4405SBram Moolenaar" Ref: alias_format_str() in alias/dlgalias.c 149*e46a4405SBram Moolenaarcall s:escapesConditionals('AliasFormat', '[acfnrt]', 1, 0) 1507dda86f2SBram Moolenaar" Ref: attach_format_str() in recvattach.c 15101164a65SBram Moolenaarcall s:escapesConditionals('AttachFormat', '[CcDdeFfIMmnQsTtuX]', 1, 1) 1527dda86f2SBram Moolenaar" Ref: compose_format_str() in compose.c 153*e46a4405SBram Moolenaarcall s:escapesConditionals('ComposeFormat', '[ahlv]', 1, 1) 1547dda86f2SBram Moolenaar" Ref: folder_format_str() in browser.c 155403f3eb4SBram Moolenaarcall s:escapesConditionals('FolderFormat', '[CDdFfgilmNnstu]', 1, 0) 156*e46a4405SBram Moolenaar" Ref: group_index_format_str() in browser.c 157*e46a4405SBram Moolenaarcall s:escapesConditionals('GroupIndexFormat', '[CdfMNns]', 1, 1) 158*e46a4405SBram Moolenaar" Ref: index_format_str() in hdrline.c 159*e46a4405SBram Moolenaarcall s:escapesConditionals('IndexFormat', '[AaBbCDdEefgHIiJKLlMmNnOPqRrSsTtuvWXxYyZ(<[{]\|@\i\+@\|G[a-zA-Z]\+\|Fp\=\|z[cst]\|cr\=', 1, 1) 1607dda86f2SBram Moolenaar" Ref: mix_format_str() in remailer.c 161*e46a4405SBram Moolenaarcall s:escapesConditionals('MixFormat', '[acns]', 1, 0) 162*e46a4405SBram Moolenaar" Ref: pgp_command_format_str() in ncrypt/pgpinvoke.c 163*e46a4405SBram Moolenaarcall s:escapesConditionals('PGPCmdFormat', '[afprs]', 0, 1) 1647dda86f2SBram Moolenaar" Ref: crypt_format_str() in ncrypt/crypt_gpgme.c 165*e46a4405SBram Moolenaar" Ref: pgp_entry_format_str() in ncrypt/pgpkey.c 1667dda86f2SBram Moolenaar" Note: crypt_format_str() supports 'p', but pgp_entry_fmt() does not 167403f3eb4SBram Moolenaarcall s:escapesConditionals('PGPFormat', '[AaCcFfKkLlnptu[]', 0, 0) 168*e46a4405SBram Moolenaar" Ref: query_format_str() in alias/dlgquery.c 169*e46a4405SBram Moolenaarcall s:escapesConditionals('QueryFormat', '[acent]', 1, 1) 170*e46a4405SBram Moolenaar" Ref: sidebar_format_str() in sidebar.c 171*e46a4405SBram Moolenaarcall s:escapesConditionals('SidebarFormat', '[!BDdFLNnorStZ]', 1, 1) 172*e46a4405SBram Moolenaar" Ref: smime_command_format_str() in ncrypt/smime.c 173*e46a4405SBram Moolenaarcall s:escapesConditionals('SmimeFormat', '[aCcdfiks]', 0, 1) 174*e46a4405SBram Moolenaar" Ref: status_format_str() in status.c 175*e46a4405SBram Moolenaarcall s:escapesConditionals('StatusFormat', '[bDdFfhLlMmnoPpRrSstuVv]', 1, 1) 1767dda86f2SBram Moolenaar 177*e46a4405SBram Moolenaarsyntax region muttrcPGPTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes 17801164a65SBram Moolenaarsyntax region muttrcTimeEscapes contained start=+%(+ end=+)+ contains=muttrcStrftimeEscapes 17901164a65SBram Moolenaarsyntax region muttrcTimeEscapes contained start=+%<+ end=+>+ contains=muttrcStrftimeEscapes 180*e46a4405SBram Moolenaarsyntax region muttrcTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes 181*e46a4405SBram Moolenaarsyntax region muttrcTimeEscapes contained start=+%{+ end=+}+ contains=muttrcStrftimeEscapes 18201164a65SBram Moolenaar 18301164a65SBram Moolenaarsyntax match muttrcVarEqualsAliasFmt contained skipwhite "=" nextgroup=muttrcAliasFormatStr 18401164a65SBram Moolenaarsyntax match muttrcVarEqualsAttachFmt contained skipwhite "=" nextgroup=muttrcAttachFormatStr 18501164a65SBram Moolenaarsyntax match muttrcVarEqualsComposeFmt contained skipwhite "=" nextgroup=muttrcComposeFormatStr 18601164a65SBram Moolenaarsyntax match muttrcVarEqualsFolderFmt contained skipwhite "=" nextgroup=muttrcFolderFormatStr 18701164a65SBram Moolenaarsyntax match muttrcVarEqualsGrpIdxFmt contained skipwhite "=" nextgroup=muttrcGroupIndexFormatStr 1887dda86f2SBram Moolenaarsyntax match muttrcVarEqualsIdxFmt contained skipwhite "=" nextgroup=muttrcIndexFormatStr 18901164a65SBram Moolenaarsyntax match muttrcVarEqualsMixFmt contained skipwhite "=" nextgroup=muttrcMixFormatStr 19001164a65SBram Moolenaarsyntax match muttrcVarEqualsPGPCmdFmt contained skipwhite "=" nextgroup=muttrcPGPCmdFormatStr 1917dda86f2SBram Moolenaarsyntax match muttrcVarEqualsPGPFmt contained skipwhite "=" nextgroup=muttrcPGPFormatStr 1927dda86f2SBram Moolenaarsyntax match muttrcVarEqualsQueryFmt contained skipwhite "=" nextgroup=muttrcQueryFormatStr 1937dda86f2SBram Moolenaarsyntax match muttrcVarEqualsSdbFmt contained skipwhite "=" nextgroup=muttrcSidebarFormatStr 19401164a65SBram Moolenaarsyntax match muttrcVarEqualsSmimeFmt contained skipwhite "=" nextgroup=muttrcSmimeFormatStr 1957dda86f2SBram Moolenaarsyntax match muttrcVarEqualsStatusFmt contained skipwhite "=" nextgroup=muttrcStatusFormatStr 19601164a65SBram Moolenaarsyntax match muttrcVarEqualsStrftimeFmt contained skipwhite "=" nextgroup=muttrcStrftimeFormatStr 19701164a65SBram Moolenaar 198*e46a4405SBram Moolenaarsyntax match muttrcVPrefix contained /[?&]/ nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 19901164a65SBram Moolenaar 200*e46a4405SBram Moolenaar" CHECKED 2020-06-21 201403f3eb4SBram Moolenaar" List of the different screens in mutt (see Menus in keymap.c) 2027dda86f2SBram Moolenaarsyntax keyword muttrcMenu contained alias attach browser compose editor generic index key_select_pgp key_select_smime mix pager pgp postpone query smime 20301164a65SBram Moolenaarsyntax match muttrcMenuList "\S\+" contained contains=muttrcMenu 20401164a65SBram Moolenaarsyntax match muttrcMenuCommas /,/ contained 20501164a65SBram Moolenaar 20601164a65SBram Moolenaarsyntax region muttrcSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL 20701164a65SBram Moolenaarsyntax region muttrcSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL 20801164a65SBram Moolenaar 20901164a65SBram Moolenaarsyntax region muttrcNoSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern 21001164a65SBram Moolenaarsyntax region muttrcNoSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern 21101164a65SBram Moolenaar 21201164a65SBram Moolenaarsyntax match muttrcAttachmentsMimeType contained "[*a-z0-9_-]\+/[*a-z0-9._-]\+\s*" skipwhite nextgroup=muttrcAttachmentsMimeType 21301164a65SBram Moolenaarsyntax match muttrcAttachmentsFlag contained "[+-]\%([AI]\|inline\|attachment\)\s\+" skipwhite nextgroup=muttrcAttachmentsMimeType 21401164a65SBram Moolenaarsyntax match muttrcAttachmentsLine "^\s*\%(un\)\?attachments\s\+" skipwhite nextgroup=muttrcAttachmentsFlag 21501164a65SBram Moolenaar 21601164a65SBram Moolenaarsyntax match muttrcUnHighlightSpace contained "\%(\s\+\|\\$\)" 21701164a65SBram Moolenaar 21801164a65SBram Moolenaarsyntax keyword muttrcAsterisk contained * 219403f3eb4SBram Moolenaar 22001164a65SBram Moolenaarsyntax keyword muttrcListsKeyword lists skipwhite nextgroup=muttrcGroupDef,muttrcComment 22101164a65SBram Moolenaarsyntax keyword muttrcListsKeyword unlists skipwhite nextgroup=muttrcAsterisk,muttrcComment 22201164a65SBram Moolenaar 223403f3eb4SBram Moolenaarsyntax keyword muttrcSubscribeKeyword subscribe skipwhite nextgroup=muttrcGroupDef,muttrcComment 224403f3eb4SBram Moolenaarsyntax keyword muttrcSubscribeKeyword unsubscribe skipwhite nextgroup=muttrcAsterisk,muttrcComment 22501164a65SBram Moolenaar 22601164a65SBram Moolenaarsyntax keyword muttrcAlternateKeyword contained alternates unalternates 22701164a65SBram Moolenaarsyntax region muttrcAlternatesLine keepend start=+^\s*\%(un\)\?alternates\s+ skip=+\\$+ end=+$+ contains=muttrcAlternateKeyword,muttrcGroupDef,muttrcRXPat,muttrcUnHighlightSpace,muttrcComment 22801164a65SBram Moolenaar 229403f3eb4SBram Moolenaar" muttrcVariable includes a prefix because partial strings are considered valid. 23001164a65SBram Moolenaarsyntax match muttrcVariable contained "\\\@<![a-zA-Z_-]*\$[a-zA-Z_-]\+" contains=muttrcVariableInner 23101164a65SBram Moolenaarsyntax match muttrcVariableInner contained "\$[a-zA-Z_-]\+" 23201164a65SBram Moolenaarsyntax match muttrcEscapedVariable contained "\\\$[a-zA-Z_-]\+" 23301164a65SBram Moolenaar 23401164a65SBram Moolenaarsyntax match muttrcBadAction contained "[^<>]\+" contains=muttrcEmail 23501164a65SBram Moolenaarsyntax match muttrcAction contained "<[^>]\{-}>" contains=muttrcBadAction,muttrcFunction,muttrcKeyName 23601164a65SBram Moolenaar 237*e46a4405SBram Moolenaar" CHECKED 2020-06-21 23801164a65SBram Moolenaar" First, functions that take regular expressions: 23901164a65SBram Moolenaarsyntax match muttrcRXHookNot contained /!\s*/ skipwhite nextgroup=muttrcRXHookString,muttrcRXHookStringNL 24001164a65SBram Moolenaarsyntax match muttrcRXHooks /\<\%(account\|append\|close\|crypt\|folder\|mbox\|open\|pgp\)-hook\>/ skipwhite nextgroup=muttrcRXHookNot,muttrcRXHookString,muttrcRXHookStringNL 24101164a65SBram Moolenaar 24201164a65SBram Moolenaar" Now, functions that take patterns 24301164a65SBram Moolenaarsyntax match muttrcPatHookNot contained /!\s*/ skipwhite nextgroup=muttrcPattern 244*e46a4405SBram Moolenaarsyntax match muttrcPatHooks /\<\%(charset\|iconv\|index-format\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcPattern 24501164a65SBram Moolenaarsyntax match muttrcPatHooks /\<\%(message\|reply\|send\|send2\|save\|fcc\|fcc-save\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcOptPattern 24601164a65SBram Moolenaar 247*e46a4405SBram Moolenaar" Global hooks that take a command 248*e46a4405SBram Moolenaarsyntax keyword muttrcHooks skipwhite shutdown-hook startup-hook timeout-hook nextgroup=muttrcCommand 249*e46a4405SBram Moolenaar 25001164a65SBram Moolenaarsyntax match muttrcBindFunction contained /\S\+\>/ skipwhite contains=muttrcFunction 25101164a65SBram Moolenaarsyntax match muttrcBindFunctionNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindFunction,muttrcBindFunctionNL 25201164a65SBram Moolenaarsyntax match muttrcBindKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcBindFunction,muttrcBindFunctionNL 25301164a65SBram Moolenaarsyntax match muttrcBindKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindKey,muttrcBindKeyNL 25401164a65SBram Moolenaarsyntax match muttrcBindMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcBindKey,muttrcBindKeyNL 25501164a65SBram Moolenaarsyntax match muttrcBindMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindMenuList,muttrcBindMenuListNL 25601164a65SBram Moolenaar 25701164a65SBram Moolenaarsyntax region muttrcMacroDescr contained keepend skipwhite start=+\s*\S+ms=e skip=+\\ + end=+ \|$+me=s 25801164a65SBram Moolenaarsyntax region muttrcMacroDescr contained keepend skipwhite start=+'+ms=e skip=+\\'+ end=+'+me=s 25901164a65SBram Moolenaarsyntax region muttrcMacroDescr contained keepend skipwhite start=+"+ms=e skip=+\\"+ end=+"+me=s 26001164a65SBram Moolenaarsyntax match muttrcMacroDescrNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroDescr,muttrcMacroDescrNL 26101164a65SBram Moolenaarsyntax region muttrcMacroBody contained skipwhite start="\S" skip='\\ \|\\$' end=' \|$' contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction nextgroup=muttrcMacroDescr,muttrcMacroDescrNL 26201164a65SBram Moolenaarsyntax 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 26301164a65SBram Moolenaarsyntax 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 26401164a65SBram Moolenaarsyntax match muttrcMacroBodyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroBody,muttrcMacroBodyNL 26501164a65SBram Moolenaarsyntax match muttrcMacroKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcMacroBody,muttrcMacroBodyNL 26601164a65SBram Moolenaarsyntax match muttrcMacroKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroKey,muttrcMacroKeyNL 26701164a65SBram Moolenaarsyntax match muttrcMacroMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcMacroKey,muttrcMacroKeyNL 26801164a65SBram Moolenaarsyntax match muttrcMacroMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL 26901164a65SBram Moolenaar 27001164a65SBram Moolenaarsyntax match muttrcAddrContent contained "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+\s*" skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent 27101164a65SBram Moolenaarsyntax region muttrcAddrContent contained start=+'+ end=+'\s*+ skip=+\\'+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent 27201164a65SBram Moolenaarsyntax region muttrcAddrContent contained start=+"+ end=+"\s*+ skip=+\\"+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent 27301164a65SBram Moolenaarsyntax match muttrcAddrDef contained "-addr\s\+" skipwhite nextgroup=muttrcAddrContent 27401164a65SBram Moolenaar 27501164a65SBram Moolenaarsyntax match muttrcGroupFlag contained "-group" 27601164a65SBram Moolenaarsyntax region muttrcGroupDef contained start="-group\s\+" skip="\\$" end="\s" skipwhite keepend contains=muttrcGroupFlag,muttrcUnHighlightSpace 27701164a65SBram Moolenaar 27801164a65SBram Moolenaarsyntax keyword muttrcGroupKeyword contained group ungroup 27901164a65SBram Moolenaarsyntax region muttrcGroupLine keepend start=+^\s*\%(un\)\?group\s+ skip=+\\$+ end=+$+ contains=muttrcGroupKeyword,muttrcGroupDef,muttrcAddrDef,muttrcRXDef,muttrcUnHighlightSpace,muttrcComment 28001164a65SBram Moolenaar 28101164a65SBram Moolenaarsyntax match muttrcAliasGroupName contained /\w\+/ skipwhite nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL 28201164a65SBram Moolenaarsyntax match muttrcAliasGroupDefNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL 28301164a65SBram Moolenaarsyntax match muttrcAliasGroupDef contained /\s*-group/ skipwhite nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL contains=muttrcGroupFlag 28401164a65SBram Moolenaarsyntax match muttrcAliasComma contained /,/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL 28501164a65SBram Moolenaarsyntax match muttrcAliasEmail contained /\S\+@\S\+/ contains=muttrcEmail nextgroup=muttrcAliasName,muttrcAliasNameNL skipwhite 28601164a65SBram Moolenaarsyntax match muttrcAliasEncEmail contained /<[^>]\+>/ contains=muttrcEmail nextgroup=muttrcAliasComma 28701164a65SBram Moolenaarsyntax match muttrcAliasEncEmailNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL 28801164a65SBram Moolenaarsyntax match muttrcAliasNameNoParens contained /[^<(@]\+\s\+/ nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL 28901164a65SBram Moolenaarsyntax region muttrcAliasName contained matchgroup=Type start=/(/ end=/)/ skipwhite 29001164a65SBram Moolenaarsyntax match muttrcAliasNameNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasName,muttrcAliasNameNL 29101164a65SBram Moolenaarsyntax match muttrcAliasENNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL 29201164a65SBram Moolenaarsyntax match muttrcAliasKey contained /\s*[^- \t]\S\+/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL 29301164a65SBram Moolenaarsyntax match muttrcAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL 29401164a65SBram Moolenaar 29501164a65SBram Moolenaarsyntax match muttrcUnAliasKey contained "\s*\w\+\s*" skipwhite nextgroup=muttrcUnAliasKey,muttrcUnAliasNL 29601164a65SBram Moolenaarsyntax match muttrcUnAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcUnAliasKey,muttrcUnAliasNL 29701164a65SBram Moolenaar 298*e46a4405SBram Moolenaar" CHECKED 2020-06-21 299*e46a4405SBram Moolenaar" List of letters in Flags in pattern.c 300*e46a4405SBram Moolenaar" Parameter: none 301*e46a4405SBram Moolenaarsyntax match muttrcSimplePat contained "!\?\^\?[~][ADEFGgklNOPpQRSTuUvV#$=]" 302*e46a4405SBram Moolenaar" Parameter: range 30301164a65SBram Moolenaarsyntax match muttrcSimplePat contained "!\?\^\?[~][mnXz]\s*\%([<>-][0-9]\+[kM]\?\|[0-9]\+[kM]\?[-]\%([0-9]\+[kM]\?\)\?\)" 304*e46a4405SBram Moolenaar" Parameter: date 30501164a65SBram Moolenaarsyntax 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 306*e46a4405SBram Moolenaar" Parameter: regex 307*e46a4405SBram Moolenaarsyntax match muttrcSimplePat contained "!\?\^\?[~][BbCcefHhIiLMstwxYy]\s*" nextgroup=muttrcSimplePatRXContainer 308*e46a4405SBram Moolenaar" Parameter: pattern 30901164a65SBram Moolenaarsyntax match muttrcSimplePat contained "!\?\^\?[%][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString 310*e46a4405SBram Moolenaar" Parameter: pattern 31101164a65SBram Moolenaarsyntax match muttrcSimplePat contained "!\?\^\?[=][bcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString 31201164a65SBram Moolenaarsyntax region muttrcSimplePat contained keepend start=+!\?\^\?[~](+ end=+)+ contains=muttrcSimplePat 313*e46a4405SBram Moolenaar 31401164a65SBram Moolenaar"syn match muttrcSimplePat contained /'[^~=%][^']*/ contains=muttrcRXString 31501164a65SBram Moolenaarsyntax region muttrcSimplePatString contained keepend start=+"+ end=+"+ skip=+\\"+ 31601164a65SBram Moolenaarsyntax region muttrcSimplePatString contained keepend start=+'+ end=+'+ skip=+\\'+ 31701164a65SBram Moolenaarsyntax region muttrcSimplePatString contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1 31801164a65SBram Moolenaarsyntax region muttrcSimplePatRXContainer contained keepend start=+"+ end=+"+ skip=+\\"+ contains=muttrcRXString 31901164a65SBram Moolenaarsyntax region muttrcSimplePatRXContainer contained keepend start=+'+ end=+'+ skip=+\\'+ contains=muttrcRXString 32001164a65SBram Moolenaarsyntax region muttrcSimplePatRXContainer contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1 contains=muttrcRXString 32101164a65SBram Moolenaarsyntax match muttrcSimplePatMetas contained /[(|)]/ 32201164a65SBram Moolenaar 32301164a65SBram Moolenaarsyntax match muttrcOptSimplePat contained skipwhite /[~=%!(^].*/ contains=muttrcSimplePat,muttrcSimplePatMetas 32401164a65SBram Moolenaarsyntax match muttrcOptSimplePat contained skipwhite /[^~=%!(^].*/ contains=muttrcRXString 32501164a65SBram Moolenaarsyntax region muttrcOptPattern contained matchgroup=Type keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL 32601164a65SBram Moolenaarsyntax region muttrcOptPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL 32701164a65SBram Moolenaarsyntax region muttrcOptPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL 32801164a65SBram Moolenaarsyntax match muttrcOptPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL 32901164a65SBram Moolenaarsyntax match muttrcOptPattern contained skipwhite /[.]/ nextgroup=muttrcString,muttrcStringNL 33001164a65SBram Moolenaar" Keep muttrcPattern and muttrcOptPattern synchronized 33101164a65SBram Moolenaarsyntax region muttrcPattern contained matchgroup=Type keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas 33201164a65SBram Moolenaarsyntax region muttrcPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas 33301164a65SBram Moolenaarsyntax region muttrcPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat 33401164a65SBram Moolenaarsyntax match muttrcPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat 33501164a65SBram Moolenaarsyntax match muttrcPattern contained skipwhite /[.]/ 33601164a65SBram Moolenaarsyntax region muttrcPatternInner contained keepend start=+"[~=%!(^]+ms=s+1 skip=+\\"+ end=+"+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas 33701164a65SBram Moolenaarsyntax region muttrcPatternInner contained keepend start=+'[~=%!(^]+ms=s+1 skip=+\\'+ end=+'+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas 33801164a65SBram Moolenaar 33901164a65SBram Moolenaar" Colour definitions takes object, foreground and background arguments (regexps excluded). 34001164a65SBram Moolenaarsyntax match muttrcColorMatchCount contained "[0-9]\+" 34101164a65SBram Moolenaarsyntax match muttrcColorMatchCountNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL 34201164a65SBram Moolenaarsyntax region muttrcColorRXPat contained start=+\s*'+ skip=+\\'+ end=+'\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL 34301164a65SBram Moolenaarsyntax region muttrcColorRXPat contained start=+\s*"+ skip=+\\"+ end=+"\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL 34401164a65SBram Moolenaarsyntax keyword muttrcColor contained black blue cyan default green magenta red white yellow 34501164a65SBram Moolenaarsyntax keyword muttrcColor contained brightblack brightblue brightcyan brightdefault brightgreen brightmagenta brightred brightwhite brightyellow 34601164a65SBram Moolenaarsyntax match muttrcColor contained "\<\%(bright\)\=color\d\{1,3}\>" 34701164a65SBram Moolenaar" Now for the structure of the color line 34801164a65SBram Moolenaarsyntax match muttrcColorRXNL contained skipnl "\s*\\$" nextgroup=muttrcColorRXPat,muttrcColorRXNL 34901164a65SBram Moolenaarsyntax match muttrcColorBG contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorRXPat,muttrcColorRXNL 35001164a65SBram Moolenaarsyntax match muttrcColorBGNL contained skipnl "\s*\\$" nextgroup=muttrcColorBG,muttrcColorBGNL 35101164a65SBram Moolenaarsyntax match muttrcColorFG contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBG,muttrcColorBGNL 35201164a65SBram Moolenaarsyntax match muttrcColorFGNL contained skipnl "\s*\\$" nextgroup=muttrcColorFG,muttrcColorFGNL 35301164a65SBram Moolenaarsyntax match muttrcColorContext contained /\s*[$]\?\w\+/ contains=muttrcColorField,muttrcVariable,muttrcUnHighlightSpace,muttrcColorCompose nextgroup=muttrcColorFG,muttrcColorFGNL 35401164a65SBram Moolenaarsyntax match muttrcColorNL contained skipnl "\s*\\$" nextgroup=muttrcColorContext,muttrcColorNL,muttrcColorCompose 35501164a65SBram Moolenaarsyntax match muttrcColorKeyword contained /^\s*color\s\+/ nextgroup=muttrcColorContext,muttrcColorNL,muttrcColorCompose 35601164a65SBram Moolenaar" And now color's brother: 35701164a65SBram Moolenaarsyntax region muttrcUnColorPatterns contained skipwhite start=+\s*'+ end=+'+ skip=+\\'+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL 35801164a65SBram Moolenaarsyntax region muttrcUnColorPatterns contained skipwhite start=+\s*"+ end=+"+ skip=+\\"+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL 35901164a65SBram Moolenaarsyntax match muttrcUnColorPatterns contained skipwhite /\s*[^'"\s]\S\*/ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL 36001164a65SBram Moolenaarsyntax match muttrcUnColorPatNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL 36101164a65SBram Moolenaarsyntax match muttrcUnColorAll contained skipwhite /[*]/ 36201164a65SBram Moolenaarsyntax match muttrcUnColorAPNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL 36301164a65SBram Moolenaarsyntax match muttrcUnColorIndex contained skipwhite /\s*index\s\+/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL 36401164a65SBram Moolenaarsyntax match muttrcUnColorIndexNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL 36501164a65SBram Moolenaarsyntax match muttrcUnColorKeyword contained skipwhite /^\s*uncolor\s\+/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL 36601164a65SBram Moolenaarsyntax region muttrcUnColorLine keepend start=+^\s*uncolor\s+ skip=+\\$+ end=+$+ contains=muttrcUnColorKeyword,muttrcComment,muttrcUnHighlightSpace 36701164a65SBram Moolenaar 36801164a65SBram Moolenaarsyntax keyword muttrcMonoAttrib contained bold none normal reverse standout underline 36901164a65SBram Moolenaarsyntax keyword muttrcMono contained mono skipwhite nextgroup=muttrcColorField,muttrcColorCompose 37001164a65SBram Moolenaarsyntax match muttrcMonoLine "^\s*mono\s\+\S\+" skipwhite nextgroup=muttrcMonoAttrib contains=muttrcMono 37101164a65SBram Moolenaar 372*e46a4405SBram Moolenaar" CHECKED 2020-06-21 37301164a65SBram Moolenaar" List of fields in Fields in color.c 37401164a65SBram Moolenaarsyntax keyword muttrcColorField skipwhite contained 375*e46a4405SBram Moolenaar \ attachment attach_headers body bold error hdrdefault header index index_author 376*e46a4405SBram Moolenaar \ index_collapsed index_date index_flags index_label index_number index_size index_subject 377*e46a4405SBram Moolenaar \ index_tag index_tags indicator markers message normal options progress prompt quoted 378*e46a4405SBram Moolenaar \ search sidebar_divider sidebar_flagged sidebar_highlight sidebar_indicator sidebar_new 379*e46a4405SBram Moolenaar \ sidebar_ordinary sidebar_spoolfile sidebar_unread signature status tilde tree underline 380*e46a4405SBram Moolenaar \ warning nextgroup=muttrcColor 381*e46a4405SBram Moolenaar 38201164a65SBram Moolenaarsyntax match muttrcColorField contained "\<quoted\d\=\>" 38301164a65SBram Moolenaar 38401164a65SBram Moolenaarsyntax match muttrcColorCompose skipwhite contained /\s*compose\s*/ nextgroup=muttrcColorComposeField 3857dda86f2SBram Moolenaar 386*e46a4405SBram Moolenaar" CHECKED 2020-06-21 38701164a65SBram Moolenaar" List of fields in ComposeFields in color.c 38801164a65SBram Moolenaarsyntax keyword muttrcColorComposeField skipwhite contained 3897dda86f2SBram Moolenaar \ header security_both security_encrypt security_none security_sign 39001164a65SBram Moolenaar \ nextgroup=muttrcColorFG,muttrcColorFGNL 39101164a65SBram Moolenaarsyntax region muttrcColorLine keepend start=/^\s*color\s\+/ skip=+\\$+ end=+$+ contains=muttrcColorKeyword,muttrcComment,muttrcUnHighlightSpace 39201164a65SBram Moolenaar 3937dda86f2SBram Moolenaarfunction! s:boolQuadGen(type, vars, deprecated) 39401164a65SBram Moolenaar let l:novars = copy(a:vars) 39501164a65SBram Moolenaar call map(l:novars, '"no" . v:val') 39601164a65SBram Moolenaar let l:invvars = copy(a:vars) 39701164a65SBram Moolenaar call map(l:invvars, '"inv" . v:val') 39801164a65SBram Moolenaar 39901164a65SBram Moolenaar let l:orig_type = copy(a:type) 40001164a65SBram Moolenaar if a:deprecated 40101164a65SBram Moolenaar let l:type = 'Deprecated' . a:type 402*e46a4405SBram Moolenaar exec 'syntax keyword muttrcVar' . l:type . ' ' . join(a:vars) 403*e46a4405SBram Moolenaar exec 'syntax keyword muttrcVar' . l:type . ' ' . join(l:novars) 404*e46a4405SBram Moolenaar exec 'syntax keyword muttrcVar' . l:type . ' ' . join(l:invvars) 40501164a65SBram Moolenaar else 40601164a65SBram Moolenaar let l:type = a:type 407*e46a4405SBram Moolenaar exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(a:vars) . ' nextgroup=muttrcSet' . l:orig_type . 'Assignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr' 408*e46a4405SBram Moolenaar exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(l:novars) . ' nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr' 409*e46a4405SBram Moolenaar exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(l:invvars) . ' nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr' 41001164a65SBram Moolenaar endif 41101164a65SBram Moolenaar 41201164a65SBram Moolenaarendfunction 41301164a65SBram Moolenaar 414*e46a4405SBram Moolenaar" CHECKED 2020-06-21 415*e46a4405SBram Moolenaar" List of DT_BOOL in MuttVars in mutt_config.c 41601164a65SBram Moolenaarcall s:boolQuadGen('Bool', [ 417*e46a4405SBram Moolenaar \ 'abort_backspace', 'allow_8bit', 'allow_ansi', 'arrow_cursor', 'ascii_chars', 'askbcc', 418*e46a4405SBram Moolenaar \ 'askcc', 'ask_follow_up', 'ask_x_comment_to', 'attach_save_without_prompting', 419*e46a4405SBram Moolenaar \ 'attach_split', 'autocrypt', 'autocrypt_reply', 'autoedit', 'auto_subscribe', 'auto_tag', 420*e46a4405SBram Moolenaar \ 'beep', 'beep_new', 'bounce_delivered', 'braille_friendly', 421*e46a4405SBram Moolenaar \ 'browser_abbreviate_mailboxes', 'change_folder_next', 'check_mbox_size', 'check_new', 422*e46a4405SBram Moolenaar \ 'collapse_all', 'collapse_flagged', 'collapse_unread', 'confirmappend', 'confirmcreate', 4237dda86f2SBram Moolenaar \ 'crypt_autoencrypt', 'crypt_autopgp', 'crypt_autosign', 'crypt_autosmime', 424*e46a4405SBram Moolenaar \ 'crypt_confirmhook', 'crypt_opportunistic_encrypt', 425*e46a4405SBram Moolenaar \ 'crypt_opportunistic_encrypt_strong_keys', 'crypt_protected_headers_read', 426*e46a4405SBram Moolenaar \ 'crypt_protected_headers_save', 'crypt_protected_headers_write', 'crypt_replyencrypt', 427*e46a4405SBram Moolenaar \ 'crypt_replysign', 'crypt_replysignencrypted', 'crypt_timestamp', 'crypt_use_gpgme', 428*e46a4405SBram Moolenaar \ 'crypt_use_pka', 'delete_untag', 'digest_collapse', 'duplicate_threads', 'edit_headers', 429*e46a4405SBram Moolenaar \ 'encode_from', 'fast_reply', 'fcc_before_send', 'fcc_clear', 'flag_safe', 'followup_to', 430*e46a4405SBram Moolenaar \ 'force_name', 'forward_decode', 'forward_decrypt', 'forward_quote', 'forward_references', 431*e46a4405SBram Moolenaar \ 'hdrs', 'header', 'header_color_partial', 'help', 'hidden_host', 'hide_limited', 432*e46a4405SBram Moolenaar \ 'hide_missing', 'hide_thread_subject', 'hide_top_limited', 'hide_top_missing', 433*e46a4405SBram Moolenaar \ 'history_remove_dups', 'honor_disposition', 'idn_decode', 'idn_encode', 434*e46a4405SBram Moolenaar \ 'ignore_list_reply_to', 'imap_check_subscribed', 'imap_condstore', 'imap_deflate', 435*e46a4405SBram Moolenaar \ 'imap_idle', 'imap_list_subscribed', 'imap_passive', 'imap_peek', 'imap_qresync', 436*e46a4405SBram Moolenaar \ 'imap_rfc5161', 'imap_servernoise', 'implicit_autoview', 'include_encrypted', 437*e46a4405SBram Moolenaar \ 'include_onlyfirst', 'keep_flagged', 'mailcap_sanitize', 'maildir_check_cur', 438*e46a4405SBram Moolenaar \ 'maildir_header_cache_verify', 'maildir_trash', 'mail_check_recent', 'mail_check_stats', 439*e46a4405SBram Moolenaar \ 'markers', 'mark_old', 'menu_move_off', 'menu_scroll', 'message_cache_clean', 'meta_key', 440*e46a4405SBram Moolenaar \ 'metoo', 'mh_purge', 'mime_forward_decode', 'mime_subject', 'mime_type_query_first', 441*e46a4405SBram Moolenaar \ 'narrow_tree', 'nm_record', 'nntp_listgroup', 'nntp_load_description', 'pager_stop', 442*e46a4405SBram Moolenaar \ 'pgp_autoinline', 'pgp_auto_decode', 'pgp_check_exit', 'pgp_check_gpg_decrypt_status_fd', 443*e46a4405SBram Moolenaar \ 'pgp_ignore_subkeys', 'pgp_long_ids', 'pgp_replyinline', 'pgp_retainable_sigs', 444*e46a4405SBram Moolenaar \ 'pgp_self_encrypt', 'pgp_show_unusable', 'pgp_strict_enc', 'pgp_use_gpg_agent', 445*e46a4405SBram Moolenaar \ 'pipe_decode', 'pipe_split', 'pop_auth_try_all', 'pop_last', 'postpone_encrypt', 446*e46a4405SBram Moolenaar \ 'print_decode', 'print_split', 'prompt_after', 'read_only', 'reflow_space_quotes', 447*e46a4405SBram Moolenaar \ 'reflow_text', 'reply_self', 'reply_with_xorig', 'resolve', 'resume_draft_files', 448*e46a4405SBram Moolenaar \ 'resume_edited_draft_files', 'reverse_alias', 'reverse_name', 'reverse_realname', 449*e46a4405SBram Moolenaar \ 'rfc2047_parameters', 'save_address', 'save_empty', 'save_name', 'save_unsubscribed', 450*e46a4405SBram Moolenaar \ 'score', 'show_new_news', 'show_only_unread', 'sidebar_folder_indent', 451*e46a4405SBram Moolenaar \ 'sidebar_new_mail_only', 'sidebar_next_new_wrap', 'sidebar_non_empty_mailbox_only', 452*e46a4405SBram Moolenaar \ 'sidebar_on_right', 'sidebar_short_path', 'sidebar_visible', 'sig_dashes', 'sig_on_top', 453*e46a4405SBram Moolenaar \ 'size_show_bytes', 'size_show_fractions', 'size_show_mb', 'size_units_on_left', 454*e46a4405SBram Moolenaar \ 'smart_wrap', 'smime_ask_cert_label', 'smime_decrypt_use_default_key', 'smime_is_default', 455*e46a4405SBram Moolenaar \ 'smime_self_encrypt', 'sort_re', 'ssl_force_tls', 'ssl_usesystemcerts', 'ssl_use_sslv2', 456*e46a4405SBram Moolenaar \ 'ssl_use_sslv3', 'ssl_use_tlsv1', 'ssl_use_tlsv1_1', 'ssl_use_tlsv1_2', 'ssl_use_tlsv1_3', 457*e46a4405SBram Moolenaar \ 'ssl_verify_dates', 'ssl_verify_host', 'ssl_verify_partial_chains', 'status_on_top', 458*e46a4405SBram Moolenaar \ 'strict_threads', 'suspend', 'text_flowed', 'thorough_search', 'thread_received', 'tilde', 459*e46a4405SBram Moolenaar \ 'ts_enabled', 'uncollapse_jump', 'uncollapse_new', 'user_agent', 'use_8bitmime', 460*e46a4405SBram Moolenaar \ 'use_domain', 'use_envelope_from', 'use_from', 'use_ipv6', 'virtual_spoolfile', 461*e46a4405SBram Moolenaar \ 'wait_key', 'weed', 'wrap_search', 'write_bcc', 'x_comment_to' 46201164a65SBram Moolenaar \ ], 0) 46301164a65SBram Moolenaar 464*e46a4405SBram Moolenaar" CHECKED 2020-06-21 46501164a65SBram Moolenaar" Deprecated Bools 466*e46a4405SBram Moolenaar" List of DT_SYNONYM or DT_DEPRECATED Bools in MuttVars in mutt_config.c 46701164a65SBram Moolenaarcall s:boolQuadGen('Bool', [ 468*e46a4405SBram Moolenaar \ 'edit_hdrs', 'envelope_from', 'forw_decode', 'forw_decrypt', 'forw_quote', 469*e46a4405SBram Moolenaar \ 'header_cache_compress', 'ignore_linear_white_space', 'pgp_autoencrypt', 'pgp_autosign', 470*e46a4405SBram Moolenaar \ 'pgp_auto_traditional', 'pgp_create_traditional', 'pgp_replyencrypt', 'pgp_replysign', 471*e46a4405SBram Moolenaar \ 'pgp_replysignencrypted', 'xterm_set_titles' 47201164a65SBram Moolenaar \ ], 1) 47301164a65SBram Moolenaar 474*e46a4405SBram Moolenaar" CHECKED 2020-06-21 475*e46a4405SBram Moolenaar" List of DT_QUAD in MuttVars in mutt_config.c 47601164a65SBram Moolenaarcall s:boolQuadGen('Quad', [ 477*e46a4405SBram Moolenaar \ 'abort_noattach', 'abort_nosubject', 'abort_unmodified', 'bounce', 'catchup_newsgroup', 478*e46a4405SBram Moolenaar \ 'copy', 'crypt_verify_sig', 'delete', 'fcc_attach', 'followup_to_poster', 479*e46a4405SBram Moolenaar \ 'forward_attachments', 'forward_edit', 'honor_followup_to', 'include', 'mime_forward', 480*e46a4405SBram Moolenaar \ 'mime_forward_rest', 'move', 'pgp_mime_auto', 'pop_delete', 'pop_reconnect', 'postpone', 481*e46a4405SBram Moolenaar \ 'post_moderated', 'print', 'quit', 'recall', 'reply_to', 'ssl_starttls', 48201164a65SBram Moolenaar \ ], 0) 48301164a65SBram Moolenaar 484*e46a4405SBram Moolenaar" CHECKED 2020-06-21 48501164a65SBram Moolenaar" Deprecated Quads 486*e46a4405SBram Moolenaar" List of DT_SYNONYM or DT_DEPRECATED Quads in MuttVars in mutt_config.c 48701164a65SBram Moolenaarcall s:boolQuadGen('Quad', [ 4887dda86f2SBram Moolenaar \ 'mime_fwd', 'pgp_encrypt_self', 'pgp_verify_sig', 'smime_encrypt_self' 48901164a65SBram Moolenaar \ ], 1) 49001164a65SBram Moolenaar 491*e46a4405SBram Moolenaar" CHECKED 2020-06-21 492*e46a4405SBram Moolenaar" List of DT_NUMBER or DT_LONG in MuttVars in mutt_config.c 49301164a65SBram Moolenaarsyntax keyword muttrcVarNum skipwhite contained 494*e46a4405SBram Moolenaar \ connect_timeout debug_level header_cache_compress_level history 495*e46a4405SBram Moolenaar \ imap_fetch_chunk_size imap_keepalive imap_pipeline_depth imap_poll_timeout mail_check 496*e46a4405SBram Moolenaar \ mail_check_stats_interval menu_context net_inc nm_db_limit nm_open_timeout 497*e46a4405SBram Moolenaar \ nm_query_window_current_position nm_query_window_duration nntp_context nntp_poll 498*e46a4405SBram Moolenaar \ pager_context pager_index_lines pgp_timeout pop_checkinterval read_inc reflow_wrap 499*e46a4405SBram Moolenaar \ save_history score_threshold_delete score_threshold_flag score_threshold_read 500*e46a4405SBram Moolenaar \ search_context sendmail_wait sidebar_component_depth sidebar_width skip_quoted_offset 501*e46a4405SBram Moolenaar \ sleep_time smime_timeout ssl_min_dh_prime_bits timeout time_inc toggle_quoted_show_levels 502*e46a4405SBram Moolenaar \ wrap wrap_headers write_inc 503*e46a4405SBram Moolenaar \ nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 5047dda86f2SBram Moolenaarsyntax keyword muttrcVarDeprecatedNum contained skipwhite 505*e46a4405SBram Moolenaar \ header_cache_pagesize wrapmargin 506*e46a4405SBram Moolenaar \ nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 50701164a65SBram Moolenaar 508*e46a4405SBram Moolenaar" CHECKED 2020-06-21 509*e46a4405SBram Moolenaar" List of DT_STRING in MuttVars in mutt_config.c 51001164a65SBram Moolenaar" Special cases first, and all the rest at the end 51101164a65SBram Moolenaar" Formats themselves must be updated in their respective groups 51201164a65SBram Moolenaar" See s:escapesConditionals 513*e46a4405SBram Moolenaarsyntax match muttrcVarStr contained skipwhite 'my_[a-zA-Z0-9_]\+' nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 51401164a65SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite alias_format nextgroup=muttrcVarEqualsAliasFmt 51501164a65SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite attach_format nextgroup=muttrcVarEqualsAttachFmt 51601164a65SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite compose_format nextgroup=muttrcVarEqualsComposeFmt 51701164a65SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite folder_format vfolder_format nextgroup=muttrcVarEqualsFolderFmt 518*e46a4405SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite attribution forward_format index_format message_format pager_format nextgroup=muttrcVarEqualsIdxFmt 51901164a65SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite mix_entry_format nextgroup=muttrcVarEqualsMixFmt 52001164a65SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite 5217dda86f2SBram Moolenaar \ pgp_clearsign_command pgp_decode_command pgp_decrypt_command 522*e46a4405SBram Moolenaar \ pgp_encrypt_only_command pgp_encrypt_sign_command pgp_export_command pgp_getkeys_command 5237dda86f2SBram Moolenaar \ pgp_import_command pgp_list_pubring_command pgp_list_secring_command 5247dda86f2SBram Moolenaar \ pgp_sign_command pgp_verify_command pgp_verify_key_command 52501164a65SBram Moolenaar \ nextgroup=muttrcVarEqualsPGPCmdFmt 52601164a65SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite pgp_entry_format nextgroup=muttrcVarEqualsPGPFmt 52701164a65SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite query_format nextgroup=muttrcVarEqualsQueryFmt 52801164a65SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite 5297dda86f2SBram Moolenaar \ smime_decrypt_command smime_encrypt_command smime_get_cert_command 5307dda86f2SBram Moolenaar \ smime_get_cert_email_command smime_get_signer_cert_command 5317dda86f2SBram Moolenaar \ smime_import_cert_command smime_pk7out_command smime_sign_command 5327dda86f2SBram Moolenaar \ smime_verify_command smime_verify_opaque_command 53301164a65SBram Moolenaar \ nextgroup=muttrcVarEqualsSmimeFmt 534*e46a4405SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite status_format ts_icon_format ts_status_format nextgroup=muttrcVarEqualsStatusFmt 53501164a65SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite date_format nextgroup=muttrcVarEqualsStrftimeFmt 53601164a65SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite group_index_format nextgroup=muttrcVarEqualsGrpIdxFmt 53701164a65SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite sidebar_format nextgroup=muttrcVarEqualsSdbFmt 53801164a65SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite 539*e46a4405SBram Moolenaar \ abort_key arrow_string assumed_charset attach_charset attach_sep attribution_locale 540*e46a4405SBram Moolenaar \ autocrypt_acct_format charset config_charset content_type crypt_protected_headers_subject 541*e46a4405SBram Moolenaar \ default_hook dsn_notify dsn_return empty_subject escape forward_attribution_intro 542*e46a4405SBram Moolenaar \ forward_attribution_trailer header_cache_backend header_cache_compress_method hidden_tags 543*e46a4405SBram Moolenaar \ hostname imap_authenticators imap_delim_chars imap_headers imap_login imap_pass imap_user 544*e46a4405SBram Moolenaar \ indent_string mailcap_path mark_macro_prefix mh_seq_flagged mh_seq_replied mh_seq_unseen 545*e46a4405SBram Moolenaar \ newsgroups_charset news_server nm_default_url nm_exclude_tags nm_flagged_tag nm_query_type 546*e46a4405SBram Moolenaar \ nm_query_window_current_search nm_query_window_timebase nm_record_tags nm_replied_tag 547*e46a4405SBram Moolenaar \ nm_unread_tag nntp_authenticators nntp_pass nntp_user pgp_default_key pgp_sign_as pipe_sep 548*e46a4405SBram Moolenaar \ pop_authenticators pop_host pop_pass pop_user postpone_encrypt_as post_indent_string 549*e46a4405SBram Moolenaar \ preconnect preferred_languages realname send_charset show_multipart_alternative 550*e46a4405SBram Moolenaar \ sidebar_delim_chars sidebar_divider_char sidebar_indent_string simple_search 551*e46a4405SBram Moolenaar \ smime_default_key smime_encrypt_with smime_sign_as smime_sign_digest_alg 552*e46a4405SBram Moolenaar \ smtp_authenticators smtp_pass smtp_url smtp_user spam_separator ssl_ciphers 553*e46a4405SBram Moolenaar \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 554*e46a4405SBram Moolenaar 55501164a65SBram Moolenaar" Deprecated strings 556*e46a4405SBram Moolenaarsyntax keyword muttrcVarDeprecatedStr 557*e46a4405SBram Moolenaar \ abort_noattach_regexp attach_keyword forw_format hdr_format indent_str msg_format 558*e46a4405SBram Moolenaar \ nm_default_uri pgp_self_encrypt_as post_indent_str print_cmd quote_regexp reply_regexp 559*e46a4405SBram Moolenaar \ smime_self_encrypt_as xterm_icon xterm_title 5607dda86f2SBram Moolenaar 561*e46a4405SBram Moolenaar" CHECKED 2020-06-21 56201164a65SBram Moolenaar" List of DT_ADDRESS 563*e46a4405SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite envelope_from_address from nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 564403f3eb4SBram Moolenaar" List of DT_ENUM 565*e46a4405SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite mbox_type nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 56601164a65SBram Moolenaar" List of DT_MBTABLE 567*e46a4405SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite crypt_chars flag_chars from_chars status_chars to_chars nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 5687dda86f2SBram Moolenaar 569*e46a4405SBram Moolenaar" CHECKED 2020-06-21 57001164a65SBram Moolenaar" List of DT_PATH 57101164a65SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite 572403f3eb4SBram Moolenaar \ alias_file attach_save_dir autocrypt_dir certificate_file debug_file 573403f3eb4SBram Moolenaar \ entropy_file folder header_cache history_file mbox message_cachedir newsrc 574403f3eb4SBram Moolenaar \ news_cache_dir postponed record signature smime_ca_location 57501164a65SBram Moolenaar \ smime_certificates smime_keys spoolfile ssl_ca_certificates_file 576403f3eb4SBram Moolenaar \ ssl_client_cert tmpdir trash 577*e46a4405SBram Moolenaar \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 578403f3eb4SBram Moolenaar" List of DT_COMMAND (excluding pgp_*_command and smime_*_command) 579403f3eb4SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite 580403f3eb4SBram Moolenaar \ display_filter editor inews ispell mixmaster new_mail_command pager 581403f3eb4SBram Moolenaar \ print_command query_command sendmail shell visual external_search_command 582403f3eb4SBram Moolenaar \ imap_oauth_refresh_command pop_oauth_refresh_command 583403f3eb4SBram Moolenaar \ mime_type_query_command smtp_oauth_refresh_command tunnel 584*e46a4405SBram Moolenaar \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 5857dda86f2SBram Moolenaar 586*e46a4405SBram Moolenaar" CHECKED 2020-06-21 58701164a65SBram Moolenaar" List of DT_REGEX 58801164a65SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite 5897dda86f2SBram Moolenaar \ abort_noattach_regex gecos_mask mask pgp_decryption_okay pgp_good_sign 5907dda86f2SBram Moolenaar \ quote_regex reply_regex smileys 591*e46a4405SBram Moolenaar \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 59201164a65SBram Moolenaar" List of DT_SORT 59301164a65SBram Moolenaarsyntax keyword muttrcVarStr contained skipwhite 59401164a65SBram Moolenaar \ pgp_sort_keys sidebar_sort_method sort sort_alias sort_aux sort_browser 595*e46a4405SBram Moolenaar \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 59601164a65SBram Moolenaar 597*e46a4405SBram Moolenaar" CHECKED 2020-06-21 598*e46a4405SBram Moolenaar" List of commands in Commands in mutt_config.c 59901164a65SBram Moolenaar" Remember to remove hooks, they have already been dealt with 60001164a65SBram Moolenaarsyntax keyword muttrcCommand skipwhite alias nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL 601*e46a4405SBram Moolenaarsyntax keyword muttrcCommand skipwhite bind nextgroup=muttrcBindMenuList,muttrcBindMenuListNL 60201164a65SBram Moolenaarsyntax keyword muttrcCommand skipwhite exec nextgroup=muttrcFunction 603*e46a4405SBram Moolenaarsyntax keyword muttrcCommand skipwhite macro nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL 604*e46a4405SBram Moolenaarsyntax keyword muttrcCommand skipwhite nospam nextgroup=muttrcNoSpamPattern 605*e46a4405SBram Moolenaarsyntax keyword muttrcCommand skipwhite set unset reset toggle nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr 606*e46a4405SBram Moolenaarsyntax keyword muttrcCommand skipwhite spam nextgroup=muttrcSpamPattern 607*e46a4405SBram Moolenaarsyntax keyword muttrcCommand skipwhite unalias nextgroup=muttrcUnAliasKey,muttrcUnAliasNL 608*e46a4405SBram Moolenaarsyntax keyword muttrcCommand skipwhite unhook nextgroup=muttrcHooks 60901164a65SBram Moolenaarsyntax keyword muttrcCommand skipwhite 6107dda86f2SBram Moolenaar \ alternative_order attachments auto_view finish hdr_order ifdef ifndef 6117dda86f2SBram Moolenaar \ ignore lua lua-source mailboxes mailto_allow mime_lookup my_hdr push score 6127dda86f2SBram Moolenaar \ setenv sidebar_whitelist source subjectrx subscribe-to tag-formats 6137dda86f2SBram Moolenaar \ tag-transforms unalternative_order unattachments unauto_view uncolor 6147dda86f2SBram Moolenaar \ unhdr_order unignore unmailboxes unmailto_allow unmime_lookup unmono 6157dda86f2SBram Moolenaar \ unmy_hdr unscore unsetenv unsidebar_whitelist unsubjectrx unsubscribe-from 616403f3eb4SBram Moolenaar \ unvirtual-mailboxes virtual-mailboxes named-mailboxes 617403f3eb4SBram Moolenaar \ echo unbind unmacro 61801164a65SBram Moolenaar 619*e46a4405SBram Moolenaarfunction! s:genFunctions(functions) 620*e46a4405SBram Moolenaar for f in a:functions 621*e46a4405SBram Moolenaar exec 'syntax match muttrcFunction contained "\<' . l:f . '\>"' 622*e46a4405SBram Moolenaar endfor 623*e46a4405SBram Moolenaarendfunction 624*e46a4405SBram Moolenaar 625*e46a4405SBram Moolenaar" CHECKED 2020-06-21 626*e46a4405SBram Moolenaar" List of functions in functions.c 627*e46a4405SBram Moolenaar" Note: 'noop' is included but is elsewhere in the source 628*e46a4405SBram Moolenaarcall s:genFunctions(['noop', 629*e46a4405SBram Moolenaar \ 'accept', 'append', 'attach-file', 'attach-key', 'attach-message', 'attach-news-message', 630*e46a4405SBram Moolenaar \ 'autocrypt-acct-menu', 'autocrypt-menu', 'backspace', 'backward-char', 'backward-word', 631*e46a4405SBram Moolenaar \ 'bol', 'bottom-page', 'bottom', 'bounce-message', 'break-thread', 'buffy-cycle', 632*e46a4405SBram Moolenaar \ 'buffy-list', 'capitalize-word', 'catchup', 'chain-next', 'chain-prev', 'change-dir', 633*e46a4405SBram Moolenaar \ 'change-folder-readonly', 'change-folder', 'change-newsgroup-readonly', 634*e46a4405SBram Moolenaar \ 'change-newsgroup', 'change-vfolder', 'check-new', 'check-stats', 635*e46a4405SBram Moolenaar \ 'check-traditional-pgp', 'clear-flag', 'collapse-all', 'collapse-parts', 636*e46a4405SBram Moolenaar \ 'collapse-thread', 'complete-query', 'complete', 'compose-to-sender', 'copy-file', 637*e46a4405SBram Moolenaar \ 'copy-message', 'create-account', 'create-alias', 'create-mailbox', 'current-bottom', 638*e46a4405SBram Moolenaar \ 'current-middle', 'current-top', 'decode-copy', 'decode-save', 'decrypt-copy', 639*e46a4405SBram Moolenaar \ 'decrypt-save', 'delete-account', 'delete-char', 'delete-entry', 'delete-mailbox', 640*e46a4405SBram Moolenaar \ 'delete-message', 'delete-pattern', 'delete-subthread', 'delete-thread', 'delete', 641*e46a4405SBram Moolenaar \ 'descend-directory', 'detach-file', 'display-address', 'display-filename', 642*e46a4405SBram Moolenaar \ 'display-message', 'display-toggle-weed', 'downcase-word', 'edit-bcc', 'edit-cc', 643*e46a4405SBram Moolenaar \ 'edit-description', 'edit-encoding', 'edit-fcc', 'edit-file', 'edit-followup-to', 644*e46a4405SBram Moolenaar \ 'edit-from', 'edit-headers', 'edit-label', 'edit-language', 'edit-message', 'edit-mime', 645*e46a4405SBram Moolenaar \ 'edit-newsgroups', 'edit-or-view-raw-message', 'edit-raw-message', 'edit-reply-to', 646*e46a4405SBram Moolenaar \ 'edit-subject', 'edit-to', 'edit-type', 'edit-x-comment-to', 'edit', 'end-cond', 647*e46a4405SBram Moolenaar \ 'enter-command', 'enter-mask', 'entire-thread', 'eol', 'exit', 'extract-keys', 648*e46a4405SBram Moolenaar \ 'fetch-mail', 'filter-entry', 'first-entry', 'flag-message', 'followup-message', 649*e46a4405SBram Moolenaar \ 'forget-passphrase', 'forward-char', 'forward-message', 'forward-to-group', 650*e46a4405SBram Moolenaar \ 'forward-word', 'get-attachment', 'get-children', 'get-message', 'get-parent', 651*e46a4405SBram Moolenaar \ 'goto-folder', 'goto-parent', 'group-alternatives', 'group-chat-reply', 652*e46a4405SBram Moolenaar \ 'group-multilingual', 'group-reply', 'half-down', 'half-up', 'help', 'history-down', 653*e46a4405SBram Moolenaar \ 'history-search', 'history-up', 'imap-fetch-mail', 'imap-logout-all', 'insert', 'ispell', 654*e46a4405SBram Moolenaar \ 'jump', 'kill-eol', 'kill-eow', 'kill-line', 'kill-word', 'last-entry', 655*e46a4405SBram Moolenaar \ 'limit-current-thread', 'limit', 'link-threads', 'list-reply', 'mail-key', 656*e46a4405SBram Moolenaar \ 'mailbox-cycle', 'mailbox-list', 'mail', 'mark-as-new', 'mark-message', 'middle-page', 657*e46a4405SBram Moolenaar \ 'mix', 'modify-labels-then-hide', 'modify-labels', 'modify-tags-then-hide', 658*e46a4405SBram Moolenaar \ 'modify-tags', 'move-down', 'move-up', 'new-mime', 'next-entry', 'next-line', 659*e46a4405SBram Moolenaar \ 'next-new-then-unread', 'next-new', 'next-page', 'next-subthread', 'next-thread', 660*e46a4405SBram Moolenaar \ 'next-undeleted', 'next-unread-mailbox', 'next-unread', 'parent-message', 'pgp-menu', 661*e46a4405SBram Moolenaar \ 'pipe-entry', 'pipe-message', 'post-message', 'postpone-message', 'previous-entry', 662*e46a4405SBram Moolenaar \ 'previous-line', 'previous-new-then-unread', 'previous-new', 'previous-page', 663*e46a4405SBram Moolenaar \ 'previous-subthread', 'previous-thread', 'previous-undeleted', 'previous-unread', 664*e46a4405SBram Moolenaar \ 'print-entry', 'print-message', 'purge-message', 'purge-thread', 'quasi-delete', 665*e46a4405SBram Moolenaar \ 'query-append', 'query', 'quit', 'quote-char', 'read-subthread', 'read-thread', 666*e46a4405SBram Moolenaar \ 'recall-message', 'reconstruct-thread', 'redraw-screen', 'refresh', 'reload-active', 667*e46a4405SBram Moolenaar \ 'rename-attachment', 'rename-file', 'rename-mailbox', 'reply', 'resend-message', 668*e46a4405SBram Moolenaar \ 'root-message', 'save-entry', 'save-message', 'search-next', 'search-opposite', 669*e46a4405SBram Moolenaar \ 'search-reverse', 'search-toggle', 'search', 'select-entry', 'select-new', 670*e46a4405SBram Moolenaar \ 'send-message', 'set-flag', 'shell-escape', 'show-limit', 'show-log-messages', 671*e46a4405SBram Moolenaar \ 'show-version', 'sidebar-next-new', 'sidebar-first', 'sidebar-last', 'sidebar-next', 672*e46a4405SBram Moolenaar \ 'sidebar-open', 'sidebar-page-down', 'sidebar-page-up', 'sidebar-prev-new', 673*e46a4405SBram Moolenaar \ 'sidebar-prev', 'sidebar-toggle-virtual', 'sidebar-toggle-visible', 'skip-quoted', 674*e46a4405SBram Moolenaar \ 'smime-menu', 'sort-mailbox', 'sort-reverse', 'sort', 'subscribe-pattern', 675*e46a4405SBram Moolenaar \ 'sync-mailbox', 'tag-entry', 'tag-message', 'tag-pattern', 'tag-prefix-cond', 676*e46a4405SBram Moolenaar \ 'tag-prefix', 'tag-subthread', 'tag-thread', 'toggle-active', 'toggle-disposition', 677*e46a4405SBram Moolenaar \ 'toggle-mailboxes', 'toggle-new', 'toggle-prefer-encrypt', 'toggle-quoted', 678*e46a4405SBram Moolenaar \ 'toggle-read', 'toggle-recode', 'toggle-subscribed', 'toggle-unlink', 'toggle-write', 679*e46a4405SBram Moolenaar \ 'top-page', 'top', 'transpose-chars', 'uncatchup', 'undelete-entry', 'undelete-message', 680*e46a4405SBram Moolenaar \ 'undelete-pattern', 'undelete-subthread', 'undelete-thread', 'unsubscribe-pattern', 681*e46a4405SBram Moolenaar \ 'untag-pattern', 'upcase-word', 'update-encoding', 'verify-key', 682*e46a4405SBram Moolenaar \ 'vfolder-from-query-readonly', 'vfolder-from-query', 'vfolder-window-backward', 683*e46a4405SBram Moolenaar \ 'vfolder-window-forward', 'view-attachments', 'view-attach', 'view-file', 'view-mailcap', 684*e46a4405SBram Moolenaar \ 'view-name', 'view-raw-message', 'view-text', 'what-key', 'write-fcc' 685*e46a4405SBram Moolenaar \ ]) 68601164a65SBram Moolenaar 68701164a65SBram Moolenaar" Define the default highlighting. 68801164a65SBram Moolenaar" Only when an item doesn't have highlighting yet 68901164a65SBram Moolenaar 69001164a65SBram Moolenaarhighlight def link muttrcSetBoolAssignment Boolean 69101164a65SBram Moolenaarhighlight def link muttrcSetQuadAssignment Boolean 692*e46a4405SBram Moolenaar 693*e46a4405SBram Moolenaarhighlight def link muttrcComment Comment 694*e46a4405SBram Moolenaar 695*e46a4405SBram Moolenaarhighlight def link muttrcAlternatesLine Error 69601164a65SBram Moolenaarhighlight def link muttrcBadAction Error 69701164a65SBram Moolenaarhighlight def link muttrcBindFunction Error 69801164a65SBram Moolenaarhighlight def link muttrcBindMenuList Error 69901164a65SBram Moolenaarhighlight def link muttrcColorBG Error 70001164a65SBram Moolenaarhighlight def link muttrcColorBGH Error 701*e46a4405SBram Moolenaarhighlight def link muttrcColorBGI Error 702*e46a4405SBram Moolenaarhighlight def link muttrcColorContext Error 703*e46a4405SBram Moolenaarhighlight def link muttrcColorFG Error 704*e46a4405SBram Moolenaarhighlight def link muttrcColorFGH Error 705*e46a4405SBram Moolenaarhighlight def link muttrcColorFGI Error 706*e46a4405SBram Moolenaarhighlight def link muttrcColorLine Error 70701164a65SBram Moolenaarhighlight def link muttrcFormatErrors Error 708*e46a4405SBram Moolenaarhighlight def link muttrcGroupLine Error 709*e46a4405SBram Moolenaarhighlight def link muttrcListsLine Error 710*e46a4405SBram Moolenaarhighlight def link muttrcPattern Error 711*e46a4405SBram Moolenaarhighlight def link muttrcSubscribeLine Error 712*e46a4405SBram Moolenaarhighlight def link muttrcUnColorLine Error 71301164a65SBram Moolenaarhighlight def link muttrcVarDeprecatedBool Error 71401164a65SBram Moolenaarhighlight def link muttrcVarDeprecatedQuad Error 71501164a65SBram Moolenaarhighlight def link muttrcVarDeprecatedStr Error 71601164a65SBram Moolenaar 717*e46a4405SBram Moolenaarhighlight def link muttrcAliasEncEmail Identifier 718*e46a4405SBram Moolenaarhighlight def link muttrcAliasKey Identifier 719*e46a4405SBram Moolenaarhighlight def link muttrcColorCompose Identifier 720*e46a4405SBram Moolenaarhighlight def link muttrcColorComposeField Identifier 721*e46a4405SBram Moolenaarhighlight def link muttrcColorContextH Identifier 722*e46a4405SBram Moolenaarhighlight def link muttrcColorContextI Identifier 723*e46a4405SBram Moolenaarhighlight def link muttrcColorField Identifier 724*e46a4405SBram Moolenaarhighlight def link muttrcMenu Identifier 725*e46a4405SBram Moolenaarhighlight def link muttrcSimplePat Identifier 726*e46a4405SBram Moolenaarhighlight def link muttrcUnAliasKey Identifier 727*e46a4405SBram Moolenaarhighlight def link muttrcUnColorIndex Identifier 728*e46a4405SBram Moolenaarhighlight def link muttrcVarBool Identifier 729*e46a4405SBram Moolenaarhighlight def link muttrcVarNum Identifier 730*e46a4405SBram Moolenaarhighlight def link muttrcVarQuad Identifier 731*e46a4405SBram Moolenaarhighlight def link muttrcVarStr Identifier 732*e46a4405SBram Moolenaar 733*e46a4405SBram Moolenaarhighlight def link muttrcCommand Keyword 734*e46a4405SBram Moolenaar 735*e46a4405SBram Moolenaarhighlight def link muttrcAction Macro 736*e46a4405SBram Moolenaarhighlight def link muttrcAliasGroupName Macro 737*e46a4405SBram Moolenaarhighlight def link muttrcFunction Macro 738*e46a4405SBram Moolenaarhighlight def link muttrcGroupDef Macro 739*e46a4405SBram Moolenaarhighlight def link muttrcSimplePatString Macro 740*e46a4405SBram Moolenaar 741*e46a4405SBram Moolenaarhighlight def link muttrcMonoAttrib muttrcColor 742*e46a4405SBram Moolenaar 743*e46a4405SBram Moolenaarhighlight def link muttrcAlternateKeyword muttrcCommand 744*e46a4405SBram Moolenaarhighlight def link muttrcAttachmentsLine muttrcCommand 745*e46a4405SBram Moolenaarhighlight def link muttrcColorKeyword muttrcCommand 746*e46a4405SBram Moolenaarhighlight def link muttrcGroupKeyword muttrcCommand 747*e46a4405SBram Moolenaarhighlight def link muttrcListsKeyword muttrcCommand 748*e46a4405SBram Moolenaarhighlight def link muttrcMono muttrcCommand 749*e46a4405SBram Moolenaarhighlight def link muttrcPatHooks muttrcCommand 750*e46a4405SBram Moolenaarhighlight def link muttrcRXHooks muttrcCommand 751*e46a4405SBram Moolenaarhighlight def link muttrcSubscribeKeyword muttrcCommand 752*e46a4405SBram Moolenaarhighlight def link muttrcUnColorKeyword muttrcCommand 753*e46a4405SBram Moolenaar 754*e46a4405SBram Moolenaarhighlight def link muttrcAliasFormatEscapes muttrcEscape 755*e46a4405SBram Moolenaarhighlight def link muttrcAttachFormatEscapes muttrcEscape 756*e46a4405SBram Moolenaarhighlight def link muttrcComposeFormatEscapes muttrcEscape 757*e46a4405SBram Moolenaarhighlight def link muttrcFolderFormatEscapes muttrcEscape 758*e46a4405SBram Moolenaarhighlight def link muttrcGroupIndexFormatEscapes muttrcEscape 759*e46a4405SBram Moolenaarhighlight def link muttrcIndexFormatEscapes muttrcEscape 760*e46a4405SBram Moolenaarhighlight def link muttrcMixFormatEscapes muttrcEscape 761*e46a4405SBram Moolenaarhighlight def link muttrcPGPCmdFormatEscapes muttrcEscape 762*e46a4405SBram Moolenaarhighlight def link muttrcPGPFormatEscapes muttrcEscape 763*e46a4405SBram Moolenaarhighlight def link muttrcPGPTimeEscapes muttrcEscape 764*e46a4405SBram Moolenaarhighlight def link muttrcQueryFormatEscapes muttrcEscape 765*e46a4405SBram Moolenaarhighlight def link muttrcShellString muttrcEscape 766*e46a4405SBram Moolenaarhighlight def link muttrcSidebarFormatEscapes muttrcEscape 767*e46a4405SBram Moolenaarhighlight def link muttrcSmimeFormatEscapes muttrcEscape 768*e46a4405SBram Moolenaarhighlight def link muttrcStatusFormatEscapes muttrcEscape 769*e46a4405SBram Moolenaarhighlight def link muttrcTimeEscapes muttrcEscape 770*e46a4405SBram Moolenaar 771*e46a4405SBram Moolenaarhighlight def link muttrcAliasFormatConditionals muttrcFormatConditionals2 772*e46a4405SBram Moolenaarhighlight def link muttrcAttachFormatConditionals muttrcFormatConditionals2 773*e46a4405SBram Moolenaarhighlight def link muttrcComposeFormatConditionals muttrcFormatConditionals2 774*e46a4405SBram Moolenaarhighlight def link muttrcFolderFormatConditionals muttrcFormatConditionals2 775*e46a4405SBram Moolenaarhighlight def link muttrcIndexFormatConditionals muttrcFormatConditionals2 776*e46a4405SBram Moolenaarhighlight def link muttrcMixFormatConditionals muttrcFormatConditionals2 777*e46a4405SBram Moolenaarhighlight def link muttrcPGPCmdFormatConditionals muttrcFormatConditionals2 778*e46a4405SBram Moolenaarhighlight def link muttrcPGPFormatConditionals muttrcFormatConditionals2 779*e46a4405SBram Moolenaarhighlight def link muttrcSmimeFormatConditionals muttrcFormatConditionals2 780*e46a4405SBram Moolenaarhighlight def link muttrcStatusFormatConditionals muttrcFormatConditionals2 781*e46a4405SBram Moolenaar 782*e46a4405SBram Moolenaarhighlight def link muttrcAddrDef muttrcGroupFlag 783*e46a4405SBram Moolenaarhighlight def link muttrcRXDef muttrcGroupFlag 784*e46a4405SBram Moolenaar 785*e46a4405SBram Moolenaarhighlight def link muttrcAliasFormatStr muttrcString 786*e46a4405SBram Moolenaarhighlight def link muttrcAttachFormatStr muttrcString 787*e46a4405SBram Moolenaarhighlight def link muttrcComposeFormatStr muttrcString 788*e46a4405SBram Moolenaarhighlight def link muttrcFolderFormatStr muttrcString 789*e46a4405SBram Moolenaarhighlight def link muttrcGroupIndexFormatStr muttrcString 790*e46a4405SBram Moolenaarhighlight def link muttrcIndexFormatStr muttrcString 791*e46a4405SBram Moolenaarhighlight def link muttrcMixFormatStr muttrcString 792*e46a4405SBram Moolenaarhighlight def link muttrcPGPCmdFormatStr muttrcString 793*e46a4405SBram Moolenaarhighlight def link muttrcPGPFormatStr muttrcString 794*e46a4405SBram Moolenaarhighlight def link muttrcQueryFormatStr muttrcString 795*e46a4405SBram Moolenaarhighlight def link muttrcSidebarFormatStr muttrcString 796*e46a4405SBram Moolenaarhighlight def link muttrcSmimeFormatStr muttrcString 797*e46a4405SBram Moolenaarhighlight def link muttrcStatusFormatStr muttrcString 798*e46a4405SBram Moolenaarhighlight def link muttrcStrftimeFormatStr muttrcString 799*e46a4405SBram Moolenaar 800*e46a4405SBram Moolenaarhighlight def link muttrcSetNumAssignment Number 801*e46a4405SBram Moolenaar 802*e46a4405SBram Moolenaarhighlight def link muttrcEmail Special 803*e46a4405SBram Moolenaarhighlight def link muttrcSimplePatMetas Special 804*e46a4405SBram Moolenaarhighlight def link muttrcSpecial Special 805*e46a4405SBram Moolenaarhighlight def link muttrcVariableInner Special 806*e46a4405SBram Moolenaar 807*e46a4405SBram Moolenaarhighlight def link muttrcAliasEncEmailNL SpecialChar 808*e46a4405SBram Moolenaarhighlight def link muttrcAliasENNL SpecialChar 809*e46a4405SBram Moolenaarhighlight def link muttrcAliasGroupDefNL SpecialChar 810*e46a4405SBram Moolenaarhighlight def link muttrcAliasNameNL SpecialChar 811*e46a4405SBram Moolenaarhighlight def link muttrcAliasNL SpecialChar 812*e46a4405SBram Moolenaarhighlight def link muttrcBindFunctionNL SpecialChar 813*e46a4405SBram Moolenaarhighlight def link muttrcBindKeyNL SpecialChar 814*e46a4405SBram Moolenaarhighlight def link muttrcBindMenuListNL SpecialChar 815*e46a4405SBram Moolenaarhighlight def link muttrcColorBGNL SpecialChar 816*e46a4405SBram Moolenaarhighlight def link muttrcColorFGNL SpecialChar 817*e46a4405SBram Moolenaarhighlight def link muttrcColorMatchCountNL SpecialChar 818*e46a4405SBram Moolenaarhighlight def link muttrcColorNL SpecialChar 819*e46a4405SBram Moolenaarhighlight def link muttrcColorRXNL SpecialChar 820*e46a4405SBram Moolenaarhighlight def link muttrcEscape SpecialChar 821*e46a4405SBram Moolenaarhighlight def link muttrcKeyName SpecialChar 822*e46a4405SBram Moolenaarhighlight def link muttrcKeySpecial SpecialChar 823*e46a4405SBram Moolenaarhighlight def link muttrcMacroBodyNL SpecialChar 824*e46a4405SBram Moolenaarhighlight def link muttrcMacroDescrNL SpecialChar 825*e46a4405SBram Moolenaarhighlight def link muttrcMacroKeyNL SpecialChar 826*e46a4405SBram Moolenaarhighlight def link muttrcMacroMenuListNL SpecialChar 827*e46a4405SBram Moolenaarhighlight def link muttrcPatternNL SpecialChar 828*e46a4405SBram Moolenaarhighlight def link muttrcRXChars SpecialChar 829*e46a4405SBram Moolenaarhighlight def link muttrcStringNL SpecialChar 830*e46a4405SBram Moolenaarhighlight def link muttrcUnAliasNL SpecialChar 831*e46a4405SBram Moolenaarhighlight def link muttrcUnColorAPNL SpecialChar 832*e46a4405SBram Moolenaarhighlight def link muttrcUnColorIndexNL SpecialChar 833*e46a4405SBram Moolenaarhighlight def link muttrcUnColorPatNL SpecialChar 834*e46a4405SBram Moolenaar 835*e46a4405SBram Moolenaarhighlight def link muttrcAttachmentsMimeType String 836*e46a4405SBram Moolenaarhighlight def link muttrcEscapedVariable String 837*e46a4405SBram Moolenaarhighlight def link muttrcMacroDescr String 838*e46a4405SBram Moolenaarhighlight def link muttrcRXPat String 839*e46a4405SBram Moolenaarhighlight def link muttrcRXString String 840*e46a4405SBram Moolenaarhighlight def link muttrcRXString2 String 841*e46a4405SBram Moolenaarhighlight def link muttrcSetStrAssignment String 842*e46a4405SBram Moolenaarhighlight def link muttrcString String 843*e46a4405SBram Moolenaar 844*e46a4405SBram Moolenaarhighlight def link muttrcAliasParens Type 845*e46a4405SBram Moolenaarhighlight def link muttrcAttachmentsFlag Type 846*e46a4405SBram Moolenaarhighlight def link muttrcColor Type 847*e46a4405SBram Moolenaarhighlight def link muttrcFormatConditionals2 Type 848*e46a4405SBram Moolenaarhighlight def link muttrcGroupFlag Type 849*e46a4405SBram Moolenaarhighlight def link muttrcHeader Type 850*e46a4405SBram Moolenaarhighlight def link muttrcHooks Type 851*e46a4405SBram Moolenaarhighlight def link muttrcKey Type 852*e46a4405SBram Moolenaarhighlight def link muttrcPatHookNot Type 853*e46a4405SBram Moolenaarhighlight def link muttrcRXHookNot Type 854*e46a4405SBram Moolenaarhighlight def link muttrcStrftimeEscapes Type 855*e46a4405SBram Moolenaar 85601164a65SBram Moolenaarlet b:current_syntax = "neomuttrc" 85701164a65SBram Moolenaar 85801164a65SBram Moolenaarlet &cpo = s:cpo_save 85901164a65SBram Moolenaarunlet s:cpo_save 8607dda86f2SBram Moolenaar 8617dda86f2SBram Moolenaar" vim: ts=8 noet tw=100 sw=8 sts=0 ft=vim isk+=- 862