Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
neomuttrc.vim912 linesDownload Raw Back to syntax
1" Vim syntax file2" Language:	NeoMutt setup files3" Maintainer:	Richard Russon <rich@flatcap.org>4" Previous Maintainer:	Guillaume Brogi <gui-gui@netcourrier.com>5" Last Change:	2024 Oct 126" Original version based on syntax/muttrc.vim7 8" This file covers NeoMutt 2024-10-029 10" quit when a syntax file was already loaded11if exists("b:current_syntax")12  finish13endif14 15let s:cpo_save = &cpo16set cpo&vim17 18" Set the keyword characters19setlocal isk=@,48-57,_,-20 21" handling optional variables22syntax match muttrcComment	"^# .*$" contains=@Spell23syntax match muttrcComment	"^#[^ ].*$"24syntax match muttrcComment	"^#$"25syntax match muttrcComment	"[^\\]#.*$"lc=1 contains=@Spell26 27" Escape sequences (back-tick and pipe goes here too)28syntax match muttrcEscape	+\\[#tnr"'Cc ]+29syntax match muttrcEscape	+[`|]+30syntax match muttrcEscape	+\\$+31 32" The variables takes the following arguments33syntax region muttrcString	contained keepend start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcCommand,muttrcAction,muttrcShellString34syntax region muttrcString	contained keepend start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcCommand,muttrcAction35syntax match muttrcStringNL	contained skipwhite skipnl "\s*\\$" nextgroup=muttrcString,muttrcStringNL36 37syntax region muttrcShellString	matchgroup=muttrcEscape keepend start=+`+ skip=+\\`+ end=+`+ contains=muttrcVarString,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcCommand38 39syntax match  muttrcRXChars	contained /[^\\][][.*?+]\+/hs=s+140syntax match  muttrcRXChars	contained /[][|()][.*?+]*/41syntax match  muttrcRXChars	contained /['"]^/ms=s+142syntax match  muttrcRXChars	contained /$['"]/me=e-143syntax match  muttrcRXChars	contained /\\/44" Why does muttrcRXString2 work with one \ when muttrcRXString requires two?45syntax region muttrcRXString	contained skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXChars46syntax region muttrcRXString	contained skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXChars47syntax region muttrcRXString	contained skipwhite start=+[^	 "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXChars48" For some reason, skip refuses to match backslashes here...49syntax region muttrcRXString	contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXChars50syntax region muttrcRXString	contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXChars51syntax region muttrcRXString2	contained skipwhite start=+'+ skip=+\'+ end=+'+ contains=muttrcRXChars52syntax region muttrcRXString2	contained skipwhite start=+"+ skip=+\"+ end=+"+ contains=muttrcRXChars53 54" these must be kept synchronized with muttrcRXString, but are intended for muttrcRXHooks55syntax region muttrcRXHookString	contained keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL56syntax region muttrcRXHookString	contained keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL57syntax region muttrcRXHookString	contained keepend skipwhite start=+[^	 "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL58syntax region muttrcRXHookString	contained keepend skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL59syntax region muttrcRXHookString	contained keepend matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL60syntax match muttrcRXHookStringNL	contained skipwhite skipnl "\s*\\$" nextgroup=muttrcRXHookString,muttrcRXHookStringNL61 62" these are exclusively for args lists (e.g. -rx pat pat pat ...)63syntax region muttrcRXPat	contained keepend skipwhite start=+'+ skip=+\\'+ end=+'\s*+ contains=muttrcRXString nextgroup=muttrcRXPat64syntax region muttrcRXPat	contained keepend skipwhite start=+"+ skip=+\\"+ end=+"\s*+ contains=muttrcRXString nextgroup=muttrcRXPat65syntax match muttrcRXPat	contained /[^-'"#!]\S\+/ skipwhite contains=muttrcRXChars nextgroup=muttrcRXPat66syntax match muttrcRXDef	contained "-rx\s\+" skipwhite nextgroup=muttrcRXPat67 68syntax match muttrcSpecial	+\(['"]\)!\1+69 70syntax match muttrcSetStrAssignment  contained skipwhite /=\s*\%(\\\?\$\)\?[0-9A-Za-z_-]\+/hs=s+1       nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString contains=muttrcVariable,muttrcEscapedVariable71syntax region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*"+hs=s+1 end=+"+ skip=+\\"+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString contains=muttrcString72syntax region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*'+hs=s+1 end=+'+ skip=+\\'+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString contains=muttrcString73syntax match muttrcSetBoolAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1                         nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString contains=muttrcVariable,muttrcEscapedVariable74syntax match muttrcSetBoolAssignment contained skipwhite /=\s*\%(yes\|no\)/hs=s+1                       nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString75syntax match muttrcSetBoolAssignment contained skipwhite /=\s*"\%(yes\|no\)"/hs=s+1                     nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString76syntax match muttrcSetBoolAssignment contained skipwhite /=\s*'\%(yes\|no\)'/hs=s+1                     nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString77syntax match muttrcSetQuadAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1                         nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString contains=muttrcVariable,muttrcEscapedVariable78syntax match muttrcSetQuadAssignment contained skipwhite /=\s*\%(ask-\)\?\%(yes\|no\)/hs=s+1            nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString79syntax match muttrcSetQuadAssignment contained skipwhite /=\s*"\%(ask-\)\?\%(yes\|no\)"/hs=s+1          nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString80syntax match muttrcSetQuadAssignment contained skipwhite /=\s*'\%(ask-\)\?\%(yes\|no\)'/hs=s+1          nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString81syntax match muttrcSetNumAssignment  contained skipwhite /=\s*\\\?\$\w\+/hs=s+1                         nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString contains=muttrcVariable,muttrcEscapedVariable82syntax match muttrcSetNumAssignment  contained skipwhite /=\s*\d\+/hs=s+1                               nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString83syntax match muttrcSetNumAssignment  contained skipwhite /=\s*"\d\+"/hs=s+1                             nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString84syntax match muttrcSetNumAssignment  contained skipwhite /=\s*'\d\+'/hs=s+1                             nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString85 86" Now catch some email addresses and headers (purified version from mail.vim)87syntax match muttrcEmail	"[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+"88syntax match muttrcHeader	"\<\c\%(From\|To\|C[Cc]\|B[Cc][Cc]\|Reply-To\|Subject\|Return-Path\|Received\|Date\|Replied\|Attach\)\>:\="89 90syntax match   muttrcKeySpecial	contained +\%(\\[Cc'"]\|\^\|\\[01]\d\{2}\)+91syntax match   muttrcKey	contained "\S\+"			contains=muttrcKeySpecial,muttrcKeyName92syntax region  muttrcKey	contained start=+"+ skip=+\\\\\|\\"+ end=+"+	contains=muttrcKeySpecial,muttrcKeyName93syntax region  muttrcKey	contained start=+'+ skip=+\\\\\|\\'+ end=+'+	contains=muttrcKeySpecial,muttrcKeyName94syntax match   muttrcKeyName	contained "\\[trne]"95syntax match   muttrcKeyName	contained "\c<\%(BackSpace\|BackTab\|Delete\|Down\|End\|Enter\|Esc\|Home\|Insert\|Left\|Next\|PageDown\|PageUp\|Return\|Right\|Space\|Tab\|Up\)>"96syntax match   muttrcKeyName	contained "\c<F\d\+>"97 98syntax match muttrcFormatErrors contained /%./99 100syntax match muttrcStrftimeEscapes contained /%[AaBbCcDdeFGgHhIjklMmnpRrSsTtUuVvWwXxYyZz+%]/101syntax match muttrcStrftimeEscapes contained /%E[cCxXyY]/102syntax match muttrcStrftimeEscapes contained /%O[BdeHImMSuUVwWy]/103 104" Defines syntax matches for muttrc[baseName]Escapes, muttrc[baseName]Conditionals105" If padding==1, also match `%>` `%|` `%*` expandos106" If conditional==1, some expandos support %X? format107syntax match muttrcFormatConditionals2 contained /[^?]*?/108function! s:escapesConditionals(baseName, sequence, padding, conditional)109	exec 'syntax match muttrc' . a:baseName . 'Escapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?\%(' . a:sequence . '\|%\)/'110	if a:padding111		exec 'syntax match muttrc' . a:baseName . 'Escapes contained /%[>|*]./'112	endif113	if a:conditional114		exec 'syntax match muttrc' . a:baseName . 'Conditionals contained /%?\%(' . a:sequence . '\)?/ nextgroup=muttrcFormatConditionals2'115	else116		exec 'syntax match muttrc' . a:baseName . 'Conditionals contained /%?\%(' . a:sequence . '\)?/'117	endif118endfunction119 120" CHECKED 2024 Oct 12121" Ref: AliasFormatDef in alias/config.c122call s:escapesConditionals('AliasFormat', '[acfnrtY]', 1, 0)123" Ref: AttachFormatDef in mutt_config.c124call s:escapesConditionals('AttachFormat', '[CcDdeFfIMmnQsTtuX]', 1, 1)125" Ref: AutocryptFormatDef in autocrypt/config.c126call s:escapesConditionals('AutocryptFormat', '[aknps]', 1, 0)127" Ref: ComposeFormatDef in compose/config.c128call s:escapesConditionals('ComposeFormat', '[ahlv]', 1, 1)129" Ref: FolderFormatDef in browser/config.c130call s:escapesConditionals('FolderFormat', '[aCDdFfgilmNnpstu[]', 1, 1)131" Ref: GreetingFormatDef in send/config.c132call s:escapesConditionals('GreetingFormat', '[nuv]', 0, 0)133" Ref: GroupIndexFormatDef in browser/config.c134call s:escapesConditionals('GroupIndexFormat', '[aCdfMNnps]', 1, 0)135" Ref: HistoryFormatDef in history/config.c136call s:escapesConditionals('HistoryFormat', '[Cs]', 1, 0)137" Ref: IndexFormatDef in mutt_config.c138call s:escapesConditionals('IndexFormat', '[AaBbCDdEefgHIiJKLlMmNnOPqRrSsTtuvWXxYyZ(<[{]\|@\i\+@\|G[a-zA-Z]\+\|Fp\=\|z[cst]\|cr\=', 1, 1)139" Ref: PatternFormatDef in pattern/config.c140call s:escapesConditionals('PatternFormat', '[den]', 1, 0)141" Ref: PgpCommandFormatDef in ncrypt/config.c142call s:escapesConditionals('PgpCommandFormat', '[afprs]', 0, 1)143" Ref: PgpEntryFormatDef in ncrypt/config.c144call s:escapesConditionals('PgpEntryFormat', '[AaCcFfIiKkLlnptu[]', 1, 1)145" Ref: QueryFormatDef in alias/config.c146call s:escapesConditionals('QueryFormat', '[acentY]', 1, 1)147" Ref: SidebarFormatDef in sidebar/config.c148call s:escapesConditionals('SidebarFormat', '[!aBDdFLNnoprStZ]', 1, 1)149" Ref: SmimeCommandFormatDef in ncrypt/config.c150call s:escapesConditionals('SmimeCommandFormat', '[aCcdfiks]', 0, 1)151" Ref: StatusFormatDef in mutt_config.c152call s:escapesConditionals('StatusFormat', '[bDdFfhLlMmnoPpRrSsTtuVv]', 1, 1)153 154syntax region muttrcAliasFormatString         contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAliasFormatEscapes,muttrcAliasFormatConditionals,muttrcFormatErrors                                   nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString155syntax region muttrcAliasFormatString         contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAliasFormatEscapes,muttrcAliasFormatConditionals,muttrcFormatErrors                                   nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString156syntax region muttrcAttachFormatString        contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors                                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString157syntax region muttrcAttachFormatString        contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors                                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString158syntax region muttrcAutocryptFormatString     contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAutocryptFormatEscapes,muttrcAutocryptFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString159syntax region muttrcAutocryptFormatString     contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAutocryptFormatEscapes,muttrcAutocryptFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString160syntax region muttrcComposeFormatString       contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcComposeFormatEscapes,muttrcComposeFormatConditionals,muttrcFormatErrors                               nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString161syntax region muttrcComposeFormatString       contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcComposeFormatEscapes,muttrcComposeFormatConditionals,muttrcFormatErrors                               nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString162syntax region muttrcFolderFormatString        contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors                                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString163syntax region muttrcFolderFormatString        contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors                                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString164syntax region muttrcGreetingFormatString      contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcGreetingFormatEscapes,muttrcGreetingFormatConditionals,muttrcFormatErrors                             nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString165syntax region muttrcGreetingFormatString      contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcGreetingFormatEscapes,muttrcGreetingFormatConditionals,muttrcFormatErrors                             nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString166syntax region muttrcGroupIndexFormatString    contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcGroupIndexFormatEscapes,muttrcGroupIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes       nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString167syntax region muttrcGroupIndexFormatString    contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcGroupIndexFormatEscapes,muttrcGroupIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes       nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString168syntax region muttrcHistoryFormatString       contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcHistoryFormatEscapes,muttrcHistoryFormatConditionals,muttrcFormatErrors                               nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString169syntax region muttrcHistoryFormatString       contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcHistoryFormatEscapes,muttrcHistoryFormatConditionals,muttrcFormatErrors                               nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString170syntax region muttrcIndexFormatString         contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString171syntax region muttrcIndexFormatString         contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString172syntax region muttrcPatternFormatString       contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPatternFormatEscapes,muttrcPatternFormatConditionals,muttrcFormatErrors                               nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString173syntax region muttrcPatternFormatString       contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPatternFormatEscapes,muttrcPatternFormatConditionals,muttrcFormatErrors                               nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString174syntax region muttrcPgpCommandFormatString    contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPgpCommandFormatEscapes,muttrcPgpCommandFormatConditionals,muttrcVariable,muttrcFormatErrors          nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString175syntax region muttrcPgpCommandFormatString    contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPgpCommandFormatEscapes,muttrcPgpCommandFormatConditionals,muttrcVariable,muttrcFormatErrors          nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString176syntax region muttrcPgpEntryFormatString      contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPgpEntryFormatEscapes,muttrcPgpEntryFormatConditionals,muttrcFormatErrors,muttrcPgpTimeEscapes        nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString177syntax region muttrcPgpEntryFormatString      contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPgpEntryFormatEscapes,muttrcPgpEntryFormatConditionals,muttrcFormatErrors,muttrcPgpTimeEscapes        nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString178syntax region muttrcQueryFormatString         contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors                                   nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString179syntax region muttrcQueryFormatString         contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors                                   nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString180syntax region muttrcSidebarFormatString       contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSidebarFormatEscapes,muttrcSidebarFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes             nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString181syntax region muttrcSidebarFormatString       contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSidebarFormatEscapes,muttrcSidebarFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes             nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString182syntax region muttrcSmimeCommandFormatString  contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSmimeCommandFormatEscapes,muttrcSmimeCommandFormatConditionals,muttrcVariable,muttrcFormatErrors      nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString183syntax region muttrcSmimeCommandFormatString  contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSmimeCommandFormatEscapes,muttrcSmimeCommandFormatConditionals,muttrcVariable,muttrcFormatErrors      nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString184syntax region muttrcStatusFormatString        contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors                                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString185syntax region muttrcStatusFormatString        contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors                                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString186syntax region muttrcStrftimeFormatString      contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStrftimeEscapes,muttrcFormatErrors                                                                    nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString187syntax region muttrcStrftimeFormatString      contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStrftimeEscapes,muttrcFormatErrors                                                                    nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString188 189" Format escapes and conditionals190syntax match muttrcFormatConditionals2 contained /[^?]*?/191 192syntax region muttrcPgpTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes193syntax region muttrcTimeEscapes    contained start=+%(+  end=+)+  contains=muttrcStrftimeEscapes194syntax region muttrcTimeEscapes    contained start=+%<+  end=+>+  contains=muttrcStrftimeEscapes195syntax region muttrcTimeEscapes    contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes196syntax region muttrcTimeEscapes    contained start=+%{+  end=+}+  contains=muttrcStrftimeEscapes197 198syntax match muttrcVarEqualsAliasFormat         contained skipwhite "=" nextgroup=muttrcAliasFormatString199syntax match muttrcVarEqualsAttachFormat        contained skipwhite "=" nextgroup=muttrcAttachFormatString200syntax match muttrcVarEqualsAutocryptFormat     contained skipwhite "=" nextgroup=muttrcAutocryptFormatString201syntax match muttrcVarEqualsComposeFormat       contained skipwhite "=" nextgroup=muttrcComposeFormatString202syntax match muttrcVarEqualsFolderFormat        contained skipwhite "=" nextgroup=muttrcFolderFormatString203syntax match muttrcVarEqualsGreetingFormat      contained skipwhite "=" nextgroup=muttrcGreetingFormatString204syntax match muttrcVarEqualsGroupIndexFormat    contained skipwhite "=" nextgroup=muttrcGroupIndexFormatString205syntax match muttrcVarEqualsHistoryFormat       contained skipwhite "=" nextgroup=muttrcHistoryFormatString206syntax match muttrcVarEqualsIndexFormat         contained skipwhite "=" nextgroup=muttrcIndexFormatString207syntax match muttrcVarEqualsPatternFormat       contained skipwhite "=" nextgroup=muttrcPatternFormatString208syntax match muttrcVarEqualsPgpCommandFormat    contained skipwhite "=" nextgroup=muttrcPgpCommandFormatString209syntax match muttrcVarEqualsPgpEntryFormat      contained skipwhite "=" nextgroup=muttrcPgpEntryFormatString210syntax match muttrcVarEqualsQueryFormat         contained skipwhite "=" nextgroup=muttrcQueryFormatString211syntax match muttrcVarEqualsSidebarFormat       contained skipwhite "=" nextgroup=muttrcSidebarFormatString212syntax match muttrcVarEqualsSmimeCommandFormat  contained skipwhite "=" nextgroup=muttrcSmimeCommandFormatString213syntax match muttrcVarEqualsStatusFormat        contained skipwhite "=" nextgroup=muttrcStatusFormatString214syntax match muttrcVarEqualsStrftimeFormat      contained skipwhite "=" nextgroup=muttrcStrftimeFormatString215 216syntax match muttrcVPrefix contained /[?&]/ nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString217 218" CHECKED 2024 Oct 12219" List of the different screens in NeoMutt (see MenuNames in menu/type.c)220syntax keyword muttrcMenu contained alias attach autocrypt browser compose dialog editor generic index key_select_pgp key_select_smime pager pgp postpone query smime221syntax match muttrcMenuList "\S\+" contained contains=muttrcMenu222syntax match muttrcMenuCommas /,/ contained223 224syntax region muttrcSpamPattern	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL225syntax region muttrcSpamPattern	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL226 227syntax region muttrcNoSpamPattern	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern228syntax region muttrcNoSpamPattern	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern229 230syntax match muttrcAttachmentsMimeType contained "[*a-z0-9_-]\+/[*a-z0-9._-]\+\s*" skipwhite nextgroup=muttrcAttachmentsMimeType231syntax match muttrcAttachmentsFlag contained "[+-]\%([AI]\|inline\|attachment\)\s\+" skipwhite nextgroup=muttrcAttachmentsMimeType232syntax match muttrcAttachmentsLine "^\s*\%(un\)\?attachments\s\+" skipwhite nextgroup=muttrcAttachmentsFlag233 234syntax match muttrcUnHighlightSpace contained "\%(\s\+\|\\$\)"235 236syntax keyword muttrcAsterisk	contained *237 238syntax keyword muttrcListsKeyword	lists skipwhite nextgroup=muttrcGroupDef,muttrcComment239syntax keyword muttrcListsKeyword	unlists skipwhite nextgroup=muttrcAsterisk,muttrcComment240 241syntax keyword muttrcSubscribeKeyword	subscribe skipwhite nextgroup=muttrcGroupDef,muttrcComment242syntax keyword muttrcSubscribeKeyword	unsubscribe skipwhite nextgroup=muttrcAsterisk,muttrcComment243 244syntax keyword muttrcAlternateKeyword contained alternates unalternates245syntax region muttrcAlternatesLine keepend start=+^\s*\%(un\)\?alternates\s+ skip=+\\$+ end=+$+ contains=muttrcAlternateKeyword,muttrcGroupDef,muttrcRXPat,muttrcUnHighlightSpace,muttrcComment246 247" muttrcVariable includes a prefix because partial strings are considered valid.248syntax match muttrcVariable	contained "\\\@<![a-zA-Z_-]*\$[a-zA-Z_-]\+" contains=muttrcVariableInner249syntax match muttrcVariableInner	contained "\$[a-zA-Z_-]\+"250syntax match muttrcEscapedVariable	contained "\\\$[a-zA-Z_-]\+"251 252syntax match muttrcBadAction	contained "[^<>]\+" contains=muttrcEmail253syntax match muttrcAction		contained "<[^>]\{-}>" contains=muttrcBadAction,muttrcFunction,muttrcKeyName254 255" CHECKED 2024 Oct 12256" First, hooks that take regular expressions:257syntax match  muttrcRXHookNot		contained /!\s*/ skipwhite nextgroup=muttrcRXHookString,muttrcRXHookStringNL258syntax match  muttrcRXHookNoRegex	contained /-noregex/ skipwhite nextgroup=muttrcRXHookString,muttrcRXHookStringNL259syntax match  muttrcRXHooks	/\<\%(account\|append\|close\|crypt\|open\|pgp\|shutdown\|startup\|timeout\)-hook\>/ skipwhite nextgroup=muttrcRXHookNot,muttrcRXHookString,muttrcRXHookStringNL260syntax match  muttrcRXHooks	/\<\%(folder\|mbox\)-hook\>/ skipwhite nextgroup=muttrcRXHookNoRegex,muttrcRXHookNot,muttrcRXHookString,muttrcRXHookStringNL261 262" Now, hooks that take patterns263syntax match muttrcPatHookNot	contained /!\s*/ skipwhite nextgroup=muttrcPattern264syntax match muttrcPatHooks	/\<\%(charset\|iconv\|index-format\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcPattern265syntax match muttrcPatHooks	/\<\%(message\|reply\|send\|send2\|save\|fcc\|fcc-save\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcOptPattern266 267" Global hooks that take a command268syntax keyword muttrcHooks skipwhite shutdown-hook startup-hook timeout-hook nextgroup=muttrcCommand269 270syntax match muttrcBindFunction		contained /\S\+\>/ skipwhite contains=muttrcFunction271syntax match muttrcBindFunctionNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindFunction,muttrcBindFunctionNL272syntax match muttrcBindKey		contained /\S\+/   skipwhite contains=muttrcKey nextgroup=muttrcBindFunction,muttrcBindFunctionNL273syntax match muttrcBindKeyNL		contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindKey,muttrcBindKeyNL274syntax match muttrcBindMenuList		contained /\S\+/   skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcBindKey,muttrcBindKeyNL275syntax match muttrcBindMenuListNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindMenuList,muttrcBindMenuListNL276 277syntax region muttrcMacroDescr	contained keepend skipwhite start=+\s*\S+ms=e skip=+\\ + end=+ \|$+me=s278syntax region muttrcMacroDescr	contained keepend skipwhite start=+'+ms=e skip=+\\'+ end=+'+me=s279syntax region muttrcMacroDescr	contained keepend skipwhite start=+"+ms=e skip=+\\"+ end=+"+me=s280syntax match muttrcMacroDescrNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroDescr,muttrcMacroDescrNL281syntax region muttrcMacroBody	contained skipwhite start="\S" skip='\\ \|\\$' end=' \|$' contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction nextgroup=muttrcMacroDescr,muttrcMacroDescrNL282syntax 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,muttrcMacroDescrNL283syntax 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,muttrcMacroDescrNL284syntax match muttrcMacroBodyNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroBody,muttrcMacroBodyNL285syntax match muttrcMacroKey	contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcMacroBody,muttrcMacroBodyNL286syntax match muttrcMacroKeyNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroKey,muttrcMacroKeyNL287syntax match muttrcMacroMenuList	contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcMacroKey,muttrcMacroKeyNL288syntax match muttrcMacroMenuListNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL289 290syntax match muttrcAddrContent	contained "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+\s*" skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent291syntax region muttrcAddrContent	contained start=+'+ end=+'\s*+ skip=+\\'+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent292syntax region muttrcAddrContent	contained start=+"+ end=+"\s*+ skip=+\\"+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent293syntax match muttrcAddrDef	contained "-addr\s\+" skipwhite nextgroup=muttrcAddrContent294 295syntax match muttrcGroupFlag	contained "-group"296syntax region muttrcGroupDef	contained start="-group\s\+" skip="\\$" end="\s" skipwhite keepend contains=muttrcGroupFlag,muttrcUnHighlightSpace297 298syntax keyword muttrcGroupKeyword	contained group ungroup299syntax region muttrcGroupLine	keepend start=+^\s*\%(un\)\?group\s+ skip=+\\$+ end=+$+ contains=muttrcGroupKeyword,muttrcGroupDef,muttrcAddrDef,muttrcRXDef,muttrcUnHighlightSpace,muttrcComment300 301syntax match muttrcAliasGroupName	contained /\w\+/ skipwhite nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL302syntax match muttrcAliasGroupDefNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL303syntax match muttrcAliasGroupDef	contained /\s*-group/ skipwhite nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL contains=muttrcGroupFlag304syntax match muttrcAliasComma	contained /,/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL305syntax match muttrcAliasEmail	contained /\S\+@\S\+/ contains=muttrcEmail nextgroup=muttrcAliasName,muttrcAliasNameNL skipwhite306syntax match muttrcAliasEncEmail	contained /<[^>]\+>/ contains=muttrcEmail nextgroup=muttrcAliasComma307syntax match muttrcAliasEncEmailNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL308syntax match muttrcAliasNameNoParens contained /[^<(@]\+\s\+/ nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL309syntax region muttrcAliasName	contained matchgroup=Type start=/(/ end=/)/ skipwhite310syntax match muttrcAliasNameNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasName,muttrcAliasNameNL311syntax match muttrcAliasENNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL312syntax match muttrcAliasKey	contained /\s*[^- \t]\S\+/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL313syntax match muttrcAliasNL		contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL314 315syntax match muttrcUnAliasKey	contained "\s*\w\+\s*" skipwhite nextgroup=muttrcUnAliasKey,muttrcUnAliasNL316syntax match muttrcUnAliasNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcUnAliasKey,muttrcUnAliasNL317 318" CHECKED 2024 Oct 12319" List of letters in Flags in pattern/flags.c320" Parameter: none321syntax match muttrcSimplePat contained "!\?\^\?[~][ADEFGgklNOPpQRSTUuVv#$=]"322" Parameter: range323syntax match muttrcSimplePat contained "!\?\^\?[~][mnXz]\s*\%([<>-][0-9]\+[kM]\?\|[0-9]\+[kM]\?[-]\%([0-9]\+[kM]\?\)\?\)"324" Parameter: date325syntax 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,muttrcVariable326" Parameter: regex327syntax match muttrcSimplePat contained "!\?\^\?[~][BbCcefHhIiKLMstwxYy]\s*" nextgroup=muttrcSimplePatRXContainer328" Parameter: pattern329syntax match muttrcSimplePat contained "!\?\^\?[%][BbCcefHhiLstxy]\s*" nextgroup=muttrcSimplePatString330" Parameter: pattern331syntax match muttrcSimplePat contained "!\?\^\?[=][bcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString332syntax region muttrcSimplePat contained keepend start=+!\?\^\?[~](+ end=+)+ contains=muttrcSimplePat333 334"syn match muttrcSimplePat contained /'[^~=%][^']*/ contains=muttrcRXString335syntax region muttrcSimplePatString contained keepend start=+"+ end=+"+ skip=+\\"+336syntax region muttrcSimplePatString contained keepend start=+'+ end=+'+ skip=+\\'+337syntax region muttrcSimplePatString contained keepend start=+[^	 "']+ skip=+\\ + end=+\s+re=e-1338syntax region muttrcSimplePatRXContainer contained keepend start=+"+ end=+"+ skip=+\\"+ contains=muttrcRXString339syntax region muttrcSimplePatRXContainer contained keepend start=+'+ end=+'+ skip=+\\'+ contains=muttrcRXString340syntax region muttrcSimplePatRXContainer contained keepend start=+[^	 "']+ skip=+\\ + end=+\s+re=e-1 contains=muttrcRXString341syntax match muttrcSimplePatMetas contained /[(|)]/342 343syntax match muttrcOptSimplePat contained skipwhite /[~=%!(^].*/ contains=muttrcSimplePat,muttrcSimplePatMetas344syntax match muttrcOptSimplePat contained skipwhite /[^~=%!(^].*/ contains=muttrcRXString345syntax region muttrcOptPattern contained matchgroup=Type keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL346syntax region muttrcOptPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL347syntax region muttrcOptPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL348syntax match muttrcOptPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL349syntax match muttrcOptPattern contained skipwhite /[.]/ nextgroup=muttrcString,muttrcStringNL350" Keep muttrcPattern and muttrcOptPattern synchronized351syntax region muttrcPattern contained matchgroup=Type keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas352syntax region muttrcPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas353syntax region muttrcPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat354syntax match muttrcPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat355syntax match muttrcPattern contained skipwhite /[.]/356syntax region muttrcPatternInner contained keepend start=+"[~=%!(^]+ms=s+1 skip=+\\"+ end=+"+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas357syntax region muttrcPatternInner contained keepend start=+'[~=%!(^]+ms=s+1 skip=+\\'+ end=+'+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas358 359" Colour definitions takes object, foreground and background arguments (regexes excluded).360syntax match muttrcColorMatchCount	contained "[0-9]\+"361syntax match muttrcColorMatchCountNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL362syntax region muttrcColorRXPat	contained start=+\s*'+ skip=+\\'+ end=+'\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL363syntax region muttrcColorRXPat	contained start=+\s*"+ skip=+\\"+ end=+"\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL364syntax keyword muttrcColor	contained black blue cyan default green magenta red white yellow365syntax keyword muttrcColor	contained brightblack brightblue brightcyan brightdefault brightgreen brightmagenta brightred brightwhite brightyellow366syntax keyword muttrcColor	contained lightblack lightblue lightcyan lightdefault lightgreen lightmagenta lightred lightwhite lightyellow367syntax keyword muttrcColor	contained alertblack alertblue alertcyan alertdefault alertgreen alertmagenta alertred alertwhite alertyellow368syntax match   muttrcColor	contained "\<\%(bright\)\=color\d\{1,3}\>"369syntax match   muttrcColor	contained "#[0-9a-fA-F]\{6}\>"370 371" Now for the structure of the color line372syntax match muttrcColorRXNL	contained skipnl "\s*\\$" nextgroup=muttrcColorRXPat,muttrcColorRXNL373syntax match muttrcColorBG	contained /\s*[#$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorRXPat,muttrcColorRXNL374syntax match muttrcColorBGNL	contained skipnl "\s*\\$" nextgroup=muttrcColorBG,muttrcColorBGNL375syntax match muttrcColorFG	contained /\s*[#$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBG,muttrcColorBGNL376syntax match muttrcColorFGNL	contained skipnl "\s*\\$" nextgroup=muttrcColorFG,muttrcColorFGNL377syntax match muttrcColorContext	contained /\s*[#$]\?\w\+/ contains=muttrcColorField,muttrcVariable,muttrcUnHighlightSpace,muttrcColorCompose nextgroup=muttrcColorFG,muttrcColorFGNL378syntax match muttrcColorNL	contained skipnl "\s*\\$" nextgroup=muttrcColorContext,muttrcColorNL,muttrcColorCompose379syntax match muttrcColorKeyword	contained /^\s*color\s\+/ nextgroup=muttrcColorContext,muttrcColorNL,muttrcColorCompose380" And now color's brother:381syntax region muttrcUnColorPatterns contained skipwhite start=+\s*'+ end=+'+ skip=+\\'+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL382syntax region muttrcUnColorPatterns contained skipwhite start=+\s*"+ end=+"+ skip=+\\"+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL383syntax match muttrcUnColorPatterns contained skipwhite /\s*[^'"\s]\S\*/ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL384syntax match muttrcUnColorPatNL	contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL385syntax match muttrcUnColorAll	contained skipwhite /[*]/386syntax match muttrcUnColorAPNL	contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL387syntax match muttrcUnColorIndex	contained skipwhite /\s*index\s\+/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL388syntax match muttrcUnColorIndexNL	contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL389syntax match muttrcUnColorKeyword	contained skipwhite /^\s*uncolor\s\+/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL390syntax region muttrcUnColorLine keepend start=+^\s*uncolor\s+ skip=+\\$+ end=+$+ contains=muttrcUnColorKeyword,muttrcComment,muttrcUnHighlightSpace391 392syntax keyword muttrcMonoAttrib	contained bold italic none normal reverse standout underline393syntax keyword muttrcMono	contained mono		skipwhite nextgroup=muttrcColorField,muttrcColorCompose394syntax match   muttrcMonoLine	"^\s*mono\s\+\S\+"	skipwhite nextgroup=muttrcMonoAttrib contains=muttrcMono395 396" CHECKED 2024 Oct 12397" List of fields in ColorFields in color/command.c398syntax keyword muttrcColorField skipwhite contained399	\ attachment attach_headers body bold error hdrdefault header index index_author400	\ index_collapsed index_date index_flags index_label index_number index_size index_subject401	\ index_tag index_tags indicator italic markers message normal options progress prompt402	\ search sidebar_background sidebar_divider sidebar_flagged sidebar_highlight403	\ sidebar_indicator sidebar_new sidebar_ordinary sidebar_spool_file sidebar_unread signature404	\ status stripe_even stripe_odd tilde tree underline warning405	\ nextgroup=muttrcColor406 407syntax match   muttrcColorField	contained "\<quoted\d\=\>"408 409syntax match muttrcColorCompose skipwhite contained /\s*compose\s*/ nextgroup=muttrcColorComposeField410 411" CHECKED 2024 Oct 12412" List of fields in ComposeColorFields in color/command.c413syntax keyword muttrcColorComposeField skipwhite contained414	\ header security_both security_encrypt security_none security_sign415	\ nextgroup=muttrcColorFG,muttrcColorFGNL416syntax region muttrcColorLine keepend start=/^\s*color\s\+/ skip=+\\$+ end=+$+ contains=muttrcColorKeyword,muttrcComment,muttrcUnHighlightSpace417 418function! s:boolQuadGen(type, vars, deprecated)419	let l:novars = copy(a:vars)420	call map(l:novars, '"no" . v:val')421	let l:invvars = copy(a:vars)422	call map(l:invvars, '"inv" . v:val')423 424	let l:orig_type = copy(a:type)425	if a:deprecated426		let l:type = 'Deprecated' . a:type427		exec 'syntax keyword muttrcVar' . l:type . ' ' . join(a:vars)428		exec 'syntax keyword muttrcVar' . l:type . ' ' . join(l:novars)429		exec 'syntax keyword muttrcVar' . l:type . ' ' . join(l:invvars)430	else431		let l:type = a:type432		exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(a:vars) . ' nextgroup=muttrcSet' . l:orig_type . 'Assignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString'433		exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(l:novars) . ' nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString'434		exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(l:invvars) . ' nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString'435	endif436 437endfunction438 439" CHECKED 2024 Oct 12440" List of DT_BOOL in MuttVars in mutt_config.c441call s:boolQuadGen('Bool', [442	\ 'abort_backspace', 'allow_8bit', 'allow_ansi', 'arrow_cursor', 'ascii_chars', 'ask_bcc',443	\ 'ask_cc', 'ask_followup_to', 'ask_x_comment_to', 'attach_save_without_prompting',444	\ 'attach_split', 'autocrypt', 'autocrypt_reply', 'auto_edit', 'auto_subscribe', 'auto_tag',445	\ 'beep', 'beep_new', 'bounce_delivered', 'braille_friendly',446	\ 'browser_abbreviate_mailboxes', 'browser_sort_dirs_first', 'change_folder_next',447	\ 'check_mbox_size', 'check_new', 'collapse_all', 'collapse_flagged', 'collapse_unread',448	\ 'color_directcolor', 'compose_confirm_detach_first', 'compose_show_user_headers',449	\ 'confirm_append', 'confirm_create', 'copy_decode_weed', 'count_alternatives',450	\ 'crypt_auto_encrypt', 'crypt_auto_pgp', 'crypt_auto_sign', 'crypt_auto_smime',451	\ 'crypt_confirm_hook', 'crypt_encryption_info', 'crypt_opportunistic_encrypt',452	\ 'crypt_opportunistic_encrypt_strong_keys', 'crypt_protected_headers_read',453	\ 'crypt_protected_headers_save', 'crypt_protected_headers_weed',454	\ 'crypt_protected_headers_write', 'crypt_reply_encrypt', 'crypt_reply_sign',455	\ 'crypt_reply_sign_encrypted', 'crypt_timestamp', 'crypt_use_gpgme', 'crypt_use_pka',456	\ 'delete_untag', 'digest_collapse', 'duplicate_threads', 'edit_headers', 'encode_from',457	\ 'fast_reply', 'fcc_before_send', 'fcc_clear', 'flag_safe', 'followup_to', 'force_name',458	\ 'forward_decode', 'forward_decrypt', 'forward_quote', 'forward_references', 'hdrs',459	\ 'header', 'header_color_partial', 'help', 'hidden_host', 'hide_limited', 'hide_missing',460	\ 'hide_thread_subject', 'hide_top_limited', 'hide_top_missing', 'history_remove_dups',461	\ 'honor_disposition', 'idn_decode', 'idn_encode', 'ignore_list_reply_to',462	\ 'imap_check_subscribed', 'imap_condstore', 'imap_deflate', 'imap_idle',463	\ 'imap_list_subscribed', 'imap_passive', 'imap_peek', 'imap_qresync', 'imap_rfc5161',464	\ 'imap_send_id', 'imap_server_noise', 'implicit_auto_view', 'include_encrypted',465	\ 'include_only_first', 'keep_flagged', 'local_date_header', 'mailcap_sanitize',466	\ 'maildir_check_cur', 'maildir_header_cache_verify', 'maildir_trash', 'mail_check_recent',467	\ 'mail_check_stats', 'markers', 'mark_old', 'menu_move_off', 'menu_scroll',468	\ 'message_cache_clean', 'meta_key', 'me_too', 'mh_purge', 'mime_forward_decode',469	\ 'mime_type_query_first', 'narrow_tree', 'nm_query_window_enable', 'nm_record',470	\ 'nntp_listgroup', 'nntp_load_description', 'pager_stop', 'pgp_auto_decode',471	\ 'pgp_auto_inline', 'pgp_check_exit', 'pgp_check_gpg_decrypt_status_fd',472	\ 'pgp_ignore_subkeys', 'pgp_long_ids', 'pgp_reply_inline', 'pgp_retainable_sigs',473	\ 'pgp_self_encrypt', 'pgp_show_unusable', 'pgp_strict_enc', 'pgp_use_gpg_agent',474	\ 'pipe_decode', 'pipe_decode_weed', 'pipe_split', 'pop_auth_try_all', 'pop_last',475	\ 'postpone_encrypt', 'print_decode', 'print_decode_weed', 'print_split', 'prompt_after',476	\ 'read_only', 'reflow_space_quotes', 'reflow_text', 'reply_self', 'reply_with_xorig',477	\ 'resolve', 'resume_draft_files', 'resume_edited_draft_files', 'reverse_alias',478	\ 'reverse_name', 'reverse_real_name', 'rfc2047_parameters', 'save_address', 'save_empty',479	\ 'save_name', 'save_unsubscribed', 'score', 'show_new_news', 'show_only_unread',480	\ 'sidebar_folder_indent', 'sidebar_new_mail_only', 'sidebar_next_new_wrap',481	\ 'sidebar_non_empty_mailbox_only', 'sidebar_on_right', 'sidebar_short_path',482	\ 'sidebar_visible', 'sig_dashes', 'sig_on_top', 'size_show_bytes', 'size_show_fractions',483	\ 'size_show_mb', 'size_units_on_left', 'smart_wrap', 'smime_ask_cert_label',484	\ 'smime_decrypt_use_default_key', 'smime_is_default', 'smime_self_encrypt', 'sort_re',485	\ 'ssl_force_tls', 'ssl_use_sslv2', 'ssl_use_sslv3', 'ssl_use_system_certs',486	\ 'ssl_use_tlsv1', 'ssl_use_tlsv1_1', 'ssl_use_tlsv1_2', 'ssl_use_tlsv1_3',487	\ 'ssl_verify_dates', 'ssl_verify_host', 'ssl_verify_partial_chains', 'status_on_top',488	\ 'strict_threads', 'suspend', 'text_flowed', 'thorough_search', 'thread_received', 'tilde',489	\ 'ts_enabled', 'tunnel_is_secure', 'uncollapse_jump', 'uncollapse_new', 'user_agent',490	\ 'use_8bit_mime', 'use_domain', 'use_envelope_from', 'use_from', 'use_ipv6',491	\ 'virtual_spool_file', 'wait_key', 'weed', 'wrap_search', 'write_bcc', 'x_comment_to'492	\ ], 0)493 494" CHECKED 2024 Oct 12495" Deprecated Bools496" List of DT_SYNONYM or DT_DEPRECATED Bools in MuttVars in mutt_config.c497call s:boolQuadGen('Bool', [498	\ 'askbcc', 'askcc', 'ask_follow_up', 'autoedit', 'confirmappend', 'confirmcreate',499	\ 'crypt_autoencrypt', 'crypt_autopgp', 'crypt_autosign', 'crypt_autosmime',500	\ 'crypt_confirmhook', 'crypt_replyencrypt', 'crypt_replysign', 'crypt_replysignencrypted',501	\ 'cursor_overlay', 'edit_hdrs', 'envelope_from', 'forw_decode', 'forw_decrypt',502	\ 'forw_quote', 'header_cache_compress', 'ignore_linear_white_space', 'imap_servernoise',503	\ 'implicit_autoview', 'include_onlyfirst', 'metoo', 'mime_subject', 'pgp_autoencrypt',504	\ 'pgp_autoinline', 'pgp_autosign', 'pgp_auto_traditional', 'pgp_create_traditional',505	\ 'pgp_replyencrypt', 'pgp_replyinline', 'pgp_replysign', 'pgp_replysignencrypted',506	\ 'pgp_self_encrypt_as', 'reverse_realname', 'smime_self_encrypt_as', 'ssl_usesystemcerts',507	\ 'use_8bitmime', 'virtual_spoolfile', 'xterm_set_titles'508	\ ], 1)509 510" CHECKED 2024 Oct 12511" List of DT_QUAD in MuttVars in mutt_config.c512call s:boolQuadGen('Quad', [513	\ 'abort_noattach', 'abort_nosubject', 'abort_unmodified', 'bounce', 'catchup_newsgroup',514	\ 'copy', 'crypt_verify_sig', 'delete', 'fcc_attach', 'followup_to_poster',515	\ 'forward_attachments', 'forward_edit', 'honor_followup_to', 'include', 'mime_forward',516	\ 'mime_forward_rest', 'move', 'pgp_mime_auto', 'pop_delete', 'pop_reconnect', 'postpone',517	\ 'post_moderated', 'print', 'quit', 'recall', 'reply_to', 'ssl_starttls'518	\ ], 0)519 520" CHECKED 2024 Oct 12521" Deprecated Quads522" List of DT_SYNONYM or DT_DEPRECATED Quads in MuttVars in mutt_config.c523call s:boolQuadGen('Quad', [524	\ 'mime_fwd', 'pgp_encrypt_self', 'pgp_verify_sig', 'smime_encrypt_self'525	\ ], 1)526 527" CHECKED 2024 Oct 12528" List of DT_NUMBER or DT_LONG in MuttVars in mutt_config.c529syntax keyword muttrcVarNum	skipwhite contained530	\ debug_level header_cache_compress_level history imap_fetch_chunk_size imap_keep_alive531	\ imap_pipeline_depth imap_poll_timeout mail_check mail_check_stats_interval menu_context532	\ net_inc nm_db_limit nm_open_timeout nm_query_window_current_position533	\ nm_query_window_duration nntp_context nntp_poll pager_context pager_index_lines534	\ pager_read_delay pager_skip_quoted_context pgp_timeout pop_check_interval read_inc535	\ reflow_wrap save_history score_threshold_delete score_threshold_flag score_threshold_read536	\ search_context sendmail_wait sidebar_component_depth sidebar_width sleep_time537	\ smime_timeout socket_timeout ssl_min_dh_prime_bits timeout time_inc538	\ toggle_quoted_show_levels wrap wrap_headers write_inc539	\ nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString540" CHECKED 2024 Oct 12541" Deprecated Numbers542syntax keyword muttrcVarDeprecatedNum543	\ connect_timeout header_cache_pagesize imap_keepalive pop_checkinterval skip_quoted_offset544 545" CHECKED 2024 Oct 12546" List of DT_STRING in MuttVars in mutt_config.c547" Special cases first, and all the rest at the end548" Formats themselves must be updated in their respective groups549" See s:escapesConditionals550syntax match   muttrcVarString	contained skipwhite 'my_[a-zA-Z0-9_]\+' nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString551syntax keyword muttrcVarString	contained skipwhite alias_format nextgroup=muttrcVarEqualsAliasFormat552syntax keyword muttrcVarString	contained skipwhite attach_format nextgroup=muttrcVarEqualsAttachFormat553syntax keyword muttrcVarString	contained skipwhite autocrypt_acct_format nextgroup=muttrcVarEqualsAutocryptFormat554syntax keyword muttrcVarString	contained skipwhite compose_format nextgroup=muttrcVarEqualsComposeFormat555syntax keyword muttrcVarString	contained skipwhite folder_format mailbox_folder_format nextgroup=muttrcVarEqualsFolderFormat556syntax keyword muttrcVarString	contained skipwhite greeting nextgroup=muttrcVarEqualsGreetingFormat557syntax keyword muttrcVarString	contained skipwhite history_format nextgroup=muttrcVarEqualsHistoryFormat558syntax keyword muttrcVarString	contained skipwhite559	\ attribution_intro attribution_trailer forward_attribution_intro forward_attribution_trailer560	\ forward_format indent_string index_format message_format pager_format561	\ nextgroup=muttrcVarEqualsIndexFormat562syntax keyword muttrcVarString	contained skipwhite pattern_format nextgroup=muttrcVarEqualsPatternFormat563syntax keyword muttrcVarString	contained skipwhite564	\ pgp_clear_sign_command pgp_decode_command pgp_decrypt_command pgp_encrypt_only_command565	\ pgp_encrypt_sign_command pgp_export_command pgp_get_keys_command pgp_import_command566	\ pgp_list_pubring_command pgp_list_secring_command pgp_sign_command pgp_verify_command567	\ pgp_verify_key_command568	\ nextgroup=muttrcVarEqualsPgpCommandFormat569syntax keyword muttrcVarString	contained skipwhite pgp_entry_format nextgroup=muttrcVarEqualsPgpEntryFormat570syntax keyword muttrcVarString	contained skipwhite query_format nextgroup=muttrcVarEqualsQueryFormat571syntax keyword muttrcVarString	contained skipwhite572	\ smime_decrypt_command smime_encrypt_command smime_get_cert_command573	\ smime_get_cert_email_command smime_get_signer_cert_command smime_import_cert_command574	\ smime_pk7out_command smime_sign_command smime_verify_command smime_verify_opaque_command575	\ nextgroup=muttrcVarEqualsSmimeCommandFormat576syntax keyword muttrcVarString	contained skipwhite status_format ts_icon_format ts_status_format nextgroup=muttrcVarEqualsStatusFormat577syntax keyword muttrcVarString	contained skipwhite date_format nextgroup=muttrcVarEqualsStrftimeFormat578syntax keyword muttrcVarString	contained skipwhite group_index_format nextgroup=muttrcVarEqualsGroupIndexFormat579syntax keyword muttrcVarString	contained skipwhite sidebar_format nextgroup=muttrcVarEqualsSidebarFormat580syntax keyword muttrcVarString	contained skipwhite581	\ abort_key arrow_string assumed_charset attach_charset attach_sep attribution_locale582	\ charset config_charset content_type crypt_protected_headers_subject default_hook583	\ dsn_notify dsn_return empty_subject header_cache_backend header_cache_compress_method584	\ hidden_tags hostname imap_authenticators imap_delim_chars imap_headers imap_login585	\ imap_pass imap_user mailcap_path maildir_field_delimiter mark_macro_prefix mh_seq_flagged586	\ mh_seq_replied mh_seq_unseen newsgroups_charset newsrc news_server nm_config_profile587	\ nm_default_url nm_exclude_tags nm_flagged_tag nm_query_type nm_query_window_current_search588	\ nm_query_window_or_terms nm_query_window_timebase nm_record_tags nm_replied_tag589	\ nm_unread_tag nntp_authenticators nntp_pass nntp_user pgp_default_key pgp_sign_as pipe_sep590	\ pop_authenticators pop_host pop_pass pop_user postpone_encrypt_as preconnect591	\ preferred_languages real_name send_charset show_multipart_alternative sidebar_delim_chars592	\ sidebar_divider_char sidebar_indent_string simple_search smime_default_key593	\ smime_encrypt_with smime_sign_as smime_sign_digest_alg smtp_authenticators smtp_pass594	\ smtp_url smtp_user spam_separator ssl_ciphers595	\ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString596 597" Deprecated strings598syntax keyword muttrcVarDeprecatedString599	\ abort_noattach_regexp attach_keyword attribution escape forw_format hdr_format indent_str600	\ message_cachedir mixmaster mix_entry_format msg_format nm_default_uri601	\ pgp_clearsign_command pgp_getkeys_command pgp_self_encrypt_as post_indent_str602	\ post_indent_string print_cmd quote_regexp realname reply_regexp smime_self_encrypt_as603	\ spoolfile tmpdir vfolder_format visual xterm_icon xterm_title604 605" CHECKED 2024 Oct 12606" List of DT_ADDRESS607syntax keyword muttrcVarString	contained skipwhite envelope_from_address from nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString608" List of DT_ENUM609syntax keyword muttrcVarString	contained skipwhite mbox_type use_threads nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString610" List of DT_MBTABLE611syntax keyword muttrcVarString	contained skipwhite crypt_chars flag_chars from_chars status_chars to_chars nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString612 613" CHECKED 2024 Oct 12614" List of DT_PATH or D_STRING_MAILBOX615syntax keyword muttrcVarString	contained skipwhite616	\ alias_file attach_save_dir autocrypt_dir certificate_file debug_file entropy_file folder617	\ header_cache history_file mbox message_cache_dir news_cache_dir nm_config_file postponed618	\ record signature smime_ca_location smime_certificates smime_keys spool_file619	\ ssl_ca_certificates_file ssl_client_cert tmp_dir trash620	\ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString621" List of DT_COMMAND (excluding pgp_*_command and smime_*_command)622syntax keyword muttrcVarString	contained skipwhite623	\ account_command display_filter editor external_search_command imap_oauth_refresh_command624	\ inews ispell mime_type_query_command new_mail_command pager pop_oauth_refresh_command625	\ print_command query_command sendmail shell smtp_oauth_refresh_command tunnel626	\ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString627 628" CHECKED 2024 Oct 12629" List of DT_REGEX630syntax keyword muttrcVarString	contained skipwhite631	\ abort_noattach_regex gecos_mask mask pgp_decryption_okay pgp_good_sign quote_regex632	\ reply_regex smileys633	\ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString634" List of DT_SORT635syntax keyword muttrcVarString	contained skipwhite636	\ pgp_sort_keys sidebar_sort_method sort sort_alias sort_aux sort_browser637	\ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString638 639" CHECKED 2024 Oct 12640" List of commands in mutt_commands in commands.c641" Remember to remove hooks, they have already been dealt with642syntax keyword muttrcCommand	skipwhite alias nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL643syntax keyword muttrcCommand	skipwhite bind nextgroup=muttrcBindMenuList,muttrcBindMenuListNL644syntax keyword muttrcCommand	skipwhite exec nextgroup=muttrcFunction645syntax keyword muttrcCommand	skipwhite macro nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL646syntax keyword muttrcCommand	skipwhite nospam nextgroup=muttrcNoSpamPattern647syntax keyword muttrcCommand	skipwhite set unset reset toggle nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString648syntax keyword muttrcCommand	skipwhite spam nextgroup=muttrcSpamPattern649syntax keyword muttrcCommand	skipwhite unalias nextgroup=muttrcUnAliasKey,muttrcUnAliasNL650syntax keyword muttrcCommand	skipwhite unhook nextgroup=muttrcHooks651syntax keyword muttrcCommand	skipwhite652	\ alternative_order attachments auto_view cd echo finish hdr_order ifdef ifndef ignore lua653	\ lua-source mailboxes mailto_allow mime_lookup my_hdr named-mailboxes push score setenv654	\ sidebar_pin sidebar_unpin source subjectrx subscribe-to tag-formats tag-transforms655	\ unalternative_order unattachments unauto_view unbind uncolor unhdr_order unignore unmacro656	\ unmailboxes unmailto_allow unmime_lookup unmono unmy_hdr unscore unsetenv unsubjectrx657	\ unsubscribe-from unvirtual-mailboxes version virtual-mailboxes658 659" CHECKED 2024 Oct 12660" Deprecated commands661syntax keyword muttrcDeprecatedCommand skipwhite662	\ sidebar_whitelist unsidebar_whitelist663 664function! s:genFunctions(functions)665	for f in a:functions666		exec 'syntax match muttrcFunction contained "\<' . l:f . '\>"'667	endfor668endfunction669 670" CHECKED 2024 Oct 12671" List of functions in functions.c672" Note: 'noop' is included but is elsewhere in the source673call s:genFunctions(['noop',674	\ 'alias-dialog', 'attach-file', 'attach-key', 'attach-message', 'attach-news-message',675	\ 'autocrypt-acct-menu', 'autocrypt-menu', 'backspace', 'backward-char', 'backward-word',676	\ 'bol', 'bottom', 'bottom-page', 'bounce-message', 'break-thread', 'buffy-cycle',677	\ 'buffy-list', 'capitalize-word', 'catchup', 'change-dir', 'change-folder',678	\ 'change-folder-readonly', 'change-newsgroup', 'change-newsgroup-readonly',679	\ 'change-vfolder', 'check-new', 'check-stats', 'check-traditional-pgp', 'clear-flag',680	\ 'collapse-all', 'collapse-parts', 'collapse-thread', 'complete', 'complete-query',681	\ 'compose-to-sender', 'copy-file', 'copy-message', 'create-account', 'create-alias',682	\ 'create-mailbox', 'current-bottom', 'current-middle', 'current-top', 'decode-copy',683	\ 'decode-save', 'decrypt-copy', 'decrypt-save', 'delete-account', 'delete-char',684	\ 'delete-entry', 'delete-mailbox', 'delete-message', 'delete-pattern', 'delete-subthread',685	\ 'delete-thread', 'descend-directory', 'detach-file', 'display-address',686	\ 'display-filename', 'display-message', 'display-toggle-weed', 'downcase-word', 'edit',687	\ 'edit-bcc', 'edit-cc', 'edit-content-id', 'edit-description', 'edit-encoding', 'edit-fcc',688	\ 'edit-file', 'edit-followup-to', 'edit-from', 'edit-headers', 'edit-label',689	\ 'edit-language', 'edit-message', 'edit-mime', 'edit-newsgroups',690	\ 'edit-or-view-raw-message', 'edit-raw-message', 'edit-reply-to', 'edit-subject',691	\ 'edit-to', 'edit-type', 'edit-x-comment-to', 'end-cond', 'enter-command', 'enter-mask',692	\ 'entire-thread', 'eol', 'error-history', 'exit', 'extract-keys', 'fetch-mail',693	\ 'filter-entry', 'first-entry', 'flag-message', 'followup-message', 'forget-passphrase',694	\ 'forward-char', 'forward-message', 'forward-to-group', 'forward-word', 'get-attachment',695	\ 'get-children', 'get-message', 'get-parent', 'goto-folder', 'goto-parent',696	\ 'group-alternatives', 'group-chat-reply', 'group-multilingual', 'group-related',697	\ 'group-reply', 'half-down', 'half-up', 'help', 'history-down', 'history-search',698	\ 'history-up', 'imap-fetch-mail', 'imap-logout-all', 'ispell', 'jump', 'kill-eol',699	\ 'kill-eow', 'kill-line', 'kill-whole-line', 'kill-word', 'last-entry', 'limit',700	\ 'limit-current-thread', 'link-threads', 'list-reply', 'list-subscribe',701	\ 'list-unsubscribe', 'mail', 'mail-key', 'mailbox-cycle', 'mailbox-list', 'mark-as-new',702	\ 'mark-message', 'middle-page', 'modify-labels', 'modify-labels-then-hide', 'modify-tags',703	\ 'modify-tags-then-hide', 'move-down', 'move-up', 'new-mime', 'next-entry', 'next-line',704	\ 'next-new', 'next-new-then-unread', 'next-page', 'next-subthread', 'next-thread',705	\ 'next-undeleted', 'next-unread', 'next-unread-mailbox', 'parent-message', 'pgp-menu',706	\ 'pipe-entry', 'pipe-message', 'post-message', 'postpone-message', 'previous-entry',707	\ 'previous-line', 'previous-new', 'previous-new-then-unread', 'previous-page',708	\ 'previous-subthread', 'previous-thread', 'previous-undeleted', 'previous-unread',709	\ 'print-entry', 'print-message', 'purge-message', 'purge-thread', 'quasi-delete', 'query',710	\ 'query-append', 'quit', 'quote-char', 'read-subthread', 'read-thread', 'recall-message',711	\ 'reconstruct-thread', 'redraw-screen', 'refresh', 'reload-active', 'rename-attachment',712	\ 'rename-file', 'rename-mailbox', 'reply', 'resend-message', 'root-message', 'save-entry',713	\ 'save-message', 'search', 'search-next', 'search-opposite', 'search-reverse',714	\ 'search-toggle', 'select-entry', 'select-new', 'send-message', 'set-flag', 'shell-escape',715	\ 'show-limit', 'show-log-messages', 'show-version', 'sidebar-first', 'sidebar-last',716	\ 'sidebar-next', 'sidebar-next-new', 'sidebar-open', 'sidebar-page-down',717	\ 'sidebar-page-up', 'sidebar-prev', 'sidebar-prev-new', 'sidebar-toggle-virtual',718	\ 'sidebar-toggle-visible', 'skip-headers', 'skip-quoted', 'smime-menu', 'sort',719	\ 'sort-alias', 'sort-alias-reverse', 'sort-mailbox', 'sort-reverse', 'subscribe',720	\ 'subscribe-pattern', 'sync-mailbox', 'tag-entry', 'tag-message', 'tag-pattern',721	\ 'tag-prefix', 'tag-prefix-cond', 'tag-subthread', 'tag-thread', 'toggle-active',722	\ 'toggle-disposition', 'toggle-mailboxes', 'toggle-new', 'toggle-prefer-encrypt',723	\ 'toggle-quoted', 'toggle-read', 'toggle-recode', 'toggle-subscribed', 'toggle-unlink',724	\ 'toggle-write', 'top', 'top-page', 'transpose-chars', 'uncatchup', 'undelete-entry',725	\ 'undelete-message', 'undelete-pattern', 'undelete-subthread', 'undelete-thread',726	\ 'ungroup-attachment', 'unsubscribe', 'unsubscribe-pattern', 'untag-pattern',727	\ 'upcase-word', 'update-encoding', 'verify-key', 'vfolder-from-query',728	\ 'vfolder-from-query-readonly', 'vfolder-window-backward', 'vfolder-window-forward',729	\ 'vfolder-window-reset', 'view-attach', 'view-attachments', 'view-file', 'view-mailcap',730	\ 'view-name', 'view-pager', 'view-raw-message', 'view-text', 'what-key', 'write-fcc'731	\ ])732 733" Define the default highlighting.734" Only when an item doesn't have highlighting yet735 736highlight def link muttrcSetBoolAssignment		Boolean737highlight def link muttrcSetQuadAssignment		Boolean738 739highlight def link muttrcComment			Comment740 741highlight def link muttrcAlternatesLine			Error742highlight def link muttrcBadAction			Error743highlight def link muttrcBindFunction			Error744highlight def link muttrcBindMenuList			Error745highlight def link muttrcColorBG			Error746highlight def link muttrcColorContext			Error747highlight def link muttrcColorFG			Error748highlight def link muttrcColorLine			Error749highlight def link muttrcDeprecatedCommand		Error750highlight def link muttrcFormatErrors			Error751highlight def link muttrcGroupLine			Error752highlight def link muttrcPattern			Error753highlight def link muttrcUnColorLine			Error754highlight def link muttrcVarDeprecatedBool		Error755highlight def link muttrcVarDeprecatedNum		Error756highlight def link muttrcVarDeprecatedQuad		Error757highlight def link muttrcVarDeprecatedString		Error758 759highlight def link muttrcAliasEncEmail			Identifier760highlight def link muttrcAliasKey			Identifier761highlight def link muttrcColorCompose			Identifier762highlight def link muttrcColorComposeField		Identifier763highlight def link muttrcColorField			Identifier764highlight def link muttrcMenu				Identifier765highlight def link muttrcSimplePat			Identifier766highlight def link muttrcUnAliasKey			Identifier767highlight def link muttrcUnColorIndex			Identifier768highlight def link muttrcVarBool			Identifier769highlight def link muttrcVarNum				Identifier770highlight def link muttrcVarQuad			Identifier771highlight def link muttrcVarString			Identifier772 773highlight def link muttrcCommand			Keyword774 775highlight def link muttrcAction				Macro776highlight def link muttrcAliasGroupName			Macro777highlight def link muttrcFunction			Macro778highlight def link muttrcGroupDef			Macro779highlight def link muttrcSimplePatString		Macro780 781highlight def link muttrcMonoAttrib			muttrcColor782 783highlight def link muttrcAlternateKeyword		muttrcCommand784highlight def link muttrcAttachmentsLine		muttrcCommand785highlight def link muttrcColorKeyword			muttrcCommand786highlight def link muttrcGroupKeyword			muttrcCommand787highlight def link muttrcListsKeyword			muttrcCommand788highlight def link muttrcMono				muttrcCommand789highlight def link muttrcPatHooks			muttrcCommand790highlight def link muttrcRXHooks			muttrcCommand791highlight def link muttrcSubscribeKeyword		muttrcCommand792highlight def link muttrcUnColorKeyword			muttrcCommand793 794highlight def link muttrcAliasFormatEscapes		muttrcEscape795highlight def link muttrcAttachFormatEscapes		muttrcEscape796highlight def link muttrcAutocryptFormatEscapes		muttrcEscape797highlight def link muttrcComposeFormatEscapes		muttrcEscape798highlight def link muttrcFolderFormatEscapes		muttrcEscape799highlight def link muttrcGreetingFormatEscapes		muttrcEscape800highlight def link muttrcGroupIndexFormatEscapes	muttrcEscape801highlight def link muttrcHistoryFormatEscapes		muttrcEscape802highlight def link muttrcIndexFormatEscapes		muttrcEscape803highlight def link muttrcPatternFormatEscapes		muttrcEscape804highlight def link muttrcPgpCommandFormatEscapes	muttrcEscape805highlight def link muttrcPgpEntryFormatEscapes		muttrcEscape806highlight def link muttrcPgpTimeEscapes			muttrcEscape807highlight def link muttrcQueryFormatEscapes		muttrcEscape808highlight def link muttrcShellString			muttrcEscape809highlight def link muttrcSidebarFormatEscapes		muttrcEscape810highlight def link muttrcSmimeCommandFormatEscapes	muttrcEscape811highlight def link muttrcStatusFormatEscapes		muttrcEscape812highlight def link muttrcTimeEscapes			muttrcEscape813 814highlight def link muttrcAliasFormatConditionals	 muttrcFormatConditionals2815highlight def link muttrcAttachFormatConditionals	 muttrcFormatConditionals2816highlight def link muttrcAutocryptFormatConditionals	 muttrcFormatConditionals2817highlight def link muttrcComposeFormatConditionals	 muttrcFormatConditionals2818highlight def link muttrcFolderFormatConditionals	 muttrcFormatConditionals2819highlight def link muttrcGreetingFormatConditionals	 muttrcFormatConditionals2820highlight def link muttrcGroupIndexFormatConditionals	 muttrcFormatConditionals2821highlight def link muttrcHistoryFormatConditionals	 muttrcFormatConditionals2822highlight def link muttrcIndexFormatConditionals	 muttrcFormatConditionals2823highlight def link muttrcPatternFormatConditionals	 muttrcFormatConditionals2824highlight def link muttrcPgpCommandFormatConditionals	 muttrcFormatConditionals2825highlight def link muttrcPgpEntryFormatConditionals	 muttrcFormatConditionals2826highlight def link muttrcQueryFormatConditionals	 muttrcFormatConditionals2827highlight def link muttrcSidebarFormatConditionals	 muttrcFormatConditionals2828highlight def link muttrcSmimeCommandFormatConditionals	 muttrcFormatConditionals2829highlight def link muttrcStatusFormatConditionals	 muttrcFormatConditionals2830 831highlight def link muttrcAddrDef			muttrcGroupFlag832highlight def link muttrcRXDef				muttrcGroupFlag833 834highlight def link muttrcAliasFormatString		muttrcString835highlight def link muttrcAttachFormatString		muttrcString836highlight def link muttrcAutocryptFormatString		muttrcString837highlight def link muttrcComposeFormatString		muttrcString838highlight def link muttrcFolderFormatString		muttrcString839highlight def link muttrcGreetingFormatString		muttrcString840highlight def link muttrcGroupIndexFormatString		muttrcString841highlight def link muttrcHistoryFormatString		muttrcString842highlight def link muttrcIndexFormatString		muttrcString843highlight def link muttrcPatternFormatString		muttrcString844highlight def link muttrcPgpCommandFormatString		muttrcString845highlight def link muttrcPgpEntryFormatString		muttrcString846highlight def link muttrcQueryFormatString		muttrcString847highlight def link muttrcSidebarFormatString		muttrcString848highlight def link muttrcSmimeCommandFormatString	muttrcString849highlight def link muttrcStatusFormatString		muttrcString850highlight def link muttrcStrftimeFormatString		muttrcString851 852highlight def link muttrcSetNumAssignment		Number853 854highlight def link muttrcEmail				Special855highlight def link muttrcSimplePatMetas			Special856highlight def link muttrcSpecial			Special857highlight def link muttrcVariableInner			Special858 859highlight def link muttrcAliasEncEmailNL		SpecialChar860highlight def link muttrcAliasENNL			SpecialChar861highlight def link muttrcAliasGroupDefNL		SpecialChar862highlight def link muttrcAliasNameNL			SpecialChar863highlight def link muttrcAliasNL			SpecialChar864highlight def link muttrcBindFunctionNL			SpecialChar865highlight def link muttrcBindKeyNL			SpecialChar866highlight def link muttrcBindMenuListNL			SpecialChar867highlight def link muttrcColorBGNL			SpecialChar868highlight def link muttrcColorFGNL			SpecialChar869highlight def link muttrcColorMatchCountNL		SpecialChar870highlight def link muttrcColorNL			SpecialChar871highlight def link muttrcColorRXNL			SpecialChar872highlight def link muttrcEscape				SpecialChar873highlight def link muttrcKeyName			SpecialChar874highlight def link muttrcKeySpecial			SpecialChar875highlight def link muttrcMacroBodyNL			SpecialChar876highlight def link muttrcMacroDescrNL			SpecialChar877highlight def link muttrcMacroKeyNL			SpecialChar878highlight def link muttrcMacroMenuListNL		SpecialChar879highlight def link muttrcRXChars			SpecialChar880highlight def link muttrcStringNL			SpecialChar881highlight def link muttrcUnAliasNL			SpecialChar882highlight def link muttrcUnColorAPNL			SpecialChar883highlight def link muttrcUnColorIndexNL			SpecialChar884highlight def link muttrcUnColorPatNL			SpecialChar885 886highlight def link muttrcAttachmentsMimeType		String887highlight def link muttrcEscapedVariable		String888highlight def link muttrcMacroDescr			String889highlight def link muttrcRXPat				String890highlight def link muttrcRXString			String891highlight def link muttrcRXString2			String892highlight def link muttrcSetStrAssignment		String893highlight def link muttrcString				String894 895highlight def link muttrcAttachmentsFlag		Type896highlight def link muttrcColor				Type897highlight def link muttrcFormatConditionals2		Type898highlight def link muttrcGroupFlag			Type899highlight def link muttrcHeader				Type900highlight def link muttrcHooks				Type901highlight def link muttrcKey				Type902highlight def link muttrcPatHookNot			Type903highlight def link muttrcRXHookNot			Type904highlight def link muttrcStrftimeEscapes		Type905 906let b:current_syntax = "neomuttrc"907 908let &cpo = s:cpo_save909unlet s:cpo_save910 911" vim: ts=8 noet tw=100 sw=8 sts=0 ft=vim isk+=-912