]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.0779: filetype: neomuttlog files are not recognized v9.1.0779
authorRichard Russon <rich@flatcap.org>
Sun, 13 Oct 2024 17:40:43 +0000 (19:40 +0200)
committerChristian Brabandt <cb@256bit.org>
Sun, 13 Oct 2024 17:42:14 +0000 (19:42 +0200)
Problem:  filetype: neomuttlog files are not recognized
Solution: detect '*.neomuttdebug' file as neomuttlog filetype,
          include neomuttlog syntax script (Richard Russon)

closes: #15858

Co-authored-by: AvidSeeker <avidseeker7@protonmail.com>
Signed-off-by: Richard Russon <rich@flatcap.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/doc/syntax.txt
runtime/doc/tags
runtime/filetype.vim
runtime/syntax/neomuttlog.vim [new file with mode: 0644]
runtime/syntax/neomuttrc.vim
src/testdir/test_filetype.vim
src/version.c

index 29bb7b50d17e39f46f7c391c10b634278db13c15..1c66042cc3bda53bf506750c22a636d13597da7f 100644 (file)
@@ -2538,6 +2538,12 @@ set "msql_minlines" to the value you desire.  Example: >
        :let msql_minlines = 200
 
 
+NEOMUTT                        *neomutt.vim* *ft-neomuttrc-syntax* *ft-neomuttlog-syntax*
+
+To disable the default NeoMutt log colors >
+
+       :let g:neolog_disable_default_colors = 1
+
 N1QL                                           *n1ql.vim* *ft-n1ql-syntax*
 
 N1QL is a SQL-like declarative language for manipulating JSON documents in
index 8dee55dcd955c508970d694370f8e85caee71941..c3089bb6e6da7d60f0f17de234bd245f57168cdb 100644 (file)
@@ -7365,6 +7365,8 @@ ft-msql-syntax    syntax.txt      /*ft-msql-syntax*
 ft-n1ql-syntax syntax.txt      /*ft-n1ql-syntax*
 ft-nasm-syntax syntax.txt      /*ft-nasm-syntax*
 ft-ncf-syntax  syntax.txt      /*ft-ncf-syntax*
+ft-neomuttlog-syntax   syntax.txt      /*ft-neomuttlog-syntax*
+ft-neomuttrc-syntax    syntax.txt      /*ft-neomuttrc-syntax*
 ft-nroff-syntax        syntax.txt      /*ft-nroff-syntax*
 ft-ocaml-syntax        syntax.txt      /*ft-ocaml-syntax*
 ft-pandoc-syntax       syntax.txt      /*ft-pandoc-syntax*
@@ -8875,6 +8877,7 @@ nb-protocol_errors        netbeans.txt    /*nb-protocol_errors*
 nb-special     netbeans.txt    /*nb-special*
 nb-terms       netbeans.txt    /*nb-terms*
 ncf.vim        syntax.txt      /*ncf.vim*
+neomutt.vim    syntax.txt      /*neomutt.vim*
 netbeans       netbeans.txt    /*netbeans*
 netbeans-commands      netbeans.txt    /*netbeans-commands*
 netbeans-configure     netbeans.txt    /*netbeans-configure*
index 2674002c3d4d73d4516c2833a3a3ce2d172fd0b3..edc8d5a2c2c51a82ee33806e510550b05891203c 100644 (file)
@@ -1592,6 +1592,9 @@ au BufNewFile,BufRead Mutt{ng,}rc         setf muttrc
 " N1QL
 au BufRead,BufNewfile *.n1ql,*.nql             setf n1ql
 
+" Neomutt log
+au BufNewFile,BufRead *.neomuttdebug*          setf neomuttlog
+
 " Nano
 au BufNewFile,BufRead */etc/nanorc,*.nanorc    setf nanorc
 
diff --git a/runtime/syntax/neomuttlog.vim b/runtime/syntax/neomuttlog.vim
new file mode 100644 (file)
index 0000000..27f7349
--- /dev/null
@@ -0,0 +1,69 @@
+" Vim syntax file
+" Language:  NeoMutt log files
+" Maintainer:  Richard Russon <rich@flatcap.org>
+" Last Change:  2024 Oct 12
+
+" quit when a syntax file was already loaded
+if exists("b:current_syntax")
+  finish
+endif
+
+syntax match neolog_date     "\v^\[\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d\] *" conceal
+syntax match neolog_version  "\v<NeoMutt-\d{8}(-\d+-\x+)*(-dirty)*>"
+syntax match neolog_banner   "\v^\[\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d\] .*" contains=neolog_date,neolog_version
+syntax match neolog_function "\v%26v\i+\(\)"
+
+syntax match neolog_perror_key  "\v%22v\<P\> " conceal transparent
+syntax match neolog_error_key   "\v%22v\<E\> " conceal transparent
+syntax match neolog_warning_key "\v%22v\<W\> " conceal transparent
+syntax match neolog_message_key "\v%22v\<M\> " conceal transparent
+syntax match neolog_debug1_key  "\v%22v\<1\> " conceal transparent
+syntax match neolog_debug2_key  "\v%22v\<2\> " conceal transparent
+syntax match neolog_debug3_key  "\v%22v\<3\> " conceal transparent
+syntax match neolog_debug4_key  "\v%22v\<4\> " conceal transparent
+syntax match neolog_debug5_key  "\v%22v\<5\> " conceal transparent
+syntax match neolog_notify_key  "\v%22v\<N\> " conceal transparent
+
+syntax match neolog_perror  "\v%22v\<P\> .*" contains=neolog_perror_key,neolog_function
+syntax match neolog_error   "\v%22v\<E\> .*" contains=neolog_error_key,neolog_function
+syntax match neolog_warning "\v%22v\<W\> .*" contains=neolog_warning_key,neolog_function
+syntax match neolog_message "\v%22v\<M\> .*" contains=neolog_message_key,neolog_function
+syntax match neolog_debug1  "\v%22v\<1\> .*" contains=neolog_debug1_key,neolog_function
+syntax match neolog_debug2  "\v%22v\<2\> .*" contains=neolog_debug2_key,neolog_function
+syntax match neolog_debug3  "\v%22v\<3\> .*" contains=neolog_debug3_key,neolog_function
+syntax match neolog_debug4  "\v%22v\<4\> .*" contains=neolog_debug4_key,neolog_function
+syntax match neolog_debug5  "\v%22v\<5\> .*" contains=neolog_debug5_key,neolog_function
+syntax match neolog_notify  "\v%22v\<N\> .*" contains=neolog_notify_key,neolog_function
+
+if !exists('g:neolog_disable_default_colors')
+  highlight neolog_date     ctermfg=cyan    guifg=#40ffff
+  highlight neolog_banner   ctermfg=magenta guifg=#ff00ff
+  highlight neolog_version  cterm=reverse   gui=reverse
+  highlight neolog_function                 guibg=#282828
+
+  highlight neolog_perror  ctermfg=red    guifg=#ff8080
+  highlight neolog_error   ctermfg=red    guifg=#ff8080
+  highlight neolog_warning ctermfg=yellow guifg=#ffff80
+  highlight neolog_message ctermfg=green  guifg=#80ff80
+  highlight neolog_debug1  ctermfg=white  guifg=#ffffff
+  highlight neolog_debug2  ctermfg=white  guifg=#ffffff
+  highlight neolog_debug3  ctermfg=grey   guifg=#c0c0c0
+  highlight neolog_debug4  ctermfg=grey   guifg=#c0c0c0
+  highlight neolog_debug5  ctermfg=grey   guifg=#c0c0c0
+  highlight neolog_notify  ctermfg=grey   guifg=#c0c0c0
+endif
+
+highlight link neolog_perror_key  neolog_perror
+highlight link neolog_error_key   neolog_error
+highlight link neolog_warning_key neolog_warning
+highlight link neolog_message_key neolog_message
+highlight link neolog_debug1_key  neolog_debug1
+highlight link neolog_debug2_key  neolog_debug2
+highlight link neolog_debug3_key  neolog_debug3
+highlight link neolog_debug4_key  neolog_debug4
+highlight link neolog_debug5_key  neolog_debug5
+highlight link neolog_notify_key  neolog_notify
+
+let b:current_syntax = "neomuttlog"
+
+" vim: ts=2 et tw=100 sw=2 sts=0 ft=vim
index 421b11ffa30898b6022f6e58ce68f9dd6c80ae5d..815e160bbbee88be928a4a78e05047813e4a88f7 100644 (file)
@@ -2,10 +2,10 @@
 " Language:    NeoMutt setup files
 " Maintainer:  Richard Russon <rich@flatcap.org>
 " Previous Maintainer: Guillaume Brogi <gui-gui@netcourrier.com>
-" Last Change: 2022-04-08
+" Last Change: 2024 Oct 12
 " Original version based on syntax/muttrc.vim
 
-" This file covers NeoMutt 2022-04-08
+" This file covers NeoMutt 2024-10-02
 
 " quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -22,7 +22,7 @@ setlocal isk=@,48-57,_,-
 syntax match muttrcComment     "^# .*$" contains=@Spell
 syntax match muttrcComment     "^#[^ ].*$"
 syntax match muttrcComment     "^#$"
