Long overdue runtime update.
diff --git a/runtime/syntax/bib.vim b/runtime/syntax/bib.vim
index f2b99e9..ac8dcda 100644
--- a/runtime/syntax/bib.vim
+++ b/runtime/syntax/bib.vim
@@ -2,7 +2,7 @@
 " Language:	BibTeX (bibliographic database format for (La)TeX)
 " Maintainer:	Bernd Feige <Bernd.Feige@gmx.net>
 " Filenames:	*.bib
-" Last Change:	2016 Sep 12
+" Last Change:	2017 Sep 29
 
 " Thanks to those who pointed out problems with this file or supplied fixes!
 
@@ -81,16 +81,18 @@
 syn match bibKey contained /\s*[^ \t}="]\+,/hs=s,he=e-1 nextgroup=bibField
 syn match bibVariable contained /[^{}," \t=]/
 syn region bibComment start=/./ end=/^\s*@/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
-syn region bibMath contained start=/\$/ end=/\$/ skip=/\(\\\$\)/
+syn region bibMath contained start=/\(\\\)\@<!\$/ end=/\$/ skip=/\(\\\$\)/
 syn region bibQuote contained start=/"/ end=/"/ skip=/\(\\"\)/ contains=@bibVarContents
 syn region bibBrace contained start=/{/ end=/}/ skip=/\(\\[{}]\)/ contains=@bibVarContents
 syn region bibParen contained start=/(/ end=/)/ skip=/\(\\[()]\)/ contains=@bibVarContents
 syn region bibField contained start="\S\+\s*=\s*" end=/[}),]/me=e-1 contains=bibEntryKw,bibNSEntryKw,bibBrace,bibParen,bibQuote,bibVariable
-syn region bibEntryData contained start=/[{(]/ms=e+1 end=/[})]/me=e-1 contains=bibKey,bibField
+syn region bibEntryData contained start=/[{(]/ms=e+1 end=/[})]/me=e-1 contains=bibKey,bibField,bibComment3
 " Actually, 5.8 <= Vim < 6.0 would ignore the `fold' keyword anyway, but Vim<5.8 would produce
 " an error, so we explicitly distinguish versions with and without folding functionality:
 syn region bibEntry start=/@\S\+\s*[{(]/ end=/^\s*[})]/ transparent fold contains=bibType,bibEntryData nextgroup=bibComment
 syn region bibComment2 start=/@Comment\s*[{(]/ end=/^\s*[})]/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
+" biblatex style comments inside a bibEntry
+syn match bibComment3 "%.*"
 
 " Synchronization
 " ===============
@@ -111,6 +113,7 @@
 hi def link bibUnescapedSpecial	Error
 hi def link bibComment	Comment
 hi def link bibComment2	Comment
+hi def link bibComment3	Comment
 
 let b:current_syntax = "bib"
 
diff --git a/runtime/syntax/gitolite.vim b/runtime/syntax/gitolite.vim
index 718aad0..3a6da26 100644
--- a/runtime/syntax/gitolite.vim
+++ b/runtime/syntax/gitolite.vim
@@ -1,8 +1,10 @@
 " Vim syntax file
 " Language:	gitolite configuration
-" URL:		https://github.com/tmatilai/gitolite.vim
-" Maintainer:	Teemu Matilainen <teemu.matilainen@iki.fi>
-" Last Change:	2011-12-25
+" URL:		https://github.com/sitaramc/gitolite/blob/master/contrib/vim/syntax/gitolite.vim
+"	(https://raw.githubusercontent.com/sitaramc/gitolite/master/contrib/vim/syntax/gitolite.vim)
+" Maintainer:	Sitaram Chamarty <sitaramc@gmail.com>
+" (former Maintainer:	Teemu Matilainen <teemu.matilainen@iki.fi>)
+" Last Change:	2017 Oct 05
 
 if exists("b:current_syntax")
   finish
@@ -11,74 +13,80 @@
 let s:cpo_save = &cpo
 set cpo&vim
 
-" Comment
-syn match	gitoliteComment		"\(^\|\s\)#.*" contains=gitoliteTodo
-syn keyword	gitoliteTodo		TODO FIXME XXX NOT contained
+" this seems to be the best way, for now.
+syntax sync fromstart
 
-" Groups, users and repos
-syn match	gitoliteGroupDef	"\(^\s*\)\@<=@[^=]\{-1,}\(\s*=\)\@=" contains=gitoliteSpaceError,gitoliteUserError nextgroup=gitoliteGroupDefSep
-syn match	gitoliteGroupDefSep	"\s*=" contained nextgroup=gitoliteRepoLine
-syn match	gitoliteRepoDef		"^\s*repo\s" nextgroup=gitoliteRepoLine
+" ---- common stuff
 
-syn match	gitoliteRepoLine	".*" contained transparent contains=gitoliteGroup,gitoliteWildRepo,gitoliteCreator,gitoliteExtCmdHelper,gitoliteRepoError,gitoliteComment
-syn match	gitoliteUserLine	".*" contained transparent contains=gitoliteGroup,gitolitePreProc,gitoliteUserError,gitoliteComment
+syn match   gitoliteGroup           '@\S\+'
 
-syn match	gitoliteWildRepo	"[ \t=]\@<=[^ \t]*[\\^$|()[\]*?{},][^ \t]*" contained contains=gitoliteCreator,gitoliteRepoError
-syn match	gitoliteGroup		"[ \t=]\@<=@[^ \t]\+" contained contains=gitoliteUserError
+syn match   gitoliteComment         '#.*' contains=gitoliteTodo
+syn keyword gitoliteTodo            TODO FIXME XXX NOT contained
 
-syn keyword	gitoliteCreator		CREATER CREATOR contained
-syn keyword	gitolitePreProc		CREATER CREATOR READERS WRITERS contained
+" ---- main section
 
-syn match	gitoliteExtCmdHelper	"[ \t=]\@<=EXTCMD/" contained nextgroup=gitoliteExtCmd
-syn match	gitoliteExtCmd		"rsync\(\s\|$\)" contained
+" catch template-data syntax appearing outside template-data section
+syn match   gitoliteRepoError       '^\s*repo.*='
+syn match   gitoliteRepoError       '^\s*\S\+\s*='  " this gets overridden later when first word is a perm, don't worry
 
-" Illegal characters
-syn match	gitoliteRepoError	"[^ \t0-9a-zA-Z._@+/\\^$|()[\]*?{},-]\+" contained
-syn match	gitoliteUserError	"[^ \t0-9a-zA-Z._@+-]\+" contained
-syn match	gitoliteSpaceError	"\s\+" contained
+" normal gitolite group and repo lines
+syn match   gitoliteGroupLine       '^\s*@\S\+\s*=\s*\S.*$' contains=gitoliteGroup,gitoliteComment
+syn match   gitoliteRepoLine        '^\s*repo\s\+[^=]*$' contains=gitoliteRepo,gitoliteGroup,gitoliteComment
+syn keyword gitoliteRepo            repo contained
 
-" Permission
-syn match	gitoliteKeyword		"^\s*\(C\|R\|RW\|RW+\|RWC\|RW+C\|RWD\|RW+D\|RWCD\|RW+CD\)[ \t=]\@=" nextgroup=gitoliteRefex
-syn match	gitoliteKeyword		"^\s*-[ \t=]\@=" nextgroup=gitoliteDenyRefex
-syn match	gitoliteRefex		"[^=]*="he=e-1 contained contains=gitoliteSpecialRefex,gitoliteGroup nextgroup=gitoliteUserLine
-syn match	gitoliteDenyRefex	"[^=]*="he=e-1 contained contains=gitoliteSpecialRefex,gitoliteGroup nextgroup=gitoliteDenyUsers
-syn match	gitoliteSpecialRefex	"\sNAME/"he=e-1 contained
-syn match	gitoliteSpecialRefex	"/USER/"hs=s+1,he=e-1 contained
-syn match	gitoliteDenyUsers	".*" contained contains=gitoliteUserError,gitoliteComment
+syn keyword gitoliteSpecialRepo     CREATOR
 
-" Configuration
-syn match	gitoliteKeyword		"^\s*config\s\+" nextgroup=gitoliteConfVariable
-syn match	gitoliteConfVariable	"[^=]*" contained
+" normal gitolite rule lines
+syn match   gitoliteRuleLine        '^\s*\(-\|C\|R\|RW+\?C\?D\?\)\s[^#]*' contains=gitoliteRule,gitoliteCreateRule,gitoliteDenyRule,gitoliteRefex,gitoliteUsers,gitoliteGroup
+syn match   gitoliteRule            '\(^\s*\)\@<=\(-\|C\|R\|RW+\?C\?D\?\)\s\@=' contained
+syn match   gitoliteRefex           '\(^\s*\(-\|R\|RW+\?C\?D\?\)\s\+\)\@<=\S.\{-}\(\s*=\)\@=' contains=gitoliteSpecialRefex
+syn match   gitoliteSpecialRefex    'NAME/'
+syn match   gitoliteSpecialRefex    '/USER/'
+syn match   gitoliteCreateRule      '\(^\s*C\s.*=\s*\)\@<=\S[^#]*[^# ]' contained contains=gitoliteGroup
+syn match   gitoliteDenyRule        '\(^\s*-\s.*=\s*\)\@<=\S[^#]*[^# ]' contained
 
-" Include
-syn match	gitoliteInclude		"^\s*\(include\|subconf\)\s"
+" normal gitolite config (and similar) lines
+syn match   gitoliteConfigLine      '^\s*\(config\|option\|include\|subconf\)\s[^#]*' contains=gitoliteConfigKW,gitoliteConfigKey,gitoliteConfigVal,gitoliteComment
+syn keyword gitoliteConfigKW        config option include subconf contained
+syn match   gitoliteConfigKey       '\(\(config\|option\)\s\+\)\@<=[^ =]*' contained
+syn match   gitoliteConfigVal       '\(=\s*\)\@<=\S.*' contained
 
-" String
-syn region	gitoliteString		start=+"+ end=+"+ oneline
+" ---- template-data section
 
