codekingpro/portable-devtools
114k
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 