-syntax match muttrcComment     "[^\\]#.*$"lc=1
+syntax match muttrcComment     "[^\\]#.*$"lc=1 contains=@Spell
 
 " Escape sequences (back-tick and pipe goes here too)
 syntax match muttrcEscape      +\\[#tnr"'Cc ]+
@@ -34,7 +34,7 @@ syntax region muttrcString    contained keepend start=+"+ms=e skip=+\\"+ end=+"+ co
 syntax region muttrcString     contained keepend start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcCommand,muttrcAction
 syntax match muttrcStringNL    contained skipwhite skipnl "\s*\\$" nextgroup=muttrcString,muttrcStringNL
 
-syntax region muttrcShellString        matchgroup=muttrcEscape keepend start=+`+ skip=+\\`+ end=+`+ contains=muttrcVarStr,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcCommand
+syntax region muttrcShellString        matchgroup=muttrcEscape keepend start=+`+ skip=+\\`+ end=+`+ contains=muttrcVarString,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcCommand
 
 syntax match  muttrcRXChars    contained /[^\\][][.*?+]\+/hs=s+1
 syntax match  muttrcRXChars    contained /[][|()][.*?+]*/
@@ -67,21 +67,21 @@ syntax match muttrcRXDef    contained "-rx\s\+" skipwhite nextgroup=muttrcRXPat
 
 syntax match muttrcSpecial     +\(['"]\)!\1+
 
-syntax match muttrcSetStrAssignment contained skipwhite /=\s*\%(\\\?\$\)\?[0-9A-Za-z_-]\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable
-syntax region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*"+hs=s+1 end=+"+ skip=+\\"+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcString
-syntax region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*'+hs=s+1 end=+'+ skip=+\\'+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcString
-syntax match muttrcSetBoolAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable
-syntax match muttrcSetBoolAssignment contained skipwhite /=\s*\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax match muttrcSetBoolAssignment contained skipwhite /=\s*"\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax match muttrcSetBoolAssignment contained skipwhite /=\s*'\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax match muttrcSetQuadAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable
-syntax match muttrcSetQuadAssignment contained skipwhite /=\s*\%(ask-\)\?\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax match muttrcSetQuadAssignment contained skipwhite /=\s*"\%(ask-\)\?\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax match muttrcSetQuadAssignment contained skipwhite /=\s*'\%(ask-\)\?\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax match muttrcSetNumAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable
-syntax match muttrcSetNumAssignment contained skipwhite /=\s*\d\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax match muttrcSetNumAssignment contained skipwhite /=\s*"\d\+"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax match muttrcSetNumAssignment contained skipwhite /=\s*'\d\+'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
+syntax match muttrcSetStrAssignment  contained skipwhite /=\s*\%(\\\?\$\)\?[0-9A-Za-z_-]\+/hs=s+1       nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString contains=muttrcVariable,muttrcEscapedVariable
+syntax region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*"+hs=s+1 end=+"+ skip=+\\"+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString contains=muttrcString
+syntax region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*'+hs=s+1 end=+'+ skip=+\\'+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString contains=muttrcString
+syntax match muttrcSetBoolAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1                         nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString contains=muttrcVariable,muttrcEscapedVariable
+syntax match muttrcSetBoolAssignment contained skipwhite /=\s*\%(yes\|no\)/hs=s+1                       nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax match muttrcSetBoolAssignment contained skipwhite /=\s*"\%(yes\|no\)"/hs=s+1                     nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax match muttrcSetBoolAssignment contained skipwhite /=\s*'\%(yes\|no\)'/hs=s+1                     nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax match muttrcSetQuadAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1                         nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString contains=muttrcVariable,muttrcEscapedVariable
+syntax match muttrcSetQuadAssignment contained skipwhite /=\s*\%(ask-\)\?\%(yes\|no\)/hs=s+1            nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax match muttrcSetQuadAssignment contained skipwhite /=\s*"\%(ask-\)\?\%(yes\|no\)"/hs=s+1          nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax match muttrcSetQuadAssignment contained skipwhite /=\s*'\%(ask-\)\?\%(yes\|no\)'/hs=s+1          nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax match muttrcSetNumAssignment  contained skipwhite /=\s*\\\?\$\w\+/hs=s+1                         nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString contains=muttrcVariable,muttrcEscapedVariable
+syntax match muttrcSetNumAssignment  contained skipwhite /=\s*\d\+/hs=s+1                               nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax match muttrcSetNumAssignment  contained skipwhite /=\s*"\d\+"/hs=s+1                             nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax match muttrcSetNumAssignment  contained skipwhite /=\s*'\d\+'/hs=s+1                             nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
 
 " Now catch some email addresses and headers (purified version from mail.vim)
 syntax match muttrcEmail       "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+"
@@ -101,38 +101,9 @@ syntax match muttrcStrftimeEscapes contained /%[AaBbCcDdeFGgHhIjklMmnpRrSsTtUuVv
 syntax match muttrcStrftimeEscapes contained /%E[cCxXyY]/
 syntax match muttrcStrftimeEscapes contained /%O[BdeHImMSuUVwWy]/
 
-syntax region muttrcAliasFormatStr      contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAliasFormatEscapes,muttrcAliasFormatConditionals,muttrcFormatErrors                             nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcAliasFormatStr      contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAliasFormatEscapes,muttrcAliasFormatConditionals,muttrcFormatErrors                             nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcAttachFormatStr     contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors                           nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcAttachFormatStr     contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors                           nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcComposeFormatStr    contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcComposeFormatEscapes,muttrcComposeFormatConditionals,muttrcFormatErrors                         nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcComposeFormatStr    contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcComposeFormatEscapes,muttrcComposeFormatConditionals,muttrcFormatErrors                         nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcFolderFormatStr     contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors                           nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcFolderFormatStr     contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors                           nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcGroupIndexFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcGroupIndexFormatEscapes,muttrcGroupIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcGroupIndexFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcGroupIndexFormatEscapes,muttrcGroupIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcIndexFormatStr      contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes           nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcIndexFormatStr      contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes           nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcMixFormatStr        contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors                                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcMixFormatStr        contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors                                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcPatternFormatStr    contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPatternFormatEscapes,muttrcPatternFormatConditionals,muttrcFormatErrors                                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcPatternFormatStr    contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPatternFormatEscapes,muttrcPatternFormatConditionals,muttrcFormatErrors                                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcPGPCmdFormatStr     contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors            nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcPGPCmdFormatStr     contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors            nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcPGPFormatStr        contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes            nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcPGPFormatStr        contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes            nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcQueryFormatStr      contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors                             nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcQueryFormatStr      contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors                             nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcSidebarFormatStr    contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSidebarFormatEscapes,muttrcSidebarFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes       nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcSidebarFormatStr    contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSidebarFormatEscapes,muttrcSidebarFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes       nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcSmimeFormatStr      contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors              nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcSmimeFormatStr      contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors              nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcStatusFormatStr     contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors                           nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcStatusFormatStr     contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors                           nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcStrftimeFormatStr   contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStrftimeEscapes,muttrcFormatErrors                                                              nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax region muttrcStrftimeFormatStr   contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStrftimeEscapes,muttrcFormatErrors                                                              nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-
-" Format escapes and conditionals
+" Defines syntax matches for muttrc[baseName]Escapes, muttrc[baseName]Conditionals
+" If padding==1, also match `%>` `%|` `%*` expandos
+" If conditional==1, some expandos support %X? format
 syntax match muttrcFormatConditionals2 contained /[^?]*?/
 function! s:escapesConditionals(baseName, sequence, padding, conditional)
        exec 'syntax match muttrc' . a:baseName . 'Escapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?\%(' . a:sequence . '\|%\)/'
@@ -146,65 +117,107 @@ function! s:escapesConditionals(baseName, sequence, padding, conditional)
        endif
 endfunction
 
-" CHECKED 2022-04-08
-" Ref: alias_format_str() in alias/dlg_alias.c
-call s:escapesConditionals('AliasFormat', '[acfnrt]', 1, 0)
-" Ref: attach_format_str() in attach/dlg_attach.c
+" CHECKED 2024 Oct 12
+" Ref: AliasFormatDef in alias/config.c
+call s:escapesConditionals('AliasFormat', '[acfnrtY]', 1, 0)
+" Ref: AttachFormatDef in mutt_config.c
 call s:escapesConditionals('AttachFormat', '[CcDdeFfIMmnQsTtuX]', 1, 1)
-" Ref: compose_format_str() in compose/cbar.c
+" Ref: AutocryptFormatDef in autocrypt/config.c
+call s:escapesConditionals('AutocryptFormat', '[aknps]', 1, 0)
+" Ref: ComposeFormatDef in compose/config.c
 call s:escapesConditionals('ComposeFormat', '[ahlv]', 1, 1)
-" Ref: folder_format_str() in browser/browser.c
-call s:escapesConditionals('FolderFormat', '[CDdFfgilmNnstu]', 1, 0)
-" Ref: group_index_format_str() in nntp/browse.c
-call s:escapesConditionals('GroupIndexFormat', '[CdfMNns]', 1, 1)
-" Ref: index_format_str() in hdrline.c
+" Ref: FolderFormatDef in browser/config.c
+call s:escapesConditionals('FolderFormat', '[aCDdFfgilmNnpstu[]', 1, 1)
+" Ref: GreetingFormatDef in send/config.c
+call s:escapesConditionals('GreetingFormat', '[nuv]', 0, 0)
+" Ref: GroupIndexFormatDef in browser/config.c
+call s:escapesConditionals('GroupIndexFormat', '[aCdfMNnps]', 1, 0)
+" Ref: HistoryFormatDef in history/config.c
+call s:escapesConditionals('HistoryFormat', '[Cs]', 1, 0)
+" Ref: IndexFormatDef in mutt_config.c
 call s:escapesConditionals('IndexFormat', '[AaBbCDdEefgHIiJKLlMmNnOPqRrSsTtuvWXxYyZ(<[{]\|@\i\+@\|G[a-zA-Z]\+\|Fp\=\|z[cst]\|cr\=', 1, 1)
-" Ref: mix_format_str() in remailer.c
-call s:escapesConditionals('MixFormat', '[acns]', 1, 0)
-" Ref: pattern_format_str() in pattern/dlg_pattern.c
+" Ref: PatternFormatDef in pattern/config.c
 call s:escapesConditionals('PatternFormat', '[den]', 1, 0)
-" Ref: pgp_command_format_str() in ncrypt/pgpinvoke.c
-call s:escapesConditionals('PGPCmdFormat', '[afprs]', 0, 1)
-" Ref: crypt_format_str() in ncrypt/dlg_gpgme.c
-" Ref: pgp_entry_format_str() in ncrypt/dlg_pgp.c
-" Note: crypt_format_str() supports 'p', but pgp_entry_fmt() does not
-call s:escapesConditionals('PGPFormat', '[AaCcFfKkLlnptu[]', 0, 0)
-" Ref: query_format_str() in alias/dlg_query.c
-call s:escapesConditionals('QueryFormat', '[acent]', 1, 1)
-" Ref: sidebar_format_str() in sidebar/window.c
-call s:escapesConditionals('SidebarFormat', '[!BDdFLNnorStZ]', 1, 1)
-" Ref: smime_command_format_str() in ncrypt/smime.c
-call s:escapesConditionals('SmimeFormat', '[aCcdfiks]', 0, 1)
-" Ref: status_format_str() in status.c
+" Ref: PgpCommandFormatDef in ncrypt/config.c
+call s:escapesConditionals('PgpCommandFormat', '[afprs]', 0, 1)
+" Ref: PgpEntryFormatDef in ncrypt/config.c
+call s:escapesConditionals('PgpEntryFormat', '[AaCcFfIiKkLlnptu[]', 1, 1)
+" Ref: QueryFormatDef in alias/config.c
+call s:escapesConditionals('QueryFormat', '[acentY]', 1, 1)
+" Ref: SidebarFormatDef in sidebar/config.c
+call s:escapesConditionals('SidebarFormat', '[!aBDdFLNnoprStZ]', 1, 1)
+" Ref: SmimeCommandFormatDef in ncrypt/config.c
+call s:escapesConditionals('SmimeCommandFormat', '[aCcdfiks]', 0, 1)
+" Ref: StatusFormatDef in mutt_config.c
 call s:escapesConditionals('StatusFormat', '[bDdFfhLlMmnoPpRrSsTtuVv]', 1, 1)
 
-syntax region muttrcPGPTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes
+syntax region muttrcAliasFormatString         contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAliasFormatEscapes,muttrcAliasFormatConditionals,muttrcFormatErrors                                   nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcAliasFormatString         contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAliasFormatEscapes,muttrcAliasFormatConditionals,muttrcFormatErrors                                   nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcAttachFormatString        contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors                                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcAttachFormatString        contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors                                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcAutocryptFormatString     contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAutocryptFormatEscapes,muttrcAutocryptFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcAutocryptFormatString     contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAutocryptFormatEscapes,muttrcAutocryptFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcComposeFormatString       contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcComposeFormatEscapes,muttrcComposeFormatConditionals,muttrcFormatErrors                               nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcComposeFormatString       contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcComposeFormatEscapes,muttrcComposeFormatConditionals,muttrcFormatErrors                               nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcFolderFormatString        contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors                                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcFolderFormatString        contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors                                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcGreetingFormatString      contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcGreetingFormatEscapes,muttrcGreetingFormatConditionals,muttrcFormatErrors                             nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcGreetingFormatString      contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcGreetingFormatEscapes,muttrcGreetingFormatConditionals,muttrcFormatErrors                             nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcGroupIndexFormatString    contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcGroupIndexFormatEscapes,muttrcGroupIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes       nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcGroupIndexFormatString    contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcGroupIndexFormatEscapes,muttrcGroupIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes       nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcHistoryFormatString       contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcHistoryFormatEscapes,muttrcHistoryFormatConditionals,muttrcFormatErrors                               nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcHistoryFormatString       contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcHistoryFormatEscapes,muttrcHistoryFormatConditionals,muttrcFormatErrors                               nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcIndexFormatString         contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcIndexFormatString         contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcPatternFormatString       contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPatternFormatEscapes,muttrcPatternFormatConditionals,muttrcFormatErrors                               nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcPatternFormatString       contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPatternFormatEscapes,muttrcPatternFormatConditionals,muttrcFormatErrors                               nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcPgpCommandFormatString    contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPgpCommandFormatEscapes,muttrcPgpCommandFormatConditionals,muttrcVariable,muttrcFormatErrors          nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcPgpCommandFormatString    contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPgpCommandFormatEscapes,muttrcPgpCommandFormatConditionals,muttrcVariable,muttrcFormatErrors          nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcPgpEntryFormatString      contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPgpEntryFormatEscapes,muttrcPgpEntryFormatConditionals,muttrcFormatErrors,muttrcPgpTimeEscapes        nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcPgpEntryFormatString      contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPgpEntryFormatEscapes,muttrcPgpEntryFormatConditionals,muttrcFormatErrors,muttrcPgpTimeEscapes        nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcQueryFormatString         contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors                                   nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcQueryFormatString         contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors                                   nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcSidebarFormatString       contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSidebarFormatEscapes,muttrcSidebarFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes             nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcSidebarFormatString       contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSidebarFormatEscapes,muttrcSidebarFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes             nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcSmimeCommandFormatString  contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSmimeCommandFormatEscapes,muttrcSmimeCommandFormatConditionals,muttrcVariable,muttrcFormatErrors      nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcSmimeCommandFormatString  contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSmimeCommandFormatEscapes,muttrcSmimeCommandFormatConditionals,muttrcVariable,muttrcFormatErrors      nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcStatusFormatString        contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors                                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcStatusFormatString        contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors                                 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcStrftimeFormatString      contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStrftimeEscapes,muttrcFormatErrors                                                                    nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax region muttrcStrftimeFormatString      contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStrftimeEscapes,muttrcFormatErrors                                                                    nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+
+" Format escapes and conditionals
+syntax match muttrcFormatConditionals2 contained /[^?]*?/
+
+syntax region muttrcPgpTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes
 syntax region muttrcTimeEscapes    contained start=+%(+  end=+)+  contains=muttrcStrftimeEscapes
 syntax region muttrcTimeEscapes    contained start=+%<+  end=+>+  contains=muttrcStrftimeEscapes
 syntax region muttrcTimeEscapes    contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes
 syntax region muttrcTimeEscapes    contained start=+%{+  end=+}+  contains=muttrcStrftimeEscapes
 
-syntax match muttrcVarEqualsAliasFmt      contained skipwhite "=" nextgroup=muttrcAliasFormatStr
-syntax match muttrcVarEqualsAttachFmt     contained skipwhite "=" nextgroup=muttrcAttachFormatStr
-syntax match muttrcVarEqualsComposeFmt    contained skipwhite "=" nextgroup=muttrcComposeFormatStr
-syntax match muttrcVarEqualsFolderFmt     contained skipwhite "=" nextgroup=muttrcFolderFormatStr
-syntax match muttrcVarEqualsGrpIdxFmt     contained skipwhite "=" nextgroup=muttrcGroupIndexFormatStr
-syntax match muttrcVarEqualsIdxFmt        contained skipwhite "=" nextgroup=muttrcIndexFormatStr
-syntax match muttrcVarEqualsMixFmt        contained skipwhite "=" nextgroup=muttrcMixFormatStr
-syntax match muttrcVarEqualsPatternFmt    contained skipwhite "=" nextgroup=muttrcPatternFormatStr
-syntax match muttrcVarEqualsPGPCmdFmt     contained skipwhite "=" nextgroup=muttrcPGPCmdFormatStr
-syntax match muttrcVarEqualsPGPFmt        contained skipwhite "=" nextgroup=muttrcPGPFormatStr
-syntax match muttrcVarEqualsQueryFmt      contained skipwhite "=" nextgroup=muttrcQueryFormatStr
-syntax match muttrcVarEqualsSdbFmt        contained skipwhite "=" nextgroup=muttrcSidebarFormatStr
-syntax match muttrcVarEqualsSmimeFmt      contained skipwhite "=" nextgroup=muttrcSmimeFormatStr
-syntax match muttrcVarEqualsStatusFmt     contained skipwhite "=" nextgroup=muttrcStatusFormatStr
-syntax match muttrcVarEqualsStrftimeFmt   contained skipwhite "=" nextgroup=muttrcStrftimeFormatStr
-
-syntax match muttrcVPrefix contained /[?&]/ nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-
-" CHECKED 2022-04-08
+syntax match muttrcVarEqualsAliasFormat         contained skipwhite "=" nextgroup=muttrcAliasFormatString
+syntax match muttrcVarEqualsAttachFormat        contained skipwhite "=" nextgroup=muttrcAttachFormatString
+syntax match muttrcVarEqualsAutocryptFormat     contained skipwhite "=" nextgroup=muttrcAutocryptFormatString
+syntax match muttrcVarEqualsComposeFormat       contained skipwhite "=" nextgroup=muttrcComposeFormatString
+syntax match muttrcVarEqualsFolderFormat        contained skipwhite "=" nextgroup=muttrcFolderFormatString
+syntax match muttrcVarEqualsGreetingFormat      contained skipwhite "=" nextgroup=muttrcGreetingFormatString
+syntax match muttrcVarEqualsGroupIndexFormat    contained skipwhite "=" nextgroup=muttrcGroupIndexFormatString
+syntax match muttrcVarEqualsHistoryFormat       contained skipwhite "=" nextgroup=muttrcHistoryFormatString
+syntax match muttrcVarEqualsIndexFormat         contained skipwhite "=" nextgroup=muttrcIndexFormatString
+syntax match muttrcVarEqualsPatternFormat       contained skipwhite "=" nextgroup=muttrcPatternFormatString
+syntax match muttrcVarEqualsPgpCommandFormat    contained skipwhite "=" nextgroup=muttrcPgpCommandFormatString
+syntax match muttrcVarEqualsPgpEntryFormat      contained skipwhite "=" nextgroup=muttrcPgpEntryFormatString
+syntax match muttrcVarEqualsQueryFormat         contained skipwhite "=" nextgroup=muttrcQueryFormatString
+syntax match muttrcVarEqualsSidebarFormat       contained skipwhite "=" nextgroup=muttrcSidebarFormatString
+syntax match muttrcVarEqualsSmimeCommandFormat  contained skipwhite "=" nextgroup=muttrcSmimeCommandFormatString
+syntax match muttrcVarEqualsStatusFormat        contained skipwhite "=" nextgroup=muttrcStatusFormatString
+syntax match muttrcVarEqualsStrftimeFormat      contained skipwhite "=" nextgroup=muttrcStrftimeFormatString
+
+syntax match muttrcVPrefix contained /[?&]/ nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+
+" CHECKED 2024 Oct 12
 " List of the different screens in NeoMutt (see MenuNames in menu/type.c)
-syntax keyword muttrcMenu contained alias attach autocrypt browser compose editor generic index key_select_pgp key_select_smime mix pager pgp postpone query smime
+syntax keyword muttrcMenu contained alias attach autocrypt browser compose dialog editor generic index key_select_pgp key_select_smime pager pgp postpone query smime
 syntax match muttrcMenuList "\S\+" contained contains=muttrcMenu
 syntax match muttrcMenuCommas /,/ contained
 
@@ -239,10 +252,12 @@ syntax match muttrcEscapedVariable        contained "\\\$[a-zA-Z_-]\+"
 syntax match muttrcBadAction   contained "[^<>]\+" contains=muttrcEmail
 syntax match muttrcAction              contained "<[^>]\{-}>" contains=muttrcBadAction,muttrcFunction,muttrcKeyName
 
-" CHECKED 2022-04-08
+" CHECKED 2024 Oct 12
 " First, hooks that take regular expressions:
-syntax match  muttrcRXHookNot  contained /!\s*/ skipwhite nextgroup=muttrcRXHookString,muttrcRXHookStringNL
-syntax match  muttrcRXHooks    /\<\%(account\|append\|close\|crypt\|folder\|mbox\|open\|pgp\)-hook\>/ skipwhite nextgroup=muttrcRXHookNot,muttrcRXHookString,muttrcRXHookStringNL
+syntax match  muttrcRXHookNot          contained /!\s*/ skipwhite nextgroup=muttrcRXHookString,muttrcRXHookStringNL
+syntax match  muttrcRXHookNoRegex      contained /-noregex/ skipwhite nextgroup=muttrcRXHookString,muttrcRXHookStringNL
+syntax match  muttrcRXHooks    /\<\%(account\|append\|close\|crypt\|open\|pgp\|shutdown\|startup\|timeout\)-hook\>/ skipwhite nextgroup=muttrcRXHookNot,muttrcRXHookString,muttrcRXHookStringNL
+syntax match  muttrcRXHooks    /\<\%(folder\|mbox\)-hook\>/ skipwhite nextgroup=muttrcRXHookNoRegex,muttrcRXHookNot,muttrcRXHookString,muttrcRXHookStringNL
 
 " Now, hooks that take patterns
 syntax match muttrcPatHookNot  contained /!\s*/ skipwhite nextgroup=muttrcPattern
@@ -252,11 +267,11 @@ syntax match muttrcPatHooks       /\<\%(message\|reply\|send\|send2\|save\|fcc\|fcc-sa
 " Global hooks that take a command
 syntax keyword muttrcHooks skipwhite shutdown-hook startup-hook timeout-hook nextgroup=muttrcCommand
 
-syntax match muttrcBindFunction        contained /\S\+\>/ skipwhite contains=muttrcFunction
+syntax match muttrcBindFunction                contained /\S\+\>/ skipwhite contains=muttrcFunction
 syntax match muttrcBindFunctionNL      contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindFunction,muttrcBindFunctionNL
-syntax match muttrcBindKey             contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcBindFunction,muttrcBindFunctionNL
-syntax match muttrcBindKeyNL   contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindKey,muttrcBindKeyNL
-syntax match muttrcBindMenuList        contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcBindKey,muttrcBindKeyNL
+syntax match muttrcBindKey             contained /\S\+/   skipwhite contains=muttrcKey nextgroup=muttrcBindFunction,muttrcBindFunctionNL
+syntax match muttrcBindKeyNL           contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindKey,muttrcBindKeyNL
+syntax match muttrcBindMenuList                contained /\S\+/   skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcBindKey,muttrcBindKeyNL
 syntax match muttrcBindMenuListNL      contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindMenuList,muttrcBindMenuListNL
 
 syntax region muttrcMacroDescr contained keepend skipwhite start=+\s*\S+ms=e skip=+\\ + end=+ \|$+me=s
@@ -300,7 +315,7 @@ syntax match muttrcAliasNL          contained /\s*\\$/ skipwhite skipnl nextgroup=muttrc
 syntax match muttrcUnAliasKey  contained "\s*\w\+\s*" skipwhite nextgroup=muttrcUnAliasKey,muttrcUnAliasNL
 syntax match muttrcUnAliasNL   contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcUnAliasKey,muttrcUnAliasNL
 
-" CHECKED 2022-04-08
+" CHECKED 2024 Oct 12
 " List of letters in Flags in pattern/flags.c
 " Parameter: none
 syntax match muttrcSimplePat contained "!\?\^\?[~][ADEFGgklNOPpQRSTUuVv#$=]"
@@ -309,7 +324,7 @@ syntax match muttrcSimplePat contained "!\?\^\?[~][mnXz]\s*\%([<>-][0-9]\+[kM]\?
 " Parameter: date
 syntax match muttrcSimplePat contained "!\?\^\?[~][dr]\s*\%(\%(-\?[0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)*\)\|\%(\%([0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)*\)-\%([0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)\?\)\?\)\|\%([<>=][0-9]\+[ymwd]\)\|\%(`[^`]\+`\)\|\%(\$[a-zA-Z0-9_-]\+\)\)" contains=muttrcShellString,muttrcVariable
 " Parameter: regex
-syntax match muttrcSimplePat contained "!\?\^\?[~][BbCcefHhIiLMstwxYy]\s*" nextgroup=muttrcSimplePatRXContainer
+syntax match muttrcSimplePat contained "!\?\^\?[~][BbCcefHhIiKLMstwxYy]\s*" nextgroup=muttrcSimplePatRXContainer
 " Parameter: pattern
 syntax match muttrcSimplePat contained "!\?\^\?[%][BbCcefHhiLstxy]\s*" nextgroup=muttrcSimplePatString
 " Parameter: pattern
@@ -341,21 +356,25 @@ syntax match muttrcPattern contained skipwhite /[.]/
 syntax region muttrcPatternInner contained keepend start=+"[~=%!(^]+ms=s+1 skip=+\\"+ end=+"+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
 syntax region muttrcPatternInner contained keepend start=+'[~=%!(^]+ms=s+1 skip=+\\'+ end=+'+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
 
-" Colour definitions takes object, foreground and background arguments (regexps excluded).
+" Colour definitions takes object, foreground and background arguments (regexes excluded).
 syntax match muttrcColorMatchCount     contained "[0-9]\+"
 syntax match muttrcColorMatchCountNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL
 syntax region muttrcColorRXPat contained start=+\s*'+ skip=+\\'+ end=+'\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL
 syntax region muttrcColorRXPat contained start=+\s*"+ skip=+\\"+ end=+"\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL
 syntax keyword muttrcColor     contained black blue cyan default green magenta red white yellow
 syntax keyword muttrcColor     contained brightblack brightblue brightcyan brightdefault brightgreen brightmagenta brightred brightwhite brightyellow
+syntax keyword muttrcColor     contained lightblack lightblue lightcyan lightdefault lightgreen lightmagenta lightred lightwhite lightyellow
+syntax keyword muttrcColor     contained alertblack alertblue alertcyan alertdefault alertgreen alertmagenta alertred alertwhite alertyellow
 syntax match   muttrcColor     contained "\<\%(bright\)\=color\d\{1,3}\>"
+syntax match   muttrcColor     contained "#[0-9a-fA-F]\{6}\>"
+
 " Now for the structure of the color line
 syntax match muttrcColorRXNL   contained skipnl "\s*\\$" nextgroup=muttrcColorRXPat,muttrcColorRXNL
-syntax match muttrcColorBG     contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorRXPat,muttrcColorRXNL
+syntax match muttrcColorBG     contained /\s*[#$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorRXPat,muttrcColorRXNL
 syntax match muttrcColorBGNL   contained skipnl "\s*\\$" nextgroup=muttrcColorBG,muttrcColorBGNL
-syntax match muttrcColorFG     contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBG,muttrcColorBGNL
+syntax match muttrcColorFG     contained /\s*[#$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBG,muttrcColorBGNL
 syntax match muttrcColorFGNL   contained skipnl "\s*\\$" nextgroup=muttrcColorFG,muttrcColorFGNL
-syntax match muttrcColorContext        contained /\s*[$]\?\w\+/ contains=muttrcColorField,muttrcVariable,muttrcUnHighlightSpace,muttrcColorCompose nextgroup=muttrcColorFG,muttrcColorFGNL
+syntax match muttrcColorContext        contained /\s*[#$]\?\w\+/ contains=muttrcColorField,muttrcVariable,muttrcUnHighlightSpace,muttrcColorCompose nextgroup=muttrcColorFG,muttrcColorFGNL
 syntax match muttrcColorNL     contained skipnl "\s*\\$" nextgroup=muttrcColorContext,muttrcColorNL,muttrcColorCompose
 syntax match muttrcColorKeyword        contained /^\s*color\s\+/ nextgroup=muttrcColorContext,muttrcColorNL,muttrcColorCompose
 " And now color's brother:
@@ -370,25 +389,26 @@ syntax match muttrcUnColorIndexNL contained skipwhite skipnl /\s*\\$/ nextgroup=
 syntax match muttrcUnColorKeyword      contained skipwhite /^\s*uncolor\s\+/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL
 syntax region muttrcUnColorLine keepend start=+^\s*uncolor\s+ skip=+\\$+ end=+$+ contains=muttrcUnColorKeyword,muttrcComment,muttrcUnHighlightSpace
 
-syntax keyword muttrcMonoAttrib        contained bold none normal reverse standout underline
+syntax keyword muttrcMonoAttrib        contained bold italic none normal reverse standout underline
 syntax keyword muttrcMono      contained mono          skipwhite nextgroup=muttrcColorField,muttrcColorCompose
 syntax match   muttrcMonoLine  "^\s*mono\s\+\S\+"      skipwhite nextgroup=muttrcMonoAttrib contains=muttrcMono
 
-" CHECKED 2022-04-08
-" List of fields in ColorFields in color/commmand.c
+" CHECKED 2024 Oct 12
+" List of fields in ColorFields in color/command.c
 syntax keyword muttrcColorField skipwhite contained
        \ attachment attach_headers body bold error hdrdefault header index index_author
        \ index_collapsed index_date index_flags index_label index_number index_size index_subject
-       \ index_tag index_tags indicator markers message normal options progress prompt quoted
-       \ search sidebar_divider sidebar_flagged sidebar_highlight sidebar_indicator sidebar_new
-       \ sidebar_ordinary sidebar_spoolfile sidebar_unread signature status tilde tree underline
-       \ warning nextgroup=muttrcColor
+       \ index_tag index_tags indicator italic markers message normal options progress prompt
+       \ search sidebar_background sidebar_divider sidebar_flagged sidebar_highlight
+       \ sidebar_indicator sidebar_new sidebar_ordinary sidebar_spool_file sidebar_unread signature
+       \ status stripe_even stripe_odd tilde tree underline warning
+       \ nextgroup=muttrcColor
 
 syntax match   muttrcColorField        contained "\<quoted\d\=\>"
 
 syntax match muttrcColorCompose skipwhite contained /\s*compose\s*/ nextgroup=muttrcColorComposeField
 
-" CHECKED 2022-04-08
+" CHECKED 2024 Oct 12
 " List of fields in ComposeColorFields in color/command.c
 syntax keyword muttrcColorComposeField skipwhite contained
        \ header security_both security_encrypt security_none security_sign
@@ -409,37 +429,39 @@ function! s:boolQuadGen(type, vars, deprecated)
                exec 'syntax keyword muttrcVar' . l:type . ' ' . join(l:invvars)
        else
                let l:type = a:type
-               exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(a:vars) . ' nextgroup=muttrcSet' . l:orig_type . 'Assignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr'
-               exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(l:novars) . ' nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr'
-               exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(l:invvars) . ' nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr'
+               exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(a:vars) . ' nextgroup=muttrcSet' . l:orig_type . 'Assignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString'
+               exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(l:novars) . ' nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString'
+               exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(l:invvars) . ' nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString'
        endif
 
 endfunction
 
-" CHECKED 2022-04-08
+" CHECKED 2024 Oct 12
 " List of DT_BOOL in MuttVars in mutt_config.c
 call s:boolQuadGen('Bool', [
        \ 'abort_backspace', 'allow_8bit', 'allow_ansi', 'arrow_cursor', 'ascii_chars', 'ask_bcc',
-       \ 'ask_cc', 'ask_follow_up', 'ask_x_comment_to', 'attach_save_without_prompting',
+       \ 'ask_cc', 'ask_followup_to', 'ask_x_comment_to', 'attach_save_without_prompting',
        \ 'attach_split', 'autocrypt', 'autocrypt_reply', 'auto_edit', 'auto_subscribe', 'auto_tag',
        \ 'beep', 'beep_new', 'bounce_delivered', 'braille_friendly',
-       \ 'browser_abbreviate_mailboxes', 'change_folder_next', 'check_mbox_size', 'check_new',
-       \ 'collapse_all', 'collapse_flagged', 'collapse_unread', 'compose_show_user_headers',
+       \ 'browser_abbreviate_mailboxes', 'browser_sort_dirs_first', 'change_folder_next',
+       \ 'check_mbox_size', 'check_new', 'collapse_all', 'collapse_flagged', 'collapse_unread',
+       \ 'color_directcolor', 'compose_confirm_detach_first', 'compose_show_user_headers',
        \ 'confirm_append', 'confirm_create', 'copy_decode_weed', 'count_alternatives',
        \ 'crypt_auto_encrypt', 'crypt_auto_pgp', 'crypt_auto_sign', 'crypt_auto_smime',
-       \ 'crypt_confirm_hook', 'crypt_opportunistic_encrypt',
+       \ 'crypt_confirm_hook', 'crypt_encryption_info', 'crypt_opportunistic_encrypt',
        \ 'crypt_opportunistic_encrypt_strong_keys', 'crypt_protected_headers_read',
-       \ 'crypt_protected_headers_save', 'crypt_protected_headers_write', 'crypt_reply_encrypt',
-       \ 'crypt_reply_sign', 'crypt_reply_sign_encrypted', 'crypt_timestamp', 'crypt_use_gpgme',
-       \ 'crypt_use_pka', 'delete_untag', 'digest_collapse', 'duplicate_threads', 'edit_headers',
-       \ 'encode_from', 'fast_reply', 'fcc_before_send', 'fcc_clear', 'flag_safe', 'followup_to',
-       \ 'force_name', 'forward_decode', 'forward_decrypt', 'forward_quote', 'forward_references',
-       \ 'hdrs', 'header', 'header_color_partial', 'help', 'hidden_host', 'hide_limited',
-       \ 'hide_missing', 'hide_thread_subject', 'hide_top_limited', 'hide_top_missing',
-       \ 'history_remove_dups', 'honor_disposition', 'idn_decode', 'idn_encode',
-       \ 'ignore_list_reply_to', 'imap_check_subscribed', 'imap_condstore', 'imap_deflate',
-       \ 'imap_idle', 'imap_list_subscribed', 'imap_passive', 'imap_peek', 'imap_qresync',
-       \ 'imap_rfc5161', 'imap_server_noise', 'implicit_autoview', 'include_encrypted',
+       \ 'crypt_protected_headers_save', 'crypt_protected_headers_weed',
+       \ 'crypt_protected_headers_write', 'crypt_reply_encrypt', 'crypt_reply_sign',
+       \ 'crypt_reply_sign_encrypted', 'crypt_timestamp', 'crypt_use_gpgme', 'crypt_use_pka',
+       \ 'delete_untag', 'digest_collapse', 'duplicate_threads', 'edit_headers', 'encode_from',
+       \ 'fast_reply', 'fcc_before_send', 'fcc_clear', 'flag_safe', 'followup_to', 'force_name',
+       \ 'forward_decode', 'forward_decrypt', 'forward_quote', 'forward_references', 'hdrs',
+       \ 'header', 'header_color_partial', 'help', 'hidden_host', 'hide_limited', 'hide_missing',
+       \ 'hide_thread_subject', 'hide_top_limited', 'hide_top_missing', 'history_remove_dups',
+       \ 'honor_disposition', 'idn_decode', 'idn_encode', 'ignore_list_reply_to',
+       \ 'imap_check_subscribed', 'imap_condstore', 'imap_deflate', 'imap_idle',
+       \ 'imap_list_subscribed', 'imap_passive', 'imap_peek', 'imap_qresync', 'imap_rfc5161',
+       \ 'imap_send_id', 'imap_server_noise', 'implicit_auto_view', 'include_encrypted',
        \ 'include_only_first', 'keep_flagged', 'local_date_header', 'mailcap_sanitize',
        \ 'maildir_check_cur', 'maildir_header_cache_verify', 'maildir_trash', 'mail_check_recent',
        \ 'mail_check_stats', 'markers', 'mark_old', 'menu_move_off', 'menu_scroll',
@@ -469,166 +491,175 @@ call s:boolQuadGen('Bool', [
        \ 'virtual_spool_file', 'wait_key', 'weed', 'wrap_search', 'write_bcc', 'x_comment_to'
        \ ], 0)
 
-" CHECKED 2022-04-08
+" CHECKED 2024 Oct 12
 " Deprecated Bools
 " List of DT_SYNONYM or DT_DEPRECATED Bools in MuttVars in mutt_config.c
 call s:boolQuadGen('Bool', [
-       \ 'askbcc', 'askcc', 'autoedit', 'confirmappend', 'confirmcreate', 'crypt_autoencrypt',
-       \ 'crypt_autopgp', 'crypt_autosign', 'crypt_autosmime', 'crypt_confirmhook',
-       \ 'crypt_replyencrypt', 'crypt_replysign', 'crypt_replysignencrypted', 'edit_hdrs',
-       \ 'envelope_from', 'forw_decode', 'forw_decrypt', 'forw_quote', 'header_cache_compress',
-       \ 'ignore_linear_white_space', 'imap_servernoise', 'include_onlyfirst', 'metoo',
-       \ 'mime_subject', 'pgp_autoencrypt', 'pgp_autoinline', 'pgp_autosign',
-       \ 'pgp_auto_traditional', 'pgp_create_traditional', 'pgp_replyencrypt', 'pgp_replyinline',
-       \ 'pgp_replysign', 'pgp_replysignencrypted', 'reverse_realname', 'ssl_usesystemcerts',
+       \ 'askbcc', 'askcc', 'ask_follow_up', 'autoedit', 'confirmappend', 'confirmcreate',
+       \ 'crypt_autoencrypt', 'crypt_autopgp', 'crypt_autosign', 'crypt_autosmime',
+       \ 'crypt_confirmhook', 'crypt_replyencrypt', 'crypt_replysign', 'crypt_replysignencrypted',
+       \ 'cursor_overlay', 'edit_hdrs', 'envelope_from', 'forw_decode', 'forw_decrypt',
+       \ 'forw_quote', 'header_cache_compress', 'ignore_linear_white_space', 'imap_servernoise',
+       \ 'implicit_autoview', 'include_onlyfirst', 'metoo', 'mime_subject', 'pgp_autoencrypt',
+       \ 'pgp_autoinline', 'pgp_autosign', 'pgp_auto_traditional', 'pgp_create_traditional',
+       \ 'pgp_replyencrypt', 'pgp_replyinline', 'pgp_replysign', 'pgp_replysignencrypted',
+       \ 'pgp_self_encrypt_as', 'reverse_realname', 'smime_self_encrypt_as', 'ssl_usesystemcerts',
        \ 'use_8bitmime', 'virtual_spoolfile', 'xterm_set_titles'
        \ ], 1)
 
-" CHECKED 2022-04-08
+" CHECKED 2024 Oct 12
 " List of DT_QUAD in MuttVars in mutt_config.c
 call s:boolQuadGen('Quad', [
        \ 'abort_noattach', 'abort_nosubject', 'abort_unmodified', 'bounce', 'catchup_newsgroup',
        \ 'copy', 'crypt_verify_sig', 'delete', 'fcc_attach', 'followup_to_poster',
        \ 'forward_attachments', 'forward_edit', 'honor_followup_to', 'include', 'mime_forward',
        \ 'mime_forward_rest', 'move', 'pgp_mime_auto', 'pop_delete', 'pop_reconnect', 'postpone',
-       \ 'post_moderated', 'print', 'quit', 'recall', 'reply_to', 'ssl_starttls'
+       \ 'post_moderated', 'print', 'quit', 'recall', 'reply_to', 'ssl_starttls'
        \ ], 0)
 
-" CHECKED 2022-04-08
+" CHECKED 2024 Oct 12
 " Deprecated Quads
 " List of DT_SYNONYM or DT_DEPRECATED Quads in MuttVars in mutt_config.c
 call s:boolQuadGen('Quad', [
        \ 'mime_fwd', 'pgp_encrypt_self', 'pgp_verify_sig', 'smime_encrypt_self'
        \ ], 1)
 
-" CHECKED 2022-04-08
+" CHECKED 2024 Oct 12
 " List of DT_NUMBER or DT_LONG in MuttVars in mutt_config.c
 syntax keyword muttrcVarNum    skipwhite contained
-       \ connect_timeout debug_level header_cache_compress_level history imap_fetch_chunk_size
-       \ imap_keepalive imap_pipeline_depth imap_poll_timeout mail_check mail_check_stats_interval
-       \ menu_context net_inc nm_db_limit nm_open_timeout nm_query_window_current_position
+       \ debug_level header_cache_compress_level history imap_fetch_chunk_size imap_keep_alive
+       \ imap_pipeline_depth imap_poll_timeout mail_check mail_check_stats_interval menu_context
+       \ net_inc nm_db_limit nm_open_timeout nm_query_window_current_position
        \ nm_query_window_duration nntp_context nntp_poll pager_context pager_index_lines
        \ pager_read_delay pager_skip_quoted_context pgp_timeout pop_check_interval read_inc
        \ reflow_wrap save_history score_threshold_delete score_threshold_flag score_threshold_read
        \ search_context sendmail_wait sidebar_component_depth sidebar_width sleep_time
-       \ smime_timeout ssl_min_dh_prime_bits timeout time_inc toggle_quoted_show_levels wrap
-       \ wrap_headers write_inc
-       \ nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-" CHECKED 2022-04-08
+       \ smime_timeout socket_timeout ssl_min_dh_prime_bits timeout time_inc
+       \ toggle_quoted_show_levels wrap wrap_headers write_inc
+       \ nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+" CHECKED 2024 Oct 12
 " Deprecated Numbers
-syntax keyword muttrcVarDeprecatedNum  contained skipwhite
-       \ header_cache_pagesize pop_checkinterval skip_quoted_offset
+syntax keyword muttrcVarDeprecatedNum
+       \ connect_timeout header_cache_pagesize imap_keepalive pop_checkinterval skip_quoted_offset
 
-" CHECKED 2022-04-08
+" CHECKED 2024 Oct 12
 " List of DT_STRING in MuttVars in mutt_config.c
 " Special cases first, and all the rest at the end
 " Formats themselves must be updated in their respective groups
 " See s:escapesConditionals
-syntax match muttrcVarStr      contained skipwhite 'my_[a-zA-Z0-9_]\+' nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-syntax keyword muttrcVarStr    contained skipwhite alias_format nextgroup=muttrcVarEqualsAliasFmt
-syntax keyword muttrcVarStr    contained skipwhite attach_format nextgroup=muttrcVarEqualsAttachFmt
-syntax keyword muttrcVarStr    contained skipwhite compose_format nextgroup=muttrcVarEqualsComposeFmt
-syntax keyword muttrcVarStr    contained skipwhite folder_format vfolder_format nextgroup=muttrcVarEqualsFolderFmt
-syntax keyword muttrcVarStr    contained skipwhite attribution forward_format index_format message_format pager_format nextgroup=muttrcVarEqualsIdxFmt
-syntax keyword muttrcVarStr    contained skipwhite mix_entry_format nextgroup=muttrcVarEqualsMixFmt
-syntax keyword muttrcVarStr    contained skipwhite pattern_format nextgroup=muttrcVarEqualsPatternFmt
-syntax keyword muttrcVarStr    contained skipwhite
+syntax match   muttrcVarString contained skipwhite 'my_[a-zA-Z0-9_]\+' nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+syntax keyword muttrcVarString contained skipwhite alias_format nextgroup=muttrcVarEqualsAliasFormat
+syntax keyword muttrcVarString contained skipwhite attach_format nextgroup=muttrcVarEqualsAttachFormat
+syntax keyword muttrcVarString contained skipwhite autocrypt_acct_format nextgroup=muttrcVarEqualsAutocryptFormat
+syntax keyword muttrcVarString contained skipwhite compose_format nextgroup=muttrcVarEqualsComposeFormat
+syntax keyword muttrcVarString contained skipwhite folder_format mailbox_folder_format nextgroup=muttrcVarEqualsFolderFormat
+syntax keyword muttrcVarString contained skipwhite greeting nextgroup=muttrcVarEqualsGreetingFormat
+syntax keyword muttrcVarString contained skipwhite history_format nextgroup=muttrcVarEqualsHistoryFormat
+syntax keyword muttrcVarString contained skipwhite
+       \ attribution_intro attribution_trailer forward_attribution_intro forward_attribution_trailer
+       \ forward_format indent_string index_format message_format pager_format
+       \ nextgroup=muttrcVarEqualsIndexFormat
+syntax keyword muttrcVarString contained skipwhite pattern_format nextgroup=muttrcVarEqualsPatternFormat
+syntax keyword muttrcVarString contained skipwhite
        \ pgp_clear_sign_command pgp_decode_command pgp_decrypt_command pgp_encrypt_only_command
        \ pgp_encrypt_sign_command pgp_export_command pgp_get_keys_command pgp_import_command
        \ pgp_list_pubring_command pgp_list_secring_command pgp_sign_command pgp_verify_command
        \ pgp_verify_key_command
-       \ nextgroup=muttrcVarEqualsPGPCmdFmt
-syntax keyword muttrcVarStr    contained skipwhite pgp_entry_format nextgroup=muttrcVarEqualsPGPFmt
-syntax keyword muttrcVarStr    contained skipwhite query_format nextgroup=muttrcVarEqualsQueryFmt
-syntax keyword muttrcVarStr    contained skipwhite
+       \ nextgroup=muttrcVarEqualsPgpCommandFormat
+syntax keyword muttrcVarString contained skipwhite pgp_entry_format nextgroup=muttrcVarEqualsPgpEntryFormat
+syntax keyword muttrcVarString contained skipwhite query_format nextgroup=muttrcVarEqualsQueryFormat
+syntax keyword muttrcVarString contained skipwhite
        \ smime_decrypt_command smime_encrypt_command smime_get_cert_command
        \ smime_get_cert_email_command smime_get_signer_cert_command smime_import_cert_command
        \ smime_pk7out_command smime_sign_command smime_verify_command smime_verify_opaque_command
-       \ nextgroup=muttrcVarEqualsSmimeFmt
-syntax keyword muttrcVarStr    contained skipwhite status_format ts_icon_format ts_status_format nextgroup=muttrcVarEqualsStatusFmt
-syntax keyword muttrcVarStr    contained skipwhite date_format nextgroup=muttrcVarEqualsStrftimeFmt
-syntax keyword muttrcVarStr    contained skipwhite group_index_format nextgroup=muttrcVarEqualsGrpIdxFmt
-syntax keyword muttrcVarStr    contained skipwhite sidebar_format nextgroup=muttrcVarEqualsSdbFmt
-syntax keyword muttrcVarStr    contained skipwhite
+       \ nextgroup=muttrcVarEqualsSmimeCommandFormat
+syntax keyword muttrcVarString contained skipwhite status_format ts_icon_format ts_status_format nextgroup=muttrcVarEqualsStatusFormat
+syntax keyword muttrcVarString contained skipwhite date_format nextgroup=muttrcVarEqualsStrftimeFormat
+syntax keyword muttrcVarString contained skipwhite group_index_format nextgroup=muttrcVarEqualsGroupIndexFormat
+syntax keyword muttrcVarString contained skipwhite sidebar_format nextgroup=muttrcVarEqualsSidebarFormat
+syntax keyword muttrcVarString contained skipwhite
        \ abort_key arrow_string assumed_charset attach_charset attach_sep attribution_locale
-       \ autocrypt_acct_format charset config_charset content_type crypt_protected_headers_subject
-       \ default_hook dsn_notify dsn_return empty_subject forward_attribution_intro
-       \ forward_attribution_trailer greeting header_cache_backend header_cache_compress_method
+       \ charset config_charset content_type crypt_protected_headers_subject default_hook
+       \ dsn_notify dsn_return empty_subject header_cache_backend header_cache_compress_method
        \ hidden_tags hostname imap_authenticators imap_delim_chars imap_headers imap_login
-       \ imap_pass imap_user indent_string mailcap_path mark_macro_prefix mh_seq_flagged
-       \ mh_seq_replied mh_seq_unseen newsgroups_charset news_server nm_default_url nm_exclude_tags
-       \ nm_flagged_tag nm_query_type nm_query_window_current_search nm_query_window_or_terms
-       \ nm_query_window_timebase nm_record_tags nm_replied_tag nm_unread_tag nntp_authenticators
-       \ nntp_pass nntp_user pgp_default_key pgp_sign_as pipe_sep pop_authenticators pop_host
-       \ pop_pass pop_user postpone_encrypt_as post_indent_string preconnect preferred_languages
-       \ real_name send_charset show_multipart_alternative sidebar_delim_chars sidebar_divider_char
-       \ sidebar_indent_string simple_search smime_default_key smime_encrypt_with smime_sign_as
-       \ smime_sign_digest_alg smtp_authenticators smtp_pass smtp_url smtp_user spam_separator
-       \ ssl_ciphers
-       \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
+       \ imap_pass imap_user mailcap_path maildir_field_delimiter mark_macro_prefix mh_seq_flagged
+       \ mh_seq_replied mh_seq_unseen newsgroups_charset newsrc news_server nm_config_profile
+       \ nm_default_url nm_exclude_tags nm_flagged_tag nm_query_type nm_query_window_current_search
+       \ nm_query_window_or_terms nm_query_window_timebase nm_record_tags nm_replied_tag
+       \ nm_unread_tag nntp_authenticators nntp_pass nntp_user pgp_default_key pgp_sign_as pipe_sep
+       \ pop_authenticators pop_host pop_pass pop_user postpone_encrypt_as preconnect
+       \ preferred_languages real_name send_charset show_multipart_alternative sidebar_delim_chars
+       \ sidebar_divider_char sidebar_indent_string simple_search smime_default_key
+       \ smime_encrypt_with smime_sign_as smime_sign_digest_alg smtp_authenticators smtp_pass
+       \ smtp_url smtp_user spam_separator ssl_ciphers
+       \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
 
 " Deprecated strings
-syntax keyword muttrcVarDeprecatedStr
-       \ abort_noattach_regexp attach_keyword escape forw_format hdr_format indent_str msg_format
-       \ nm_default_uri pgp_clearsign_command pgp_getkeys_command pgp_self_encrypt_as
-       \ post_indent_str print_cmd quote_regexp realname reply_regexp smime_self_encrypt_as
-       \ spoolfile visual xterm_icon xterm_title
-
-" CHECKED 2022-04-08
+syntax keyword muttrcVarDeprecatedString
+       \ abort_noattach_regexp attach_keyword attribution escape forw_format hdr_format indent_str
+       \ message_cachedir mixmaster mix_entry_format msg_format nm_default_uri
+       \ pgp_clearsign_command pgp_getkeys_command pgp_self_encrypt_as post_indent_str
+       \ post_indent_string print_cmd quote_regexp realname reply_regexp smime_self_encrypt_as
+       \ spoolfile tmpdir vfolder_format visual xterm_icon xterm_title
+
+" CHECKED 2024 Oct 12
 " List of DT_ADDRESS
-syntax keyword muttrcVarStr    contained skipwhite envelope_from_address from nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
+syntax keyword muttrcVarString contained skipwhite envelope_from_address from nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
 " List of DT_ENUM
-syntax keyword muttrcVarStr    contained skipwhite mbox_type use_threads nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
+syntax keyword muttrcVarString contained skipwhite mbox_type use_threads nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
 " List of DT_MBTABLE
-syntax keyword muttrcVarStr    contained skipwhite crypt_chars flag_chars from_chars status_chars to_chars nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-
-" CHECKED 2022-04-08
-" List of DT_PATH or DT_MAILBOX
-syntax keyword muttrcVarStr    contained skipwhite
-       \ alias_file attach_save_dir autocrypt_dir certificate_file debug_file
-       \ entropy_file folder header_cache history_file mbox message_cachedir newsrc
-       \ news_cache_dir postponed record signature smime_ca_location
-       \ smime_certificates smime_keys spool_file ssl_ca_certificates_file ssl_client_cert
-       \ tmpdir trash
-       \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
+syntax keyword muttrcVarString contained skipwhite crypt_chars flag_chars from_chars status_chars to_chars nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+
+" CHECKED 2024 Oct 12
+" List of DT_PATH or D_STRING_MAILBOX
+syntax keyword muttrcVarString contained skipwhite
+       \ alias_file attach_save_dir autocrypt_dir certificate_file debug_file entropy_file folder
+       \ header_cache history_file mbox message_cache_dir news_cache_dir nm_config_file postponed
+       \ record signature smime_ca_location smime_certificates smime_keys spool_file
+       \ ssl_ca_certificates_file ssl_client_cert tmp_dir trash
+       \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
 " List of DT_COMMAND (excluding pgp_*_command and smime_*_command)
-syntax keyword muttrcVarStr    contained skipwhite
-       \ display_filter editor inews ispell mixmaster new_mail_command pager
-       \ print_command query_command sendmail shell external_search_command
-       \ imap_oauth_refresh_command pop_oauth_refresh_command
-       \ mime_type_query_command smtp_oauth_refresh_command tunnel
-       \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
-
-" CHECKED 2022-04-08
+syntax keyword muttrcVarString contained skipwhite
+       \ account_command display_filter editor external_search_command imap_oauth_refresh_command
+       \ inews ispell mime_type_query_command new_mail_command pager pop_oauth_refresh_command
+       \ print_command query_command sendmail shell smtp_oauth_refresh_command tunnel
+       \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
+
+" CHECKED 2024 Oct 12
 " List of DT_REGEX
-syntax keyword muttrcVarStr    contained skipwhite
-       \ abort_noattach_regex gecos_mask mask pgp_decryption_okay pgp_good_sign quote_regex 
+syntax keyword muttrcVarString contained skipwhite
+       \ abort_noattach_regex gecos_mask mask pgp_decryption_okay pgp_good_sign quote_regex
        \ reply_regex smileys
-       \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
+       \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
 " List of DT_SORT
-syntax keyword muttrcVarStr    contained skipwhite
+syntax keyword muttrcVarString contained skipwhite
        \ pgp_sort_keys sidebar_sort_method sort sort_alias sort_aux sort_browser
-       \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
+       \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
 
-" CHECKED 2022-04-08
-" List of commands in mutt_commands in mutt_commands.c
+" CHECKED 2024 Oct 12
+" List of commands in mutt_commands in commands.c
 " Remember to remove hooks, they have already been dealt with
 syntax keyword muttrcCommand   skipwhite alias nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL
 syntax keyword muttrcCommand   skipwhite bind nextgroup=muttrcBindMenuList,muttrcBindMenuListNL
 syntax keyword muttrcCommand   skipwhite exec nextgroup=muttrcFunction
 syntax keyword muttrcCommand   skipwhite macro nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL
 syntax keyword muttrcCommand   skipwhite nospam nextgroup=muttrcNoSpamPattern
-syntax keyword muttrcCommand   skipwhite set unset reset toggle nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr
+syntax keyword muttrcCommand   skipwhite set unset reset toggle nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarString
 syntax keyword muttrcCommand   skipwhite spam nextgroup=muttrcSpamPattern
 syntax keyword muttrcCommand   skipwhite unalias nextgroup=muttrcUnAliasKey,muttrcUnAliasNL
 syntax keyword muttrcCommand   skipwhite unhook nextgroup=muttrcHooks
 syntax keyword muttrcCommand   skipwhite
        \ alternative_order attachments auto_view cd echo finish hdr_order ifdef ifndef ignore lua
        \ lua-source mailboxes mailto_allow mime_lookup my_hdr named-mailboxes push score setenv
-       \ sidebar_whitelist source subjectrx subscribe-to tag-formats tag-transforms
+       \ sidebar_pin sidebar_unpin source subjectrx subscribe-to tag-formats tag-transforms
        \ unalternative_order unattachments unauto_view unbind uncolor unhdr_order unignore unmacro
-       \ unmailboxes unmailto_allow unmime_lookup unmono unmy_hdr unscore unsetenv
-       \ unsidebar_whitelist unsubjectrx unsubscribe-from unvirtual-mailboxes virtual-mailboxes
+       \ unmailboxes unmailto_allow unmime_lookup unmono unmy_hdr unscore unsetenv unsubjectrx
+       \ unsubscribe-from unvirtual-mailboxes version virtual-mailboxes
+
+" CHECKED 2024 Oct 12
+" Deprecated commands
+syntax keyword muttrcDeprecatedCommand skipwhite
+       \ sidebar_whitelist unsidebar_whitelist
 
 function! s:genFunctions(functions)
        for f in a:functions
@@ -636,68 +667,67 @@ function! s:genFunctions(functions)
        endfor
 endfunction
 
-" CHECKED 2022-04-08
+" CHECKED 2024 Oct 12
 " List of functions in functions.c
 " Note: 'noop' is included but is elsewhere in the source
 call s:genFunctions(['noop',
-       \ 'accept', 'alias-dialog', 'append', 'attach-file', 'attach-key', 'attach-message',
-       \ 'attach-news-message', 'autocrypt-acct-menu', 'autocrypt-menu', 'backspace',
-       \ 'backward-char', 'backward-word', 'bol', 'bottom', 'bottom-page', 'bounce-message',
-       \ 'break-thread', 'buffy-cycle', 'buffy-list', 'capitalize-word', 'catchup', 'chain-next',
-       \ 'chain-prev', 'change-dir', 'change-folder', 'change-folder-readonly', 'change-newsgroup',
-       \ 'change-newsgroup-readonly', 'change-vfolder', 'check-new', 'check-stats',
-       \ 'check-traditional-pgp', 'clear-flag', 'collapse-all', 'collapse-parts',
-       \ 'collapse-thread', 'complete', 'complete-query', 'compose-to-sender', 'copy-file',
-       \ 'copy-message', 'create-account', 'create-alias', 'create-mailbox', 'current-bottom',
-       \ 'current-middle', 'current-top', 'decode-copy', 'decode-save', 'decrypt-copy',
-       \ 'decrypt-save', 'delete', 'delete-account', 'delete-char', 'delete-entry',
-       \ 'delete-mailbox', 'delete-message', 'delete-pattern', 'delete-subthread', 'delete-thread',
-       \ 'descend-directory', 'detach-file', 'display-address', 'display-filename',
-       \ 'display-message', 'display-toggle-weed', 'downcase-word', 'edit', 'edit-bcc', 'edit-cc',
-       \ 'edit-content-id', 'edit-description', 'edit-encoding', 'edit-fcc', 'edit-file',
-       \ 'edit-followup-to', 'edit-from', 'edit-headers', 'edit-label', 'edit-language',
-       \ 'edit-message', 'edit-mime', 'edit-newsgroups', 'edit-or-view-raw-message',
-       \ 'edit-raw-message', 'edit-reply-to', 'edit-subject', 'edit-to', 'edit-type',
-       \ 'edit-x-comment-to', 'end-cond', 'enter-command', 'enter-mask', 'entire-thread', 'eol',
-       \ 'error-history', 'exit', 'extract-keys', 'fetch-mail', 'filter-entry', 'first-entry',
-       \ 'flag-message', 'followup-message', 'forget-passphrase', 'forward-char',
-       \ 'forward-message', 'forward-to-group', 'forward-word', 'get-attachment', 'get-children',
-       \ 'get-message', 'get-parent', 'goto-folder', 'goto-parent', 'group-alternatives',
-       \ 'group-chat-reply', 'group-multilingual', 'group-related', 'group-reply', 'half-down',
-       \ 'half-up', 'help', 'history-down', 'history-search', 'history-up', 'imap-fetch-mail',
-       \ 'imap-logout-all', 'insert', 'ispell', 'jump', 'kill-eol', 'kill-eow', 'kill-line',
-       \ 'kill-word', 'last-entry', 'limit', 'limit-current-thread', 'link-threads', 'list-reply',
-       \ 'list-subscribe', 'list-unsubscribe', 'mail', 'mail-key', 'mailbox-cycle', 'mailbox-list',
-       \ 'mark-as-new', 'mark-message', 'middle-page', 'mix', 'modify-labels',
-       \ 'modify-labels-then-hide', 'modify-tags', 'modify-tags-then-hide', 'move-down', 'move-up',
-       \ 'new-mime', 'next-entry', 'next-line', 'next-new', 'next-new-then-unread', 'next-page',
-       \ 'next-subthread', 'next-thread', 'next-undeleted', 'next-unread', 'next-unread-mailbox',
-       \ 'parent-message', 'pgp-menu', 'pipe-entry', 'pipe-message', 'post-message',
-       \ 'postpone-message', 'previous-entry', 'previous-line', 'previous-new',
-       \ 'previous-new-then-unread', 'previous-page', 'previous-subthread', 'previous-thread',
-       \ 'previous-undeleted', 'previous-unread', 'print-entry', 'print-message', 'purge-message',
-       \ 'purge-thread', 'quasi-delete', 'query', 'query-append', 'quit', 'quote-char',
-       \ 'read-subthread', 'read-thread', 'recall-message', 'reconstruct-thread', 'redraw-screen',
-       \ 'refresh', 'reload-active', 'rename-attachment', 'rename-file', 'rename-mailbox', 'reply',
-       \ 'resend-message', 'root-message', 'save-entry', 'save-message', 'search', 'search-next',
-       \ 'search-opposite', 'search-reverse', 'search-toggle', 'select-entry', 'select-new',
-       \ 'send-message', 'set-flag', 'shell-escape', 'show-limit', 'show-log-messages',
-       \ 'show-version', 'sidebar-first', 'sidebar-last', 'sidebar-next', 'sidebar-next-new',
-       \ 'sidebar-open', 'sidebar-page-down', 'sidebar-page-up', 'sidebar-prev',
-       \ 'sidebar-prev-new', 'sidebar-toggle-virtual', 'sidebar-toggle-visible', 'skip-headers',
-       \ 'skip-quoted', 'smime-menu', 'sort', 'sort-alias', 'sort-alias-reverse', 'sort-mailbox',
-       \ 'sort-reverse', 'subscribe', 'subscribe-pattern', 'sync-mailbox', 'tag-entry',
-       \ 'tag-message', 'tag-pattern', 'tag-prefix', 'tag-prefix-cond', 'tag-subthread',
-       \ 'tag-thread', 'toggle-active', 'toggle-disposition', 'toggle-mailboxes', 'toggle-new',
-       \ 'toggle-prefer-encrypt', 'toggle-quoted', 'toggle-read', 'toggle-recode',
-       \ 'toggle-subscribed', 'toggle-unlink', 'toggle-write', 'top', 'top-page',
-       \ 'transpose-chars', 'uncatchup', 'undelete-entry', 'undelete-message', 'undelete-pattern',
-       \ 'undelete-subthread', 'undelete-thread', 'ungroup-attachment', 'unsubscribe',
-       \ 'unsubscribe-pattern', 'untag-pattern', 'upcase-word', 'update-encoding', 'verify-key',
-       \ 'vfolder-from-query', 'vfolder-from-query-readonly', 'vfolder-window-backward',
-       \ 'vfolder-window-forward', 'vfolder-window-reset', 'view-attach', 'view-attachments',
-       \ 'view-file', 'view-mailcap', 'view-name', 'view-pager', 'view-raw-message', 'view-text',
-       \ 'what-key', 'write-fcc'
+       \ 'alias-dialog', 'attach-file', 'attach-key', 'attach-message', 'attach-news-message',
+       \ 'autocrypt-acct-menu', 'autocrypt-menu', 'backspace', 'backward-char', 'backward-word',
+       \ 'bol', 'bottom', 'bottom-page', 'bounce-message', 'break-thread', 'buffy-cycle',
+       \ 'buffy-list', 'capitalize-word', 'catchup', 'change-dir', 'change-folder',
+       \ 'change-folder-readonly', 'change-newsgroup', 'change-newsgroup-readonly',
+       \ 'change-vfolder', 'check-new', 'check-stats', 'check-traditional-pgp', 'clear-flag',
+       \ 'collapse-all', 'collapse-parts', 'collapse-thread', 'complete', 'complete-query',
+       \ 'compose-to-sender', 'copy-file', 'copy-message', 'create-account', 'create-alias',
+       \ 'create-mailbox', 'current-bottom', 'current-middle', 'current-top', 'decode-copy',
+       \ 'decode-save', 'decrypt-copy', 'decrypt-save', 'delete-account', 'delete-char',
+       \ 'delete-entry', 'delete-mailbox', 'delete-message', 'delete-pattern', 'delete-subthread',
+       \ 'delete-thread', 'descend-directory', 'detach-file', 'display-address',
+       \ 'display-filename', 'display-message', 'display-toggle-weed', 'downcase-word', 'edit',
+       \ 'edit-bcc', 'edit-cc', 'edit-content-id', 'edit-description', 'edit-encoding', 'edit-fcc',
+       \ 'edit-file', 'edit-followup-to', 'edit-from', 'edit-headers', 'edit-label',
+       \ 'edit-language', 'edit-message', 'edit-mime', 'edit-newsgroups',
+       \ 'edit-or-view-raw-message', 'edit-raw-message', 'edit-reply-to', 'edit-subject',
+       \ 'edit-to', 'edit-type', 'edit-x-comment-to', 'end-cond', 'enter-command', 'enter-mask',
+       \ 'entire-thread', 'eol', 'error-history', 'exit', 'extract-keys', 'fetch-mail',
+       \ 'filter-entry', 'first-entry', 'flag-message', 'followup-message', 'forget-passphrase',
+       \ 'forward-char', 'forward-message', 'forward-to-group', 'forward-word', 'get-attachment',
+       \ 'get-children', 'get-message', 'get-parent', 'goto-folder', 'goto-parent',
+       \ 'group-alternatives', 'group-chat-reply', 'group-multilingual', 'group-related',
+       \ 'group-reply', 'half-down', 'half-up', 'help', 'history-down', 'history-search',
+       \ 'history-up', 'imap-fetch-mail', 'imap-logout-all', 'ispell', 'jump', 'kill-eol',
+       \ 'kill-eow', 'kill-line', 'kill-whole-line', 'kill-word', 'last-entry', 'limit',
+       \ 'limit-current-thread', 'link-threads', 'list-reply', 'list-subscribe',
+       \ 'list-unsubscribe', 'mail', 'mail-key', 'mailbox-cycle', 'mailbox-list', 'mark-as-new',
+       \ 'mark-message', 'middle-page', 'modify-labels', 'modify-labels-then-hide', 'modify-tags',
+       \ 'modify-tags-then-hide', 'move-down', 'move-up', 'new-mime', 'next-entry', 'next-line',
+       \ 'next-new', 'next-new-then-unread', 'next-page', 'next-subthread', 'next-thread',
+       \ 'next-undeleted', 'next-unread', 'next-unread-mailbox', 'parent-message', 'pgp-menu',
+       \ 'pipe-entry', 'pipe-message', 'post-message', 'postpone-message', 'previous-entry',
+       \ 'previous-line', 'previous-new', 'previous-new-then-unread', 'previous-page',
+       \ 'previous-subthread', 'previous-thread', 'previous-undeleted', 'previous-unread',
+       \ 'print-entry', 'print-message', 'purge-message', 'purge-thread', 'quasi-delete', 'query',
+       \ 'query-append', 'quit', 'quote-char', 'read-subthread', 'read-thread', 'recall-message',
+       \ 'reconstruct-thread', 'redraw-screen', 'refresh', 'reload-active', 'rename-attachment',
+       \ 'rename-file', 'rename-mailbox', 'reply', 'resend-message', 'root-message', 'save-entry',
+       \ 'save-message', 'search', 'search-next', 'search-opposite', 'search-reverse',
+       \ 'search-toggle', 'select-entry', 'select-new', 'send-message', 'set-flag', 'shell-escape',
+       \ 'show-limit', 'show-log-messages', 'show-version', 'sidebar-first', 'sidebar-last',
+       \ 'sidebar-next', 'sidebar-next-new', 'sidebar-open', 'sidebar-page-down',
+       \ 'sidebar-page-up', 'sidebar-prev', 'sidebar-prev-new', 'sidebar-toggle-virtual',
+       \ 'sidebar-toggle-visible', 'skip-headers', 'skip-quoted', 'smime-menu', 'sort',
+       \ 'sort-alias', 'sort-alias-reverse', 'sort-mailbox', 'sort-reverse', 'subscribe',
+       \ 'subscribe-pattern', 'sync-mailbox', 'tag-entry', 'tag-message', 'tag-pattern',
+       \ 'tag-prefix', 'tag-prefix-cond', 'tag-subthread', 'tag-thread', 'toggle-active',
+       \ 'toggle-disposition', 'toggle-mailboxes', 'toggle-new', 'toggle-prefer-encrypt',
+       \ 'toggle-quoted', 'toggle-read', 'toggle-recode', 'toggle-subscribed', 'toggle-unlink',
+       \ 'toggle-write', 'top', 'top-page', 'transpose-chars', 'uncatchup', 'undelete-entry',
+       \ 'undelete-message', 'undelete-pattern', 'undelete-subthread', 'undelete-thread',
+       \ 'ungroup-attachment', 'unsubscribe', 'unsubscribe-pattern', 'untag-pattern',
+       \ 'upcase-word', 'update-encoding', 'verify-key', 'vfolder-from-query',
+       \ 'vfolder-from-query-readonly', 'vfolder-window-backward', 'vfolder-window-forward',
+       \ 'vfolder-window-reset', 'view-attach', 'view-attachments', 'view-file', 'view-mailcap',
+       \ 'view-name', 'view-pager', 'view-raw-message', 'view-text', 'what-key', 'write-fcc'
        \ ])
 
 " Define the default highlighting.
@@ -713,29 +743,23 @@ highlight def link muttrcBadAction                        Error
 highlight def link muttrcBindFunction                  Error
 highlight def link muttrcBindMenuList                  Error
 highlight def link muttrcColorBG                       Error
-highlight def link muttrcColorBGH                      Error
-highlight def link muttrcColorBGI                      Error
 highlight def link muttrcColorContext                  Error
 highlight def link muttrcColorFG                       Error
-highlight def link muttrcColorFGH                      Error
-highlight def link muttrcColorFGI                      Error
 highlight def link muttrcColorLine                     Error
+highlight def link muttrcDeprecatedCommand             Error
 highlight def link muttrcFormatErrors                  Error
 highlight def link muttrcGroupLine                     Error
-highlight def link muttrcListsLine                     Error
 highlight def link muttrcPattern                       Error
-highlight def link muttrcSubscribeLine                 Error
 highlight def link muttrcUnColorLine                   Error
 highlight def link muttrcVarDeprecatedBool             Error
+highlight def link muttrcVarDeprecatedNum              Error
 highlight def link muttrcVarDeprecatedQuad             Error
-highlight def link muttrcVarDeprecatedStr              Error
+highlight def link muttrcVarDeprecatedString           Error
 
 highlight def link muttrcAliasEncEmail                 Identifier
 highlight def link muttrcAliasKey                      Identifier
 highlight def link muttrcColorCompose                  Identifier
 highlight def link muttrcColorComposeField             Identifier
-highlight def link muttrcColorContextH                 Identifier
-highlight def link muttrcColorContextI                 Identifier
 highlight def link muttrcColorField                    Identifier
 highlight def link muttrcMenu                          Identifier
 highlight def link muttrcSimplePat                     Identifier
@@ -744,7 +768,7 @@ highlight def link muttrcUnColorIndex                       Identifier
 highlight def link muttrcVarBool                       Identifier
 highlight def link muttrcVarNum                                Identifier
 highlight def link muttrcVarQuad                       Identifier
-highlight def link muttrcVarStr                                Identifier
+highlight def link muttrcVarString                     Identifier
 
 highlight def link muttrcCommand                       Keyword
 
@@ -769,52 +793,61 @@ highlight def link muttrcUnColorKeyword                   muttrcCommand
 
 highlight def link muttrcAliasFormatEscapes            muttrcEscape
 highlight def link muttrcAttachFormatEscapes           muttrcEscape
+highlight def link muttrcAutocryptFormatEscapes                muttrcEscape
 highlight def link muttrcComposeFormatEscapes          muttrcEscape
 highlight def link muttrcFolderFormatEscapes           muttrcEscape
+highlight def link muttrcGreetingFormatEscapes         muttrcEscape
 highlight def link muttrcGroupIndexFormatEscapes       muttrcEscape
+highlight def link muttrcHistoryFormatEscapes          muttrcEscape
 highlight def link muttrcIndexFormatEscapes            muttrcEscape
-highlight def link muttrcMixFormatEscapes              muttrcEscape
 highlight def link muttrcPatternFormatEscapes          muttrcEscape
-highlight def link muttrcPGPCmdFormatEscapes           muttrcEscape
-highlight def link muttrcPGPFormatEscapes              muttrcEscape
-highlight def link muttrcPGPTimeEscapes                        muttrcEscape
+highlight def link muttrcPgpCommandFormatEscapes       muttrcEscape
+highlight def link muttrcPgpEntryFormatEscapes         muttrcEscape
+highlight def link muttrcPgpTimeEscapes                        muttrcEscape
 highlight def link muttrcQueryFormatEscapes            muttrcEscape
 highlight def link muttrcShellString                   muttrcEscape
 highlight def link muttrcSidebarFormatEscapes          muttrcEscape
-highlight def link muttrcSmimeFormatEscapes            muttrcEscape
+highlight def link muttrcSmimeCommandFormatEscapes     muttrcEscape
 highlight def link muttrcStatusFormatEscapes           muttrcEscape
 highlight def link muttrcTimeEscapes                   muttrcEscape
 
-highlight def link muttrcAliasFormatConditionals       muttrcFormatConditionals2
-highlight def link muttrcAttachFormatConditionals      muttrcFormatConditionals2
-highlight def link muttrcComposeFormatConditionals     muttrcFormatConditionals2
-highlight def link muttrcFolderFormatConditionals      muttrcFormatConditionals2
-highlight def link muttrcIndexFormatConditionals       muttrcFormatConditionals2
-highlight def link muttrcMixFormatConditionals         muttrcFormatConditionals2
-highlight def link muttrcPatternFormatConditionals     muttrcFormatConditionals2
-highlight def link muttrcPGPCmdFormatConditionals      muttrcFormatConditionals2
-highlight def link muttrcPGPFormatConditionals         muttrcFormatConditionals2
-highlight def link muttrcSmimeFormatConditionals       muttrcFormatConditionals2
-highlight def link muttrcStatusFormatConditionals      muttrcFormatConditionals2
+highlight def link muttrcAliasFormatConditionals        muttrcFormatConditionals2
+highlight def link muttrcAttachFormatConditionals       muttrcFormatConditionals2
+highlight def link muttrcAutocryptFormatConditionals    muttrcFormatConditionals2
+highlight def link muttrcComposeFormatConditionals      muttrcFormatConditionals2
+highlight def link muttrcFolderFormatConditionals       muttrcFormatConditionals2
+highlight def link muttrcGreetingFormatConditionals     muttrcFormatConditionals2
+highlight def link muttrcGroupIndexFormatConditionals   muttrcFormatConditionals2
+highlight def link muttrcHistoryFormatConditionals      muttrcFormatConditionals2
+highlight def link muttrcIndexFormatConditionals        muttrcFormatConditionals2
+highlight def link muttrcPatternFormatConditionals      muttrcFormatConditionals2
+highlight def link muttrcPgpCommandFormatConditionals   muttrcFormatConditionals2
+highlight def link muttrcPgpEntryFormatConditionals     muttrcFormatConditionals2
+highlight def link muttrcQueryFormatConditionals        muttrcFormatConditionals2
+highlight def link muttrcSidebarFormatConditionals      muttrcFormatConditionals2
+highlight def link muttrcSmimeCommandFormatConditionals         muttrcFormatConditionals2
+highlight def link muttrcStatusFormatConditionals       muttrcFormatConditionals2
 
 highlight def link muttrcAddrDef                       muttrcGroupFlag
 highlight def link muttrcRXDef                         muttrcGroupFlag
 
-highlight def link muttrcAliasFormatStr                        muttrcString
-highlight def link muttrcAttachFormatStr               muttrcString
-highlight def link muttrcComposeFormatStr              muttrcString
-highlight def link muttrcFolderFormatStr               muttrcString
-highlight def link muttrcGroupIndexFormatStr            muttrcString
-highlight def link muttrcIndexFormatStr                        muttrcString
-highlight def link muttrcMixFormatStr                  muttrcString
-highlight def link muttrcPatternFormatStr              muttrcString
-highlight def link muttrcPGPCmdFormatStr               muttrcString
-highlight def link muttrcPGPFormatStr                  muttrcString
-highlight def link muttrcQueryFormatStr                        muttrcString
-highlight def link muttrcSidebarFormatStr              muttrcString
-highlight def link muttrcSmimeFormatStr                        muttrcString
-highlight def link muttrcStatusFormatStr               muttrcString
-highlight def link muttrcStrftimeFormatStr             muttrcString
+highlight def link muttrcAliasFormatString             muttrcString
+highlight def link muttrcAttachFormatString            muttrcString
+highlight def link muttrcAutocryptFormatString         muttrcString
+highlight def link muttrcComposeFormatString           muttrcString
+highlight def link muttrcFolderFormatString            muttrcString
+highlight def link muttrcGreetingFormatString          muttrcString
+highlight def link muttrcGroupIndexFormatString                muttrcString
+highlight def link muttrcHistoryFormatString           muttrcString
+highlight def link muttrcIndexFormatString             muttrcString
+highlight def link muttrcPatternFormatString           muttrcString
+highlight def link muttrcPgpCommandFormatString                muttrcString
+highlight def link muttrcPgpEntryFormatString          muttrcString
+highlight def link muttrcQueryFormatString             muttrcString
+highlight def link muttrcSidebarFormatString           muttrcString
+highlight def link muttrcSmimeCommandFormatString      muttrcString
+highlight def link muttrcStatusFormatString            muttrcString
+highlight def link muttrcStrftimeFormatString          muttrcString
 
 highlight def link muttrcSetNumAssignment              Number
 
@@ -843,7 +876,6 @@ highlight def link muttrcMacroBodyNL                        SpecialChar
 highlight def link muttrcMacroDescrNL                  SpecialChar
 highlight def link muttrcMacroKeyNL                    SpecialChar
 highlight def link muttrcMacroMenuListNL               SpecialChar
-highlight def link muttrcPatternNL                     SpecialChar
 highlight def link muttrcRXChars                       SpecialChar
 highlight def link muttrcStringNL                      SpecialChar
 highlight def link muttrcUnAliasNL                     SpecialChar
@@ -860,7 +892,6 @@ highlight def link muttrcRXString2                  String
 highlight def link muttrcSetStrAssignment              String
 highlight def link muttrcString                                String
 
-highlight def link muttrcAliasParens                   Type
 highlight def link muttrcAttachmentsFlag               Type
 highlight def link muttrcColor                         Type
 highlight def link muttrcFormatConditionals2           Type
index 4fe5201ccf02912a0f56d4471866072eab66e2b3..2b95b26ca65d6fe4a8fea2b2ab05873d4362263a 100644 (file)
@@ -526,7 +526,7 @@ def s:GetFilenameChecks(): dict<list<string>>
     nanorc: ['/etc/nanorc', 'file.nanorc', 'any/etc/nanorc'],
     natural: ['file.NSA', 'file.NSC', 'file.NSG', 'file.NSL', 'file.NSM', 'file.NSN', 'file.NSP', 'file.NSS'],
     ncf: ['file.ncf'],
-    neomuttrc: ['Neomuttrc', '.neomuttrc', '.neomuttrc-file', '/.neomutt/neomuttrc', '/.neomutt/neomuttrc-file', 'Neomuttrc', 'Neomuttrc-file', 'any/.neomutt/neomuttrc', 'any/.neomutt/neomuttrc-file', 'neomuttrc', 'neomuttrc-file'],
+    neomuttrc: ['Neomuttrc', '.neomuttrc', '.neomuttrc-file', '/.neomutt/neomuttrc', '/.neomutt/neomuttrc-file', 'Neomuttrc', 'Neomuttrc-file', 'any/.neomutt/neomuttrc', 'any/.neomutt/neomuttrc-file', 'neomuttrc', 'neomuttrc-file', 'neomuttlog'],
     netrc: ['.netrc'],
     nginx: ['file.nginx', 'nginxfile.conf', 'filenginx.conf', 'any/etc/nginx/file', 'any/usr/local/nginx/conf/file', 'any/nginx/file.conf'],
     nim: ['file.nim', 'file.nims', 'file.nimble'],
index 221b32ec302bcce2e80e6dcc9401185816daff80..becaa3e4bddd1a1719a2b53b86c9acb2d54c6b28 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    779,
 /**/
     778,
 /**/