-" Define the default highlighting
-hi def link gitoliteComment		Comment
-hi def link gitoliteTodo		Todo
-hi def link gitoliteGroupDef		gitoliteGroup
-hi def link gitoliteGroup		Identifier
-hi def link gitoliteWildRepo		Special
-hi def link gitoliteRepoError		gitoliteError
-hi def link gitoliteUserError		gitoliteError
-hi def link gitoliteSpaceError		gitoliteError
-hi def link gitoliteError		Error
-hi def link gitoliteCreator		gitolitePreProc
-hi def link gitolitePreProc		PreProc
-hi def link gitoliteExtCmdHelper	PreProc
-hi def link gitoliteExtCmd		Special
-hi def link gitoliteRepoDef		Type
-hi def link gitoliteKeyword		Keyword
-hi def link gitoliteRefex		String
-hi def link gitoliteDenyRefex		gitoliteRefex
-hi def link gitoliteSpecialRefex	PreProc
-hi def link gitoliteDenyUsers		WarningMsg
-hi def link gitoliteConfVariable	Identifier
-hi def link gitoliteInclude		Include
-hi def link gitoliteString		String
+syn region  gitoliteTemplateLine    matchgroup=PreProc start='^=begin template-data$' end='^=end$' contains=gitoliteTplRepoLine,gitoliteTplRoleLine,gitoliteGroup,gitoliteComment,gitoliteTplError
+
+syn match   gitoliteTplRepoLine     '^\s*repo\s\+\S.*=.*' contained contains=gitoliteTplRepo,gitoliteTplTemplates,gitoliteGroup
+syn keyword gitoliteTplRepo         repo contained
+syn match   gitoliteTplTemplates    '\(=\s*\)\@<=\S.*' contained contains=gitoliteGroup,gitoliteComment
+
+syn match   gitoliteTplRoleLine     '^\s*\S\+\s*=\s*.*' contained contains=gitoliteTplRole,gitoliteGroup,gitoliteComment
+syn match   gitoliteTplRole         '\S\+\s*='he=e-1 contained
+
+" catch normal gitolite rules appearing in template-data section
+syn match   gitoliteTplError        '^\s*repo[^=]*$' contained
+syn match   gitoliteTplError        '^\s*\(-\|R\|RW+\?C\?D\?\)\s'he=e-1 contained
+syn match   gitoliteTplError        '^\s*\(config\|option\|include\|subconf\)\s'he=e-1 contained
+syn match   gitoliteTplError        '^\s*@\S\+\s*=' contained contains=NONE
+
+hi def link gitoliteGroup           Identifier
+hi def link gitoliteComment         Comment
+hi def link gitoliteTodo            ToDo
+hi def link gitoliteRepoError       Error
+hi def link gitoliteGroupLine       PreProc
+hi def link gitoliteRepo            Keyword
+hi def link gitoliteSpecialRepo     PreProc
+hi def link gitoliteRule            Keyword
+hi def link gitoliteCreateRule      PreProc
+hi def link gitoliteDenyRule        WarningMsg
+hi def link gitoliteRefex           Constant
+hi def link gitoliteSpecialRefex    PreProc
+hi def link gitoliteConfigKW        Keyword
+hi def link gitoliteConfigKey       Identifier
+hi def link gitoliteConfigVal       String
+hi def link gitoliteTplRepo         Keyword
+hi def link gitoliteTplTemplates    Constant
+hi def link gitoliteTplRole         Constant
+hi def link gitoliteTplError        Error
 
 let b:current_syntax = "gitolite"
 
diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim
index 70c4e65..693a113 100644
--- a/runtime/syntax/help.vim
+++ b/runtime/syntax/help.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Vim help file
 " Maintainer:	Bram Moolenaar (Bram@vim.org)
-" Last Change:	2017 Jun 13
+" Last Change:	2017 Oct 19
 
 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
@@ -60,6 +60,7 @@
 syn match helpSpecial		"\<N\.$"me=e-1
 syn match helpSpecial		"\<N\.\s"me=e-2
 syn match helpSpecial		"(N\>"ms=s+1
+
 syn match helpSpecial		"\[N]"
 " avoid highlighting N  N in help.txt
 syn match helpSpecial		"N  N"he=s+1
@@ -85,6 +86,9 @@
 syn match helpSpecial		"\[ident]"
 syn match helpSpecial		"\[addr]"
 syn match helpSpecial		"\[group]"
+" Don't highlight [converted] and others that do not have a tag
+syn match helpNormal		"\[\(readonly\|fifo\|socket\|converted\|crypted\)]"
+
 syn match helpSpecial		"CTRL-."
 syn match helpSpecial		"CTRL-Break"
 syn match helpSpecial		"CTRL-PageUp"
diff --git a/runtime/syntax/html.vim b/runtime/syntax/html.vim
index 49d3ab4..5f943a9 100644
--- a/runtime/syntax/html.vim
+++ b/runtime/syntax/html.vim
@@ -3,8 +3,9 @@
 " Maintainer:           Jorge Maldonado Ventura <jorgesumle@freakspot.net>
 " Previous Maintainer:  Claudio Fleiner <claudio@fleiner.com>
 " Repository:           https://notabug.org/jorgesumle/vim-html-syntax
-" Last Change:          2017 Jan 21
-"                       included patch from Jorge Maldonado Ventura
+" Last Change:          2017 Sep 30
+" included patch from Christian Brabandt to make use of the strikethrough attributes
+"
 
 " Please check :help html.vim for some comments and a description of the options
 
@@ -45,13 +46,13 @@
 syn keyword htmlTagName contained form hr html img
 syn keyword htmlTagName contained input isindex kbd li link map menu
 syn keyword htmlTagName contained meta ol option param pre p samp span
-syn keyword htmlTagName contained select small strike sub sup
+syn keyword htmlTagName contained select small sub sup
 syn keyword htmlTagName contained table td textarea th tr tt ul var xmp
 syn match htmlTagName contained "\<\(b\|i\|u\|h[1-6]\|em\|strong\|head\|body\|title\)\>"
 
 " new html 4.0 tags
 syn keyword htmlTagName contained abbr acronym bdo button col label
-syn keyword htmlTagName contained colgroup del fieldset iframe ins legend
+syn keyword htmlTagName contained colgroup fieldset iframe ins legend
 syn keyword htmlTagName contained object optgroup q s tbody tfoot thead
 
 " new html 5 tags
@@ -135,6 +136,9 @@
   " rendering
   syn cluster htmlTop contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,@htmlPreproc
 
+  syn region htmlStrike start="<del\>" end="</del>"me=e-6 contains=@htmlTop
+  syn region htmlStrike start="<strike\>" end="</strike>"me=e-9 contains=@htmlTop
+
   syn region htmlBold start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
   syn region htmlBold start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
   syn region htmlBoldUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlBoldUnderlineItalic
@@ -268,6 +272,11 @@
     hi def htmlUnderline           term=underline cterm=underline gui=underline
     hi def htmlUnderlineItalic     term=italic,underline cterm=italic,underline gui=italic,underline
     hi def htmlItalic              term=italic cterm=italic gui=italic
+    if v:version > 800 || v:version == 800 && has("patch1038")
+        hi def htmlStrike              term=strikethrough cterm=strikethrough gui=strikethrough
+    else
+        hi def htmlStrike              term=underline cterm=underline gui=underline
+    endif
   endif
 endif
 
diff --git a/runtime/syntax/neomuttrc.vim b/runtime/syntax/neomuttrc.vim
new file mode 100644
index 0000000..ea9d1f0
--- /dev/null
+++ b/runtime/syntax/neomuttrc.vim
@@ -0,0 +1,1032 @@
+" Vim syntax file
+" Language:	NeoMutt setup files
+" Maintainer:	Guillaume Brogi <gui-gui@netcourrier.com>
+" Last Change:	2017 Oct 28
+" Original version based on syntax/muttrc.vim
+
+" This file covers NeoMutt 20170912
+
+" quit when a syntax file was already loaded
+if exists("b:current_syntax")
+  finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+" Set the keyword characters
+setlocal isk=@,48-57,_,-
+
+" handling optional variables
+syntax match muttrcComment		"^# .*$" contains=@Spell
+syntax match muttrcComment		"^#[^ ].*$"
+syntax match muttrcComment		"^#$"
+syntax match muttrcComment		"[^\\]#.*$"lc=1
+
+" Escape sequences (back-tick and pipe goes here too)
+syntax match muttrcEscape		+\\[#tnr"'Cc ]+
+syntax match muttrcEscape		+[`|]+
+syntax match muttrcEscape		+\\$+
+
+" The variables takes the following arguments
+"syn match  muttrcString		contained "=\s*[^ #"'`]\+"lc=1 contains=muttrcEscape
+syntax region muttrcString		contained keepend start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcCommand,muttrcAction,muttrcShellString
+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,muttrcVarDeprecatedStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad
+
+syntax match  muttrcRXChars	contained /[^\\][][.*?+]\+/hs=s+1
+syntax match  muttrcRXChars	contained /[][|()][.*?+]*/
+syntax match  muttrcRXChars	contained /['"]^/ms=s+1
+syntax match  muttrcRXChars	contained /$['"]/me=e-1
+syntax match  muttrcRXChars	contained /\\/
+" Why does muttrcRXString2 work with one \ when muttrcRXString requires two?
+syntax region muttrcRXString	contained skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXChars
+syntax region muttrcRXString	contained skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXChars
+syntax region muttrcRXString	contained skipwhite start=+[^ 	"'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXChars
+" For some reason, skip refuses to match backslashes here...
+syntax region muttrcRXString	contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXChars
+syntax region muttrcRXString	contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXChars
+syntax region muttrcRXString2	contained skipwhite start=+'+ skip=+\'+ end=+'+ contains=muttrcRXChars
+syntax region muttrcRXString2	contained skipwhite start=+"+ skip=+\"+ end=+"+ contains=muttrcRXChars
+
+" these must be kept synchronized with muttrcRXString, but are intended for
+" muttrcRXHooks
+syntax region muttrcRXHookString	contained keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL
+syntax region muttrcRXHookString	contained keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL
+syntax region muttrcRXHookString	contained keepend skipwhite start=+[^ 	"'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL
+syntax region muttrcRXHookString	contained keepend skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL
+syntax region muttrcRXHookString	contained keepend matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL
+syntax match muttrcRXHookStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcRXHookString,muttrcRXHookStringNL
+
+" these are exclusively for args lists (e.g. -rx pat pat pat ...)
+syntax region muttrcRXPat		contained keepend skipwhite start=+'+ skip=+\\'+ end=+'\s*+ contains=muttrcRXString nextgroup=muttrcRXPat
+syntax region muttrcRXPat		contained keepend skipwhite start=+"+ skip=+\\"+ end=+"\s*+ contains=muttrcRXString nextgroup=muttrcRXPat
+syntax match muttrcRXPat		contained /[^-'"#!]\S\+/ skipwhite contains=muttrcRXChars nextgroup=muttrcRXPat
+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,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcVariable,muttrcEscapedVariable
+syntax region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*"+hs=s+1 end=+"+ skip=+\\"+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcString
+syntax region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*'+hs=s+1 end=+'+ skip=+\\'+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcString
+syntax match muttrcSetBoolAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcVariable,muttrcEscapedVariable
+syntax match muttrcSetBoolAssignment contained skipwhite /=\s*\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax match muttrcSetBoolAssignment contained skipwhite /=\s*"\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax match muttrcSetBoolAssignment contained skipwhite /=\s*'\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax match muttrcSetQuadAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcVariable,muttrcEscapedVariable
+syntax match muttrcSetQuadAssignment contained skipwhite /=\s*\%(ask-\)\?\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax match muttrcSetQuadAssignment contained skipwhite /=\s*"\%(ask-\)\?\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax match muttrcSetQuadAssignment contained skipwhite /=\s*'\%(ask-\)\?\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax match muttrcSetNumAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcVariable,muttrcEscapedVariable
+syntax match muttrcSetNumAssignment contained skipwhite /=\s*\d\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax match muttrcSetNumAssignment contained skipwhite /=\s*"\d\+"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax match muttrcSetNumAssignment contained skipwhite /=\s*'\d\+'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+
+" Now catch some email addresses and headers (purified version from mail.vim)
+syntax match muttrcEmail		"[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+"
+syntax match muttrcHeader		"\<\c\%(From\|To\|C[Cc]\|B[Cc][Cc]\|Reply-To\|Subject\|Return-Path\|Received\|Date\|Replied\|Attach\)\>:\="
+
+syntax match   muttrcKeySpecial	contained +\%(\\[Cc'"]\|\^\|\\[01]\d\{2}\)+
+syntax match   muttrcKey		contained "\S\+"			contains=muttrcKeySpecial,muttrcKeyName
+syntax region  muttrcKey		contained start=+"+ skip=+\\\\\|\\"+ end=+"+	contains=muttrcKeySpecial,muttrcKeyName
+syntax region  muttrcKey		contained start=+'+ skip=+\\\\\|\\'+ end=+'+	contains=muttrcKeySpecial,muttrcKeyName
+syntax match   muttrcKeyName	contained "\\[trne]"
+syntax match   muttrcKeyName	contained "\c<\%(BackSpace\|BackTab\|Delete\|Down\|End\|Enter\|Esc\|Home\|Insert\|Left\|Next\|PageDown\|PageUp\|Return\|Right\|Space\|Tab\|Up\)>"
+syntax match   muttrcKeyName	contained "\c<F\d\+>"
+
+syntax match muttrcFormatErrors contained /%./
+
+syntax match muttrcStrftimeEscapes contained /%[AaBbCcDdeFGgHhIjklMmnpRrSsTtUuVvWwXxYyZz+%]/
+syntax match muttrcStrftimeEscapes contained /%E[cCxXyY]/
+syntax match muttrcStrftimeEscapes contained /%O[BdeHImMSuUVwWy]/
+
+syntax region muttrcIndexFormatStr	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcIndexFormatStr	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcGroupIndexFormatStr	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcGroupIndexFormatEscapes,muttrcGroupIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcGroupIndexFormatStr	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcGroupIndexFormatEscapes,muttrcGroupIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcSidebarFormatStr	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSidebarFormatEscapes,muttrcSidebarFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcSidebarFormatStr	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSidebarFormatEscapes,muttrcSidebarFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcQueryFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcAliasFormatStr	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcAliasFormatStr	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcAttachFormatStr	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcAttachFormatStr	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcComposeFormatStr	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcComposeFormatStr	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcFolderFormatStr	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcFolderFormatStr	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcMixFormatStr	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcMixFormatStr	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcPGPFormatStr	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcPGPFormatStr	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcPGPCmdFormatStr	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcPGPCmdFormatStr	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcStatusFormatStr	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcStatusFormatStr	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcPGPGetKeysFormatStr	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcPGPGetKeysFormatStr	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcSmimeFormatStr	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcSmimeFormatStr	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcStrftimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax region muttrcStrftimeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+
+" Format escapes and conditionals
+syntax match muttrcFormatConditionals2 contained /[^?]*?/
+function s:escapesConditionals(baseName, sequence, alignment, secondary)
+	exec 'syntax match muttrc' . a:baseName . 'Escapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?\%(' . a:sequence . '\|%\)/'
+	if a:alignment
+		exec 'syntax match muttrc' . a:baseName . 'Escapes contained /%[>|*]./'
+	endif
+	if a:secondary
+		exec 'syntax match muttrc' . a:baseName . 'Conditionals contained /%?\%(' . a:sequence . '\)?/ nextgroup=muttrcFormatConditionals2'
+	else
+		exec 'syntax match muttrc' . a:baseName . 'Conditionals contained /%?\%(' . a:sequence . '\)?/'
+	endif
+endfunction
+
+" flatcap compiled a list of formats here: https://pastebin.com/raw/5QXhiP6L
+" UPDATE
+" The following info was pulled from hdr_format_str in hdrline.c
+call s:escapesConditionals('IndexFormat', '[AaBbCcDdEeFfgHIiJKLlMmNnOPqrSsTtuvWXxYyZz(<[{]\|G[a-zA-Z]\+', 1, 1)
+" The following info was pulled from alias_format_str in addrbook.c
+syntax match muttrcAliasFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[afnrt%]/
+" The following info was pulled from newsgroup_format_str in browser.c
+call s:escapesConditionals('GroupIndexFormat', '[CdfMNns]', 1, 1)
+" The following info was pulled from cb_format_str in sidebar.c
+call s:escapesConditionals('SidebarFormat', '[BdFLNnSt!]', 1, 1)
+" The following info was pulled from query_format_str in query.c
+call s:escapesConditionals('QueryFormat', '[acent]', 0, 1)
+" The following info was pulled from mutt_attach_fmt in recvattach.c
+call s:escapesConditionals('AttachFormat', '[CcDdeFfIMmnQsTtuX]', 1, 1)
+" The following info was pulled from compose_format_str in compose.c
+syntax match muttrcComposeFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[ahlv%]/
+syntax match muttrcComposeFormatEscapes contained /%[>|*]./
+" The following info was pulled from folder_format_str in browser.c
+call s:escapesConditionals('FolderFormat', '[CDdfFglNstu]', 1, 0)
+" The following info was pulled from mix_entry_fmt in remailer.c
+call s:escapesConditionals('MixFormat', '[acns]', 0, 0)
+" The following info was pulled from crypt_entry_fmt in crypt-gpgme.c 
+" and pgp_entry_fmt in pgpkey.c (note that crypt_entry_fmt supports 
+" 'p', but pgp_entry_fmt does not).
+call s:escapesConditionals('PGPFormat', '[acfklnptu[]', 0, 0)
+" The following info was pulled from _mutt_fmt_pgp_command in 
+" pgpinvoke.c
+call s:escapesConditionals('PGPCmdFormat', '[afprs]', 0, 1)
+" The following info was pulled from status_format_str in status.c
+call s:escapesConditionals('StatusFormat', '[bdFfhLlMmnoPprSstuVu]', 1, 1)
+" This matches the documentation, but directly contradicts the code 
+" (according to the code, this should be identical to the 
+" muttrcPGPCmdFormatEscapes
+syntax match muttrcPGPGetKeysFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[acfklntu[%]/
+" The following info was pulled from _mutt_fmt_smime_command in 
+" smime.c
+call s:escapesConditionals('SmimeFormat', '[aCcdfiks]', 0, 1)
+
+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 region muttrcPGPTimeEscapes 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 muttrcVarEqualsIdxFmt contained skipwhite "=" nextgroup=muttrcIndexFormatStr
+syntax match muttrcVarEqualsGrpIdxFmt contained skipwhite "=" nextgroup=muttrcGroupIndexFormatStr
+syntax match muttrcVarEqualsMixFmt contained skipwhite "=" nextgroup=muttrcMixFormatStr
+syntax match muttrcVarEqualsPGPFmt contained skipwhite "=" nextgroup=muttrcPGPFormatStr
+syntax match muttrcVarEqualsQueryFmt contained skipwhite "=" nextgroup=muttrcQueryFormatStr
+syntax match muttrcVarEqualsPGPCmdFmt contained skipwhite "=" nextgroup=muttrcPGPCmdFormatStr
+syntax match muttrcVarEqualsSdbFmt contained skipwhite "=" nextgroup=muttrcSidebarFormatStr
+syntax match muttrcVarEqualsStatusFmt contained skipwhite "=" nextgroup=muttrcStatusFormatStr
+syntax match muttrcVarEqualsPGPGetKeysFmt contained skipwhite "=" nextgroup=muttrcPGPGetKeysFormatStr
+syntax match muttrcVarEqualsSmimeFmt contained skipwhite "=" nextgroup=muttrcSmimeFormatStr
+syntax match muttrcVarEqualsStrftimeFmt contained skipwhite "=" nextgroup=muttrcStrftimeFormatStr
+
+syntax match muttrcVPrefix contained /[?&]/ nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+
+" List of the different screens in mutt
+" UPDATE
+syntax keyword muttrcMenu contained alias attach browser compose editor index pager postpone pgp mix query generic
+syntax match muttrcMenuList "\S\+" contained contains=muttrcMenu
+syntax match muttrcMenuCommas /,/ contained
+
+" List of hooks in Commands in init.h
+" UPDATE
+syntax keyword muttrcHooks contained skipwhite
+			\ account-hook append-hook charset-hook
+			\ close-hook crypt-hook fcc-hook fcc-save-hook folder-hook iconv-hook mbox-hook
+			\ message-hook open-hook pgp-hook reply-hook save-hook send-hook send2-hook
+syntax keyword muttrcHooks skipwhite shutdown-hook startup-hook timeout-hook nextgroup=muttrcCommand
+
+syntax region muttrcSpamPattern	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL
+syntax region muttrcSpamPattern	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL
+
+syntax region muttrcNoSpamPattern	contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern
+syntax region muttrcNoSpamPattern	contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern
+
+syntax match muttrcAttachmentsMimeType contained "[*a-z0-9_-]\+/[*a-z0-9._-]\+\s*" skipwhite nextgroup=muttrcAttachmentsMimeType
+syntax match muttrcAttachmentsFlag contained "[+-]\%([AI]\|inline\|attachment\)\s\+" skipwhite nextgroup=muttrcAttachmentsMimeType
+syntax match muttrcAttachmentsLine "^\s*\%(un\)\?attachments\s\+" skipwhite nextgroup=muttrcAttachmentsFlag
+
+syntax match muttrcUnHighlightSpace contained "\%(\s\+\|\\$\)"
+
+syntax keyword muttrcAsterisk	contained *
+syntax keyword muttrcListsKeyword	lists skipwhite nextgroup=muttrcGroupDef,muttrcComment
+syntax keyword muttrcListsKeyword	unlists skipwhite nextgroup=muttrcAsterisk,muttrcComment
+
+syntax keyword muttrcSubscribeKeyword	subscribe nextgroup=muttrcGroupDef,muttrcComment
+syntax keyword muttrcSubscribeKeyword	unsubscribe nextgroup=muttrcAsterisk,muttrcComment
+
+syntax keyword muttrcAlternateKeyword contained alternates unalternates
+syntax region muttrcAlternatesLine keepend start=+^\s*\%(un\)\?alternates\s+ skip=+\\$+ end=+$+ contains=muttrcAlternateKeyword,muttrcGroupDef,muttrcRXPat,muttrcUnHighlightSpace,muttrcComment
+
+" muttrcVariable includes a prefix because partial strings are considered
+" valid.
+syntax match muttrcVariable	contained "\\\@<![a-zA-Z_-]*\$[a-zA-Z_-]\+" contains=muttrcVariableInner
+syntax match muttrcVariableInner	contained "\$[a-zA-Z_-]\+"
+syntax match muttrcEscapedVariable	contained "\\\$[a-zA-Z_-]\+"
+
+syntax match muttrcBadAction	contained "[^<>]\+" contains=muttrcEmail
+syntax match muttrcAction		contained "<[^>]\{-}>" contains=muttrcBadAction,muttrcFunction,muttrcKeyName
+
+" First, functions 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
+
+" Now, functions that take patterns
+syntax match muttrcPatHookNot	contained /!\s*/ skipwhite nextgroup=muttrcPattern
+syntax match muttrcPatHooks	/\<\%(charset\|iconv\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcPattern
+syntax match muttrcPatHooks	/\<\%(message\|reply\|send\|send2\|save\|fcc\|fcc-save\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcOptPattern
+
+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 muttrcBindMenuListNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindMenuList,muttrcBindMenuListNL
+
+syntax region muttrcMacroDescr	contained keepend skipwhite start=+\s*\S+ms=e skip=+\\ + end=+ \|$+me=s
+syntax region muttrcMacroDescr	contained keepend skipwhite start=+'+ms=e skip=+\\'+ end=+'+me=s
+syntax region muttrcMacroDescr	contained keepend skipwhite start=+"+ms=e skip=+\\"+ end=+"+me=s
+syntax match muttrcMacroDescrNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroDescr,muttrcMacroDescrNL
+syntax region muttrcMacroBody	contained skipwhite start="\S" skip='\\ \|\\$' end=' \|$' contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction nextgroup=muttrcMacroDescr,muttrcMacroDescrNL
+syntax region muttrcMacroBody matchgroup=Type contained skipwhite start=+'+ms=e skip=+\\'+ end=+'\|\%(\%(\\\\\)\@<!$\)+me=s contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcSpam,muttrcNoSpam,muttrcCommand,muttrcAction,muttrcVariable nextgroup=muttrcMacroDescr,muttrcMacroDescrNL
+syntax region muttrcMacroBody matchgroup=Type contained skipwhite start=+"+ms=e skip=+\\"+ end=+"\|\%(\%(\\\\\)\@<!$\)+me=s contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcSpam,muttrcNoSpam,muttrcCommand,muttrcAction,muttrcVariable nextgroup=muttrcMacroDescr,muttrcMacroDescrNL
+syntax match muttrcMacroBodyNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroBody,muttrcMacroBodyNL
+syntax match muttrcMacroKey	contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcMacroBody,muttrcMacroBodyNL
+syntax match muttrcMacroKeyNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroKey,muttrcMacroKeyNL
+syntax match muttrcMacroMenuList	contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcMacroKey,muttrcMacroKeyNL
+syntax match muttrcMacroMenuListNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL
+
+syntax match muttrcAddrContent	contained "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+\s*" skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent
+syntax region muttrcAddrContent	contained start=+'+ end=+'\s*+ skip=+\\'+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent
+syntax region muttrcAddrContent	contained start=+"+ end=+"\s*+ skip=+\\"+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent
+syntax match muttrcAddrDef 	contained "-addr\s\+" skipwhite nextgroup=muttrcAddrContent
+
+syntax match muttrcGroupFlag	contained "-group"
+syntax region muttrcGroupDef	contained start="-group\s\+" skip="\\$" end="\s" skipwhite keepend contains=muttrcGroupFlag,muttrcUnHighlightSpace
+
+syntax keyword muttrcGroupKeyword	contained group ungroup
+syntax region muttrcGroupLine	keepend start=+^\s*\%(un\)\?group\s+ skip=+\\$+ end=+$+ contains=muttrcGroupKeyword,muttrcGroupDef,muttrcAddrDef,muttrcRXDef,muttrcUnHighlightSpace,muttrcComment
+
+syntax match muttrcAliasGroupName	contained /\w\+/ skipwhite nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL
+syntax match muttrcAliasGroupDefNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL
+syntax match muttrcAliasGroupDef	contained /\s*-group/ skipwhite nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL contains=muttrcGroupFlag
+syntax match muttrcAliasComma	contained /,/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL
+syntax match muttrcAliasEmail	contained /\S\+@\S\+/ contains=muttrcEmail nextgroup=muttrcAliasName,muttrcAliasNameNL skipwhite
+syntax match muttrcAliasEncEmail	contained /<[^>]\+>/ contains=muttrcEmail nextgroup=muttrcAliasComma
+syntax match muttrcAliasEncEmailNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL
+syntax match muttrcAliasNameNoParens contained /[^<(@]\+\s\+/ nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL
+syntax region muttrcAliasName	contained matchgroup=Type start=/(/ end=/)/ skipwhite
+syntax match muttrcAliasNameNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasName,muttrcAliasNameNL
+syntax match muttrcAliasENNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL
+syntax match muttrcAliasKey	contained /\s*[^- \t]\S\+/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL
+syntax match muttrcAliasNL		contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL
+
+syntax match muttrcUnAliasKey	contained "\s*\w\+\s*" skipwhite nextgroup=muttrcUnAliasKey,muttrcUnAliasNL
+syntax match muttrcUnAliasNL	contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcUnAliasKey,muttrcUnAliasNL
+
+syntax match muttrcSimplePat contained "!\?\^\?[~][ADEFgGklNOpPQRSTuUvV=$]"
+syntax match muttrcSimplePat contained "!\?\^\?[~][mnXz]\s*\%([<>-][0-9]\+[kM]\?\|[0-9]\+[kM]\?[-]\%([0-9]\+[kM]\?\)\?\)"
+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
+syntax match muttrcSimplePat contained "!\?\^\?[~][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatRXContainer
+syntax match muttrcSimplePat contained "!\?\^\?[%][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString
+syntax match muttrcSimplePat contained "!\?\^\?[=][bcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString
+syntax region muttrcSimplePat contained keepend start=+!\?\^\?[~](+ end=+)+ contains=muttrcSimplePat
+"syn match muttrcSimplePat contained /'[^~=%][^']*/ contains=muttrcRXString
+syntax region muttrcSimplePatString contained keepend start=+"+ end=+"+ skip=+\\"+
+syntax region muttrcSimplePatString contained keepend start=+'+ end=+'+ skip=+\\'+
+syntax region muttrcSimplePatString contained keepend start=+[^ 	"']+ skip=+\\ + end=+\s+re=e-1
+syntax region muttrcSimplePatRXContainer contained keepend start=+"+ end=+"+ skip=+\\"+ contains=muttrcRXString
+syntax region muttrcSimplePatRXContainer contained keepend start=+'+ end=+'+ skip=+\\'+ contains=muttrcRXString
+syntax region muttrcSimplePatRXContainer contained keepend start=+[^ 	"']+ skip=+\\ + end=+\s+re=e-1 contains=muttrcRXString
+syntax match muttrcSimplePatMetas contained /[(|)]/
+
+syntax match muttrcOptSimplePat contained skipwhite /[~=%!(^].*/ contains=muttrcSimplePat,muttrcSimplePatMetas
+syntax match muttrcOptSimplePat contained skipwhite /[^~=%!(^].*/ contains=muttrcRXString
+syntax region muttrcOptPattern contained matchgroup=Type keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL
+syntax region muttrcOptPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL
+syntax region muttrcOptPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL
+syntax match muttrcOptPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL
+syntax match muttrcOptPattern contained skipwhite /[.]/ nextgroup=muttrcString,muttrcStringNL
+" Keep muttrcPattern and muttrcOptPattern synchronized
+syntax region muttrcPattern contained matchgroup=Type keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
+syntax region muttrcPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
+syntax region muttrcPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat
+syntax match muttrcPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat
+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).
+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 match   muttrcColor	contained "\<\%(bright\)\=color\d\{1,3}\>"
+" 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 muttrcColorBGNL	contained skipnl "\s*\\$" 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 muttrcColorNL 	contained skipnl "\s*\\$" nextgroup=muttrcColorContext,muttrcColorNL,muttrcColorCompose
+syntax match muttrcColorKeyword	contained /^\s*color\s\+/ nextgroup=muttrcColorContext,muttrcColorNL,muttrcColorCompose
+" And now color's brother:
+syntax region muttrcUnColorPatterns contained skipwhite start=+\s*'+ end=+'+ skip=+\\'+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
+syntax region muttrcUnColorPatterns contained skipwhite start=+\s*"+ end=+"+ skip=+\\"+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
+syntax match muttrcUnColorPatterns contained skipwhite /\s*[^'"\s]\S\*/ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
+syntax match muttrcUnColorPatNL	contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
+syntax match muttrcUnColorAll	contained skipwhite /[*]/
+syntax match muttrcUnColorAPNL	contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL
+syntax match muttrcUnColorIndex	contained skipwhite /\s*index\s\+/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL
+syntax match muttrcUnColorIndexNL	contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL
+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 muttrcMono	contained mono		skipwhite nextgroup=muttrcColorField,muttrcColorCompose
+syntax match   muttrcMonoLine	"^\s*mono\s\+\S\+"	skipwhite nextgroup=muttrcMonoAttrib contains=muttrcMono
+
+" List of fields in Fields in color.c
+" UPDATE
+syntax keyword muttrcColorField skipwhite contained 
+			\ attach_headers attachment bold error hdrdefault index_author index_collapsed
+			\ index_date index_label index_number index_size index_subject index_tags
+			\ indicator markers message normal progress prompt quoted search sidebar_divider
+			\ sidebar_flagged sidebar_highlight sidebar_indicator sidebar_new
+			\ sidebar_ordinary sidebar_spoolfile signature status tilde tree underline
+			\ body header index index_flags index_tag
+			\ nextgroup=muttrcColor
+syntax match   muttrcColorField	contained "\<quoted\d\=\>"
+
+syntax match muttrcColorCompose skipwhite contained /\s*compose\s*/ nextgroup=muttrcColorComposeField
+" List of fields in ComposeFields in color.c
+" UPDATE
+syntax keyword muttrcColorComposeField skipwhite contained
+			\ header security_encrypt security_sign security_both security_none
+			\ nextgroup=muttrcColorFG,muttrcColorFGNL
+syntax region muttrcColorLine keepend start=/^\s*color\s\+/ skip=+\\$+ end=+$+ contains=muttrcColorKeyword,muttrcComment,muttrcUnHighlightSpace
+
+
+function s:boolQuadGen(type, vars, deprecated)
+	let l:novars = copy(a:vars)
+	call map(l:novars, '"no" . v:val')
+	let l:invvars = copy(a:vars)
+	call map(l:invvars, '"inv" . v:val')
+
+	let l:orig_type = copy(a:type)
+	if a:deprecated
+		let l:type = 'Deprecated' . a:type
+	else
+		let l:type = a:type
+	endif
+
+	exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(a:vars) . ' nextgroup=muttrcSet' . l:orig_type . 'Assignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr'
+	exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(l:novars) . ' nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr'
+	exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(l:invvars) . ' nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr'
+endfunction
+
+" List of DT_BOOL in MuttVars in init.h
+" UPDATE
+call s:boolQuadGen('Bool', [
+			\ 'allow_8bit', 'allow_ansi', 'arrow_cursor', 'ascii_chars', 'askbcc', 'askcc',
+			\ 'ask_follow_up', 'ask_x_comment_to', 'attach_split', 'autoedit', 'auto_tag',
+			\ 'beep', 'beep_new', 'bounce_delivered', 'braille_friendly', 'check_mbox_size',
+			\ 'check_new', 'collapse_all', 'collapse_flagged', 'collapse_unread',
+			\ 'confirmappend', 'confirmcreate', 'crypt_autoencrypt', 'crypt_autopgp',
+			\ 'crypt_autosign', 'crypt_autosmime', 'crypt_confirmhook',
+			\ 'crypt_opportunistic_encrypt', 'crypt_replyencrypt', 'crypt_replysign',
+			\ 'crypt_replysignencrypted', 'crypt_timestamp', 'crypt_use_gpgme',
+			\ 'crypt_use_pka', 'delete_untag', 'digest_collapse', 'duplicate_threads',
+			\ 'edit_headers', 'encode_from', 'fast_reply', 'fcc_clear', 'flag_safe',
+			\ 'followup_to', 'force_name', 'forward_decode', 'forward_decrypt',
+			\ 'forward_quote', 'forward_references', 'hdrs', 'header',
+			\ 'header_cache_compress', '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_linear_white_space', 'ignore_list_reply_to',
+			\ 'imap_check_subscribed', 'imap_idle', 'imap_list_subscribed', 'imap_passive',
+			\ 'imap_peek', 'imap_servernoise', 'implicit_autoview', 'include_onlyfirst',
+			\ 'keep_flagged', 'keywords_legacy', 'keywords_standard', 'mailcap_sanitize',
+			\ 'mail_check_recent', 'mail_check_stats', 'maildir_check_cur',
+			\ 'maildir_header_cache_verify', 'maildir_trash', 'markers', 'mark_old',
+			\ 'menu_move_off', 'menu_scroll', 'message_cache_clean', 'meta_key', 'metoo',
+			\ 'mh_purge', 'mime_forward_decode', 'mime_subject', 'mime_type_query_first',
+			\ 'narrow_tree', 'nm_record', 'nntp_listgroup', 'nntp_load_description',
+			\ 'pager_stop', 'pgp_auto_decode', 'pgp_autoinline', 'pgp_check_exit',
+			\ 'pgp_ignore_subkeys', 'pgp_long_ids', 'pgp_replyinline',
+			\ 'pgp_retainable_sigs', 'pgp_self_encrypt', 'pgp_show_unusable',
+			\ 'pgp_strict_enc', 'pgp_use_gpg_agent', 'pipe_decode', 'pipe_split',
+			\ 'pop_auth_try_all', 'pop_last', 'postpone_encrypt', 'print_decode',
+			\ 'print_split', 'prompt_after', 'read_only', 'reflow_space_quotes',
+			\ 'reflow_text', 'reply_self', 'reply_with_xorig', 'resolve',
+			\ 'resume_draft_files', 'resume_edited_draft_files', 'reverse_alias',
+			\ 'reverse_name', 'reverse_realname', 'rfc2047_parameters', 'save_address',
+			\ 'save_empty', 'save_name', 'save_unsubscribed', 'score', 'show_new_news',
+			\ 'show_only_unread', 'sidebar_folder_indent', 'sidebar_new_mail_only',
+			\ 'sidebar_next_new_wrap', 'sidebar_on_right', 'sidebar_short_path',
+			\ 'sidebar_visible', 'sig_dashes', 'sig_on_top', 'smart_wrap',
+			\ 'smime_ask_cert_label', 'smime_decrypt_use_default_key', 'smime_is_default',
+			\ 'smime_self_encrypt', 'sort_re', 'ssl_force_tls', 'ssl_use_sslv2',
+			\ 'ssl_use_sslv3', 'ssl_usesystemcerts', 'ssl_use_tlsv1', 'ssl_use_tlsv1_1',
+			\ 'ssl_use_tlsv1_2', 'ssl_verify_dates', 'ssl_verify_host',
+			\ 'ssl_verify_partial_chains', 'status_on_top', 'strict_threads', 'suspend',
+			\ 'text_flowed', 'thorough_search', 'thread_received', 'tilde', 'ts_enabled',
+			\ 'uncollapse_jump', 'uncollapse_new', 'use_8bitmime', 'use_domain',
+			\ 'use_envelope_from', 'use_from', 'use_ipv6', 'user_agent',
+			\ 'virtual_spoolfile', 'wait_key', 'weed', 'wrap_search', 'write_bcc',
+			\ 'x_comment_to'
+			\ ], 0)
+
+" Deprecated Bools
+" UPDATE
+" List of DT_SYNONYM synonyms of Bools in MuttVars in init.h
+call s:boolQuadGen('Bool', [
+			\ 'edit_hdrs', 'envelope_from', 'forw_decode', 'forw_decrypt', 'forw_quote',
+			\ 'pgp_autoencrypt', 'pgp_autosign', 'pgp_auto_traditional',
+			\ 'pgp_create_traditional', 'pgp_replyencrypt', 'pgp_replysign',
+			\ 'pgp_replysignencrypted', 'xterm_set_titles'
+			\ ], 1)
+
+" List of DT_QUAD in MuttVars in init.h
+" UPDATE
+call s:boolQuadGen('Quad', [
+			\ 'abort_noattach', 'abort_nosubject', 'abort_unmodified', 'bounce',
+			\ 'catchup_newsgroup', 'copy', 'crypt_verify_sig', 'delete', 'fcc_attach',
+			\ 'followup_to_poster', 'forward_edit', 'honor_followup_to', 'include',
+			\ 'mime_forward', 'mime_forward_rest', 'move', 'pgp_encrypt_self',
+			\ 'pgp_mime_auto', 'pop_delete', 'pop_reconnect', 'post_moderated', 'postpone',
+			\ 'print', 'quit', 'recall', 'reply_to', 'smime_encrypt_self', 'ssl_starttls',
+			\ ], 0)
+
+" Deprecated Quads
+" UPDATE
+" List of DT_SYNONYM synonyms of Quads in MuttVars in init.h
+call s:boolQuadGen('Quad', [
+			\ 'mime_fwd', 'pgp_verify_sig'
+			\ ], 1)
+
+" List of DT_NUMBER in MuttVars in init.h
+" UPDATE
+syntax keyword muttrcVarNum	skipwhite contained
+			\ connect_timeout debug_level history 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
+			\ nm_query_window_duration nntp_context nntp_poll pager_context
+			\ pager_index_lines pgp_timeout pop_checkinterval read_inc reflow_wrap
+			\ save_history score_threshold_delete score_threshold_flag score_threshold_read
+			\ search_context sendmail_wait sidebar_width skip_quoted_offset sleep_time
+			\ smime_timeout ssl_min_dh_prime_bits time_inc timeout wrap wrap_headers
+			\ wrapmargin write_inc
+			\ nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+
+" List of DT_STRING in MuttVars in init.h
+" UPDATE
+" Special cases first, and all the rest at the end
+" A lot of special cases are format, flatcap compiled a list here https://pastebin.com/raw/5QXhiP6L
+" 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,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+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 index_format message_format pager_format nextgroup=muttrcVarEqualsIdxFmt
+" Deprecated format
+syntax keyword muttrcVarDeprecatedStr	contained skipwhite hdr_format msg_format nextgroup=muttrcVarEqualsIdxFmt
+syntax keyword muttrcVarStr	contained skipwhite mix_entry_format nextgroup=muttrcVarEqualsMixFmt
+syntax keyword muttrcVarStr	contained skipwhite 
+			\ pgp_decode_command pgp_verify_command pgp_decrypt_command
+			\ pgp_clearsign_command pgp_sign_command pgp_encrypt_sign_command
+			\ pgp_encrypt_only_command pgp_import_command pgp_export_command
+			\ pgp_verify_key_command pgp_list_secring_command pgp_list_pubring_command
+			\ nextgroup=muttrcVarEqualsPGPCmdFmt
+syntax keyword muttrcVarStr	contained skipwhite pgp_entry_format nextgroup=muttrcVarEqualsPGPFmt
+syntax keyword muttrcVarStr	contained skipwhite pgp_getkeys_command nextgroup=muttrcVarEqualsPGPGetKeysFmt
+syntax keyword muttrcVarStr	contained skipwhite query_format nextgroup=muttrcVarEqualsQueryFmt
+syntax keyword muttrcVarStr	contained skipwhite
+			\ smime_decrypt_command smime_verify_command smime_verify_opaque_command
+			\ smime_sign_command smime_sign_opaque_command smime_encrypt_command
+			\ smime_pk7out_command smime_get_cert_command smime_get_signer_cert_command
+			\ smime_import_cert_command smime_get_cert_email_command
+			\ nextgroup=muttrcVarEqualsSmimeFmt
+syntax keyword muttrcVarStr	contained skipwhite ts_icon_format ts_status_format status_format nextgroup=muttrcVarEqualsStatusFmt
+" Deprecated format
+syntax keyword muttrcVarDeprecatedStr	contained skipwhite xterm_icon xterm_title 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
+			\ assumed_charset attach_charset attach_sep attribution_locale charset
+			\ config_charset content_type default_hook dsn_notify dsn_return empty_subject
+			\ escape forward_attribution_intro forward_attribution_trailer forward_format
+			\ header_cache_pagesize 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
+			\ mime_type_query_command newsgroups_charset news_server nm_default_uri
+			\ nm_exclude_tags nm_hidden_tags nm_query_type nm_query_window_current_search
+			\ nm_query_window_timebase nm_record_tags nm_unread_tag nntp_authenticators
+			\ nntp_pass nntp_user pgp_self_encrypt_as pgp_sign_as pipe_sep
+			\ pop_authenticators pop_host pop_pass pop_user post_indent_string
+			\ postpone_encrypt_as preconnect realname send_charset
+			\ show_multipart_alternative sidebar_delim_chars sidebar_divider_char
+			\ sidebar_indent_string simple_search smime_default_key smime_encrypt_with
+			\ smime_self_encrypt_as smime_sign_digest_alg smtp_authenticators smtp_pass
+			\ smtp_url spam_separator ssl_ciphers tunnel xlabel_delimiter
+			\ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+" Deprecated strings
+syntax keyword muttrcVarDeprecatedStr	contained skipwhite
+			\ forw_format indent_str post_indent_str smime_sign_as
+			\ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+" List of DT_ADDRESS
+syntax keyword muttrcVarStr	contained skipwhite envelope_from_address from nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+" List of DT_HCACHE
+syntax keyword muttrcVarStr	contained skipwhite header_cache_backend nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+" List of DT_MAGIC
+syntax keyword muttrcVarStr	contained skipwhite mbox_type nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+" List of DT_MBTABLE
+syntax keyword muttrcVarStr	contained skipwhite flag_chars from_chars status_chars to_chars nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+" List of DT_PATH
+syntax keyword muttrcVarStr	contained skipwhite
+			\ alias_file certificate_file debug_file display_filter editor entropy_file
+			\ folder header_cache history_file inews ispell mbox message_cachedir mixmaster
+			\ new_mail_command news_cache_dir newsrc pager postponed print_command
+			\ query_command record sendmail shell signature smime_ca_location
+			\ smime_certificates smime_keys spoolfile ssl_ca_certificates_file
+			\ ssl_client_cert tmpdir trash visual
+			\ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+" List of deprecated DT_PATH
+syntax keyword muttrcVarDeprecatedStr	contained skipwhite print_cmd nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+" List of DT_REGEX
+syntax keyword muttrcVarStr	contained skipwhite
+			\ attach_keyword gecos_mask mask pgp_decryption_okay pgp_good_sign quote_regexp
+			\ reply_regexp smileys
+			\ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+" List of DT_SORT
+syntax keyword muttrcVarStr	contained skipwhite
+			\ pgp_sort_keys sidebar_sort_method sort sort_alias sort_aux sort_browser
+			\ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+
+" List of commands in Commands in init.h
+" UPDATE
+" Remember to remove hooks, they have already been dealt with
+syntax keyword muttrcCommand	skipwhite charset-hook nextgroup=muttrcRXString
+syntax keyword muttrcCommand	skipwhite unhook nextgroup=muttrcHooks
+syntax keyword muttrcCommand	skipwhite spam nextgroup=muttrcSpamPattern
+syntax keyword muttrcCommand	skipwhite nospam nextgroup=muttrcNoSpamPattern
+syntax keyword muttrcCommand	skipwhite bind nextgroup=muttrcBindMenuList,muttrcBindMenuListNL
+syntax keyword muttrcCommand	skipwhite macro	nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL
+syntax keyword muttrcCommand	skipwhite alias nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL
+syntax keyword muttrcCommand	skipwhite unalias nextgroup=muttrcUnAliasKey,muttrcUnAliasNL
+syntax keyword muttrcCommand	skipwhite set unset reset toggle nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
+syntax keyword muttrcCommand	skipwhite exec nextgroup=muttrcFunction
+syntax keyword muttrcCommand	skipwhite
+			\ alternative_order attachments auto_view hdr_order ifdef ifndef ignore lua
+			\ lua-source mailboxes mailto_allow mime_lookup my_hdr push score setenv
+			\ sidebar_whitelist source subjectrx tag-formats tag-transforms
+			\ unalternative_order unattachments unauto_view uncolor unhdr_order unignore
+			\ unmailboxes unmailto_allow unmime_lookup unmono unmy_hdr unscore unsetenv
+			\ unsidebar_whitelist unsubjectrx unvirtual-mailboxes virtual-mailboxes
+
+" List of functions in functions.h
+" UPDATE
+syntax match muttrcFunction contained "\<accept\>"
+syntax match muttrcFunction contained "\<append\>"
+syntax match muttrcFunction contained "\<attach-file\>"
+syntax match muttrcFunction contained "\<attach-key\>"
+syntax match muttrcFunction contained "\<accept\>"
+syntax match muttrcFunction contained "\<append\>"
+syntax match muttrcFunction contained "\<attach-file\>"
+syntax match muttrcFunction contained "\<attach-key\>"
+syntax match muttrcFunction contained "\<attach-message\>"
+syntax match muttrcFunction contained "\<attach-news-message\>"
+syntax match muttrcFunction contained "\<backspace\>"
+syntax match muttrcFunction contained "\<backward-char\>"
+syntax match muttrcFunction contained "\<backward-word\>"
+syntax match muttrcFunction contained "\<bol\>"
+syntax match muttrcFunction contained "\<bottom\>"
+syntax match muttrcFunction contained "\<bottom-page\>"
+syntax match muttrcFunction contained "\<bounce-message\>"
+syntax match muttrcFunction contained "\<break-thread\>"
+syntax match muttrcFunction contained "\<buffy-cycle\>"
+syntax match muttrcFunction contained "\<buffy-list\>"
+syntax match muttrcFunction contained "\<capitalize-word\>"
+syntax match muttrcFunction contained "\<catchup\>"
+syntax match muttrcFunction contained "\<chain-next\>"
+syntax match muttrcFunction contained "\<chain-prev\>"
+syntax match muttrcFunction contained "\<change-dir\>"
+syntax match muttrcFunction contained "\<change-folder\>"
+syntax match muttrcFunction contained "\<change-folder-readonly\>"
+syntax match muttrcFunction contained "\<change-newsgroup\>"
+syntax match muttrcFunction contained "\<change-newsgroup-readonly\>"
+syntax match muttrcFunction contained "\<change-vfolder\>"
+syntax match muttrcFunction contained "\<check-new\>"
+syntax match muttrcFunction contained "\<check-traditional-pgp\>"
+syntax match muttrcFunction contained "\<clear-flag\>"
+syntax match muttrcFunction contained "\<collapse-all\>"
+syntax match muttrcFunction contained "\<collapse-parts\>"
+syntax match muttrcFunction contained "\<collapse-thread\>"
+syntax match muttrcFunction contained "\<complete\>"
+syntax match muttrcFunction contained "\<complete-query\>"
+syntax match muttrcFunction contained "\<compose-to-sender\>"
+syntax match muttrcFunction contained "\<copy-file\>"
+syntax match muttrcFunction contained "\<copy-message\>"
+syntax match muttrcFunction contained "\<create-alias\>"
+syntax match muttrcFunction contained "\<create-mailbox\>"
+syntax match muttrcFunction contained "\<current-bottom\>"
+syntax match muttrcFunction contained "\<current-middle\>"
+syntax match muttrcFunction contained "\<current-top\>"
+syntax match muttrcFunction contained "\<decode-copy\>"
+syntax match muttrcFunction contained "\<decode-save\>"
+syntax match muttrcFunction contained "\<decrypt-copy\>"
+syntax match muttrcFunction contained "\<decrypt-save\>"
+syntax match muttrcFunction contained "\<delete\>"
+syntax match muttrcFunction contained "\<delete-char\>"
+syntax match muttrcFunction contained "\<delete-entry\>"
+syntax match muttrcFunction contained "\<delete-mailbox\>"
+syntax match muttrcFunction contained "\<delete-message\>"
+syntax match muttrcFunction contained "\<delete-pattern\>"
+syntax match muttrcFunction contained "\<delete-subthread\>"
+syntax match muttrcFunction contained "\<delete-thread\>"
+syntax match muttrcFunction contained "\<detach-file\>"
+syntax match muttrcFunction contained "\<display-address\>"
+syntax match muttrcFunction contained "\<display-filename\>"
+syntax match muttrcFunction contained "\<display-message\>"
+syntax match muttrcFunction contained "\<display-toggle-weed\>"
+syntax match muttrcFunction contained "\<downcase-word\>"
+syntax match muttrcFunction contained "\<edit\>"
+syntax match muttrcFunction contained "\<edit-bcc\>"
+syntax match muttrcFunction contained "\<edit-cc\>"
+syntax match muttrcFunction contained "\<edit-description\>"
+syntax match muttrcFunction contained "\<edit-encoding\>"
+syntax match muttrcFunction contained "\<edit-fcc\>"
+syntax match muttrcFunction contained "\<edit-file\>"
+syntax match muttrcFunction contained "\<edit-followup-to\>"
+syntax match muttrcFunction contained "\<edit-from\>"
+syntax match muttrcFunction contained "\<edit-headers\>"
+syntax match muttrcFunction contained "\<edit-label\>"
+syntax match muttrcFunction contained "\<edit-message\>"
+syntax match muttrcFunction contained "\<edit-mime\>"
+syntax match muttrcFunction contained "\<edit-newsgroups\>"
+syntax match muttrcFunction contained "\<edit-reply-to\>"
+syntax match muttrcFunction contained "\<edit-subject\>"
+syntax match muttrcFunction contained "\<edit-to\>"
+syntax match muttrcFunction contained "\<edit-type\>"
+syntax match muttrcFunction contained "\<edit-x-comment-to\>"
+syntax match muttrcFunction contained "\<end-cond\>"
+syntax match muttrcFunction contained "\<enter-command\>"
+syntax match muttrcFunction contained "\<enter-mask\>"
+syntax match muttrcFunction contained "\<entire-thread\>"
+syntax match muttrcFunction contained "\<eol\>"
+syntax match muttrcFunction contained "\<exit\>"
+syntax match muttrcFunction contained "\<extract-keys\>"
+syntax match muttrcFunction contained "\<fetch-mail\>"
+syntax match muttrcFunction contained "\<filter-entry\>"
+syntax match muttrcFunction contained "\<first-entry\>"
+syntax match muttrcFunction contained "\<flag-message\>"
+syntax match muttrcFunction contained "\<followup-message\>"
+syntax match muttrcFunction contained "\<forget-passphrase\>"
+syntax match muttrcFunction contained "\<forward-char\>"
+syntax match muttrcFunction contained "\<forward-message\>"
+syntax match muttrcFunction contained "\<forward-to-group\>"
+syntax match muttrcFunction contained "\<forward-word\>"
+syntax match muttrcFunction contained "\<get-attachment\>"
+syntax match muttrcFunction contained "\<get-children\>"
+syntax match muttrcFunction contained "\<get-message\>"
+syntax match muttrcFunction contained "\<get-parent\>"
+syntax match muttrcFunction contained "\<goto-folder\>"
+syntax match muttrcFunction contained "\<group-reply\>"
+syntax match muttrcFunction contained "\<half-down\>"
+syntax match muttrcFunction contained "\<half-up\>"
+syntax match muttrcFunction contained "\<help\>"
+syntax match muttrcFunction contained "\<history-down\>"
+syntax match muttrcFunction contained "\<history-up\>"
+syntax match muttrcFunction contained "\<imap-fetch-mail\>"
+syntax match muttrcFunction contained "\<imap-logout-all\>"
+syntax match muttrcFunction contained "\<insert\>"
+syntax match muttrcFunction contained "\<ispell\>"
+syntax match muttrcFunction contained "\<jump\>"
+syntax match muttrcFunction contained "\<kill-eol\>"
+syntax match muttrcFunction contained "\<kill-eow\>"
+syntax match muttrcFunction contained "\<kill-line\>"
+syntax match muttrcFunction contained "\<kill-word\>"
+syntax match muttrcFunction contained "\<last-entry\>"
+syntax match muttrcFunction contained "\<limit\>"
+syntax match muttrcFunction contained "\<limit-current-thread\>"
+syntax match muttrcFunction contained "\<link-threads\>"
+syntax match muttrcFunction contained "\<list-reply\>"
+syntax match muttrcFunction contained "\<mail\>"
+syntax match muttrcFunction contained "\<mail-key\>"
+syntax match muttrcFunction contained "\<mark-as-new\>"
+syntax match muttrcFunction contained "\<mark-message\>"
+syntax match muttrcFunction contained "\<middle-page\>"
+syntax match muttrcFunction contained "\<mix\>"
+syntax match muttrcFunction contained "\<modify-labels\>"
+syntax match muttrcFunction contained "\<modify-labels-then-hide\>"
+syntax match muttrcFunction contained "\<new-mime\>"
+syntax match muttrcFunction contained "\<next-entry\>"
+syntax match muttrcFunction contained "\<next-line\>"
+syntax match muttrcFunction contained "\<next-new\>"
+syntax match muttrcFunction contained "\<next-new-then-unread\>"
+syntax match muttrcFunction contained "\<next-page\>"
+syntax match muttrcFunction contained "\<next-subthread\>"
+syntax match muttrcFunction contained "\<next-thread\>"
+syntax match muttrcFunction contained "\<next-undeleted\>"
+syntax match muttrcFunction contained "\<next-unread\>"
+syntax match muttrcFunction contained "\<next-unread-mailbox\>"
+syntax match muttrcFunction contained "\<parent-message\>"
+syntax match muttrcFunction contained "\<pgp-menu\>"
+syntax match muttrcFunction contained "\<pipe-entry\>"
+syntax match muttrcFunction contained "\<pipe-message\>"
+syntax match muttrcFunction contained "\<post-message\>"
+syntax match muttrcFunction contained "\<postpone-message\>"
+syntax match muttrcFunction contained "\<previous-entry\>"
+syntax match muttrcFunction contained "\<previous-line\>"
+syntax match muttrcFunction contained "\<previous-new\>"
+syntax match muttrcFunction contained "\<previous-new-then-unread\>"
+syntax match muttrcFunction contained "\<previous-page\>"
+syntax match muttrcFunction contained "\<previous-subthread\>"
+syntax match muttrcFunction contained "\<previous-thread\>"
+syntax match muttrcFunction contained "\<previous-undeleted\>"
+syntax match muttrcFunction contained "\<previous-unread\>"
+syntax match muttrcFunction contained "\<print-entry\>"
+syntax match muttrcFunction contained "\<print-message\>"
+syntax match muttrcFunction contained "\<purge-message\>"
+syntax match muttrcFunction contained "\<purge-thread\>"
+syntax match muttrcFunction contained "\<quasi-delete\>"
+syntax match muttrcFunction contained "\<query\>"
+syntax match muttrcFunction contained "\<query-append\>"
+syntax match muttrcFunction contained "\<quit\>"
+syntax match muttrcFunction contained "\<quote-char\>"
+syntax match muttrcFunction contained "\<read-subthread\>"
+syntax match muttrcFunction contained "\<read-thread\>"
+syntax match muttrcFunction contained "\<recall-message\>"
+syntax match muttrcFunction contained "\<reconstruct-thread\>"
+syntax match muttrcFunction contained "\<redraw-screen\>"
+syntax match muttrcFunction contained "\<refresh\>"
+syntax match muttrcFunction contained "\<reload-active\>"
+syntax match muttrcFunction contained "\<rename-attachment\>"
+syntax match muttrcFunction contained "\<rename-file\>"
+syntax match muttrcFunction contained "\<rename-mailbox\>"
+syntax match muttrcFunction contained "\<reply\>"
+syntax match muttrcFunction contained "\<resend-message\>"
+syntax match muttrcFunction contained "\<root-message\>"
+syntax match muttrcFunction contained "\<save-entry\>"
+syntax match muttrcFunction contained "\<save-message\>"
+syntax match muttrcFunction contained "\<search\>"
+syntax match muttrcFunction contained "\<search-next\>"
+syntax match muttrcFunction contained "\<search-opposite\>"
+syntax match muttrcFunction contained "\<search-reverse\>"
+syntax match muttrcFunction contained "\<search-toggle\>"
+syntax match muttrcFunction contained "\<select-entry\>"
+syntax match muttrcFunction contained "\<select-new\>"
+syntax match muttrcFunction contained "\<send-message\>"
+syntax match muttrcFunction contained "\<set-flag\>"
+syntax match muttrcFunction contained "\<shell-escape\>"
+syntax match muttrcFunction contained "\<show-limit\>"
+syntax match muttrcFunction contained "\<show-version\>"
+syntax match muttrcFunction contained "\<sidebar-next\>"
+syntax match muttrcFunction contained "\<sidebar-next-new\>"
+syntax match muttrcFunction contained "\<sidebar-open\>"
+syntax match muttrcFunction contained "\<sidebar-page-down\>"
+syntax match muttrcFunction contained "\<sidebar-page-up\>"
+syntax match muttrcFunction contained "\<sidebar-prev\>"
+syntax match muttrcFunction contained "\<sidebar-prev-new\>"
+syntax match muttrcFunction contained "\<sidebar-toggle-virtual\>"
+syntax match muttrcFunction contained "\<sidebar-toggle-visible\>"
+syntax match muttrcFunction contained "\<skip-quoted\>"
+syntax match muttrcFunction contained "\<smime-menu\>"
+syntax match muttrcFunction contained "\<sort\>"
+syntax match muttrcFunction contained "\<sort-mailbox\>"
+syntax match muttrcFunction contained "\<sort-reverse\>"
+syntax match muttrcFunction contained "\<subscribe\>"
+syntax match muttrcFunction contained "\<subscribe-pattern\>"
+syntax match muttrcFunction contained "\<sync-mailbox\>"
+syntax match muttrcFunction contained "\<tag-entry\>"
+syntax match muttrcFunction contained "\<tag-message\>"
+syntax match muttrcFunction contained "\<tag-pattern\>"
+syntax match muttrcFunction contained "\<tag-prefix\>"
+syntax match muttrcFunction contained "\<tag-prefix-cond\>"
+syntax match muttrcFunction contained "\<tag-subthread\>"
+syntax match muttrcFunction contained "\<tag-thread\>"
+syntax match muttrcFunction contained "\<toggle-disposition\>"
+syntax match muttrcFunction contained "\<toggle-mailboxes\>"
+syntax match muttrcFunction contained "\<toggle-new\>"
+syntax match muttrcFunction contained "\<toggle-quoted\>"
+syntax match muttrcFunction contained "\<toggle-read\>"
+syntax match muttrcFunction contained "\<toggle-recode\>"
+syntax match muttrcFunction contained "\<toggle-subscribed\>"
+syntax match muttrcFunction contained "\<toggle-unlink\>"
+syntax match muttrcFunction contained "\<toggle-write\>"
+syntax match muttrcFunction contained "\<top\>"
+syntax match muttrcFunction contained "\<top-page\>"
+syntax match muttrcFunction contained "\<transpose-chars\>"
+syntax match muttrcFunction contained "\<uncatchup\>"
+syntax match muttrcFunction contained "\<undelete-entry\>"
+syntax match muttrcFunction contained "\<undelete-message\>"
+syntax match muttrcFunction contained "\<undelete-pattern\>"
+syntax match muttrcFunction contained "\<undelete-subthread\>"
+syntax match muttrcFunction contained "\<undelete-thread\>"
+syntax match muttrcFunction contained "\<unsubscribe\>"
+syntax match muttrcFunction contained "\<unsubscribe-pattern\>"
+syntax match muttrcFunction contained "\<untag-pattern\>"
+syntax match muttrcFunction contained "\<upcase-word\>"
+syntax match muttrcFunction contained "\<update-encoding\>"
+syntax match muttrcFunction contained "\<verify-key\>"
+syntax match muttrcFunction contained "\<vfolder-from-query\>"
+syntax match muttrcFunction contained "\<vfolder-window-backward\>"
+syntax match muttrcFunction contained "\<vfolder-window-forward\>"
+syntax match muttrcFunction contained "\<view-attach\>"
+syntax match muttrcFunction contained "\<view-attachments\>"
+syntax match muttrcFunction contained "\<view-file\>"
+syntax match muttrcFunction contained "\<view-mailcap\>"
+syntax match muttrcFunction contained "\<view-name\>"
+syntax match muttrcFunction contained "\<view-text\>"
+syntax match muttrcFunction contained "\<what-key\>"
+syntax match muttrcFunction contained "\<write-fcc\>"
+
+
+
+" Define the default highlighting.
+" Only when an item doesn't have highlighting yet
+
+highlight def link muttrcComment			Comment
+highlight def link muttrcEscape				SpecialChar
+highlight def link muttrcRXChars			SpecialChar
+highlight def link muttrcString				String
+highlight def link muttrcRXString			String
+highlight def link muttrcRXString2			String
+highlight def link muttrcSpecial			Special
+highlight def link muttrcHooks				Type
+highlight def link muttrcGroupFlag			Type
+highlight def link muttrcGroupDef			Macro
+highlight def link muttrcAddrDef			muttrcGroupFlag
+highlight def link muttrcRXDef				muttrcGroupFlag
+highlight def link muttrcRXPat				String
+highlight def link muttrcAliasGroupName			Macro
+highlight def link muttrcAliasKey	        	Identifier
+highlight def link muttrcUnAliasKey			Identifier
+highlight def link muttrcAliasEncEmail			Identifier
+highlight def link muttrcAliasParens			Type
+highlight def link muttrcSetNumAssignment		Number
+highlight def link muttrcSetBoolAssignment		Boolean
+highlight def link muttrcSetQuadAssignment		Boolean
+highlight def link muttrcSetStrAssignment		String
+highlight def link muttrcEmail				Special
+highlight def link muttrcVariableInner			Special
+highlight def link muttrcEscapedVariable		String
+highlight def link muttrcHeader				Type
+highlight def link muttrcKeySpecial			SpecialChar
+highlight def link muttrcKey				Type
+highlight def link muttrcKeyName			SpecialChar
+highlight def link muttrcVarBool			Identifier
+highlight def link muttrcVarQuad			Identifier
+highlight def link muttrcVarNum				Identifier
+highlight def link muttrcVarStr				Identifier
+highlight def link muttrcMenu				Identifier
+highlight def link muttrcCommand			Keyword
+highlight def link muttrcMacroDescr			String
+highlight def link muttrcAction				Macro
+highlight def link muttrcBadAction			Error
+highlight def link muttrcBindFunction			Error
+highlight def link muttrcBindMenuList			Error
+highlight def link muttrcFunction			Macro
+highlight def link muttrcGroupKeyword			muttrcCommand
+highlight def link muttrcGroupLine			Error
+highlight def link muttrcSubscribeKeyword		muttrcCommand
+highlight def link muttrcSubscribeLine			Error
+highlight def link muttrcListsKeyword			muttrcCommand
+highlight def link muttrcListsLine			Error
+highlight def link muttrcAlternateKeyword		muttrcCommand
+highlight def link muttrcAlternatesLine			Error
+highlight def link muttrcAttachmentsLine		muttrcCommand
+highlight def link muttrcAttachmentsFlag		Type
+highlight def link muttrcAttachmentsMimeType		String
+highlight def link muttrcColorLine			Error
+highlight def link muttrcColorContext			Error
+highlight def link muttrcColorContextI			Identifier
+highlight def link muttrcColorContextH			Identifier
+highlight def link muttrcColorKeyword			muttrcCommand
+highlight def link muttrcColorField			Identifier
+highlight def link muttrcColorCompose			Identifier
+highlight def link muttrcColorComposeField		Identifier
+highlight def link muttrcColor				Type
+highlight def link muttrcColorFG			Error
+highlight def link muttrcColorFGI			Error
+highlight def link muttrcColorFGH			Error
+highlight def link muttrcColorBG			Error
+highlight def link muttrcColorBGI			Error
+highlight def link muttrcColorBGH			Error
+highlight def link muttrcMonoAttrib			muttrcColor
+highlight def link muttrcMono				muttrcCommand
+highlight def link muttrcSimplePat			Identifier
+highlight def link muttrcSimplePatString		Macro
+highlight def link muttrcSimplePatMetas			Special
+highlight def link muttrcPattern			Error
+highlight def link muttrcUnColorLine			Error
+highlight def link muttrcUnColorKeyword			muttrcCommand
+highlight def link muttrcUnColorIndex			Identifier
+highlight def link muttrcShellString			muttrcEscape
+highlight def link muttrcRXHooks			muttrcCommand
+highlight def link muttrcRXHookNot			Type
+highlight def link muttrcPatHooks			muttrcCommand
+highlight def link muttrcPatHookNot			Type
+highlight def link muttrcFormatConditionals2		Type
+highlight def link muttrcIndexFormatStr			muttrcString
+highlight def link muttrcIndexFormatEscapes		muttrcEscape
+highlight def link muttrcIndexFormatConditionals	muttrcFormatConditionals2
+highlight def link muttrcAliasFormatStr			muttrcString
+highlight def link muttrcAliasFormatEscapes		muttrcEscape
+highlight def link muttrcAttachFormatStr		muttrcString
+highlight def link muttrcAttachFormatEscapes		muttrcEscape
+highlight def link muttrcAttachFormatConditionals	muttrcFormatConditionals2
+highlight def link muttrcComposeFormatStr		muttrcString
+highlight def link muttrcComposeFormatEscapes		muttrcEscape
+highlight def link muttrcFolderFormatStr		muttrcString
+highlight def link muttrcFolderFormatEscapes		muttrcEscape
+highlight def link muttrcFolderFormatConditionals	muttrcFormatConditionals2
+highlight def link muttrcMixFormatStr			muttrcString
+highlight def link muttrcMixFormatEscapes		muttrcEscape
+highlight def link muttrcMixFormatConditionals		muttrcFormatConditionals2
+highlight def link muttrcPGPFormatStr			muttrcString
+highlight def link muttrcPGPFormatEscapes		muttrcEscape
+highlight def link muttrcPGPFormatConditionals		muttrcFormatConditionals2
+highlight def link muttrcPGPCmdFormatStr		muttrcString
+highlight def link muttrcPGPCmdFormatEscapes		muttrcEscape
+highlight def link muttrcPGPCmdFormatConditionals	muttrcFormatConditionals2
+highlight def link muttrcStatusFormatStr		muttrcString
+highlight def link muttrcStatusFormatEscapes		muttrcEscape
+highlight def link muttrcStatusFormatConditionals	muttrcFormatConditionals2
+highlight def link muttrcPGPGetKeysFormatStr		muttrcString
+highlight def link muttrcPGPGetKeysFormatEscapes	muttrcEscape
+highlight def link muttrcSmimeFormatStr			muttrcString
+highlight def link muttrcSmimeFormatEscapes		muttrcEscape
+highlight def link muttrcSmimeFormatConditionals	muttrcFormatConditionals2
+highlight def link muttrcTimeEscapes			muttrcEscape
+highlight def link muttrcPGPTimeEscapes			muttrcEscape
+highlight def link muttrcStrftimeEscapes		Type
+highlight def link muttrcStrftimeFormatStr		muttrcString
+highlight def link muttrcFormatErrors			Error
+
+highlight def link muttrcBindFunctionNL			SpecialChar
+highlight def link muttrcBindKeyNL			SpecialChar
+highlight def link muttrcBindMenuListNL			SpecialChar
+highlight def link muttrcMacroDescrNL			SpecialChar
+highlight def link muttrcMacroBodyNL			SpecialChar
+highlight def link muttrcMacroKeyNL			SpecialChar
+highlight def link muttrcMacroMenuListNL		SpecialChar
+highlight def link muttrcColorMatchCountNL		SpecialChar
+highlight def link muttrcColorNL			SpecialChar
+highlight def link muttrcColorRXNL			SpecialChar
+highlight def link muttrcColorBGNL			SpecialChar
+highlight def link muttrcColorFGNL			SpecialChar
+highlight def link muttrcAliasNameNL			SpecialChar
+highlight def link muttrcAliasENNL			SpecialChar
+highlight def link muttrcAliasNL			SpecialChar
+highlight def link muttrcUnAliasNL			SpecialChar
+highlight def link muttrcAliasGroupDefNL		SpecialChar
+highlight def link muttrcAliasEncEmailNL		SpecialChar
+highlight def link muttrcPatternNL			SpecialChar
+highlight def link muttrcUnColorPatNL			SpecialChar
+highlight def link muttrcUnColorAPNL			SpecialChar
+highlight def link muttrcUnColorIndexNL			SpecialChar
+highlight def link muttrcStringNL			SpecialChar
+
+highlight def link muttrcVarDeprecatedBool		Error
+highlight def link muttrcVarDeprecatedQuad		Error
+highlight def link muttrcVarDeprecatedStr		Error
+
+
+let b:current_syntax = "neomuttrc"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+"EOF	vim: ts=8 noet tw=100 sw=8 sts=0 ft=vim
diff --git a/runtime/syntax/sshdconfig.vim b/runtime/syntax/sshdconfig.vim
index c3abfff..3924aaf 100644
--- a/runtime/syntax/sshdconfig.vim
+++ b/runtime/syntax/sshdconfig.vim
@@ -6,8 +6,8 @@
 " Contributor:  Leonard Ehrenfried <leonard.ehrenfried@web.de>	
 " Contributor:  Karsten Hopp <karsten@redhat.com>
 " Originally:	2009-07-09
-" Last Change:	2016 Dec 28
-" SSH Version:	7.4p1
+" Last Change:	2017 Oct 25
+" SSH Version:	7.6p1
 "
 
 " Setup
@@ -224,7 +224,6 @@
 syn keyword sshdconfigKeyword UseDNS
 syn keyword sshdconfigKeyword UseLogin
 syn keyword sshdconfigKeyword UsePAM
-syn keyword sshdconfigKeyword UsePrivilegeSeparation
 syn keyword sshdconfigKeyword VersionAddendum
 syn keyword sshdconfigKeyword X11DisplayOffset
 syn keyword sshdconfigKeyword X11Forwarding