blob: ea9d1f0885453a503368596e0f60e99ab650ffa6 [file] [log] [blame]
Bram Moolenaar01164a62017-11-02 22:58:42 +01001" Vim syntax file
2" Language: NeoMutt setup files
3" Maintainer: Guillaume Brogi <gui-gui@netcourrier.com>
4" Last Change: 2017 Oct 28
5" Original version based on syntax/muttrc.vim
6
7" This file covers NeoMutt 20170912
8
9" quit when a syntax file was already loaded
10if exists("b:current_syntax")
11 finish
12endif
13
14let s:cpo_save = &cpo
15set cpo&vim
16
17" Set the keyword characters
18setlocal isk=@,48-57,_,-
19
20" handling optional variables
21syntax match muttrcComment "^# .*$" contains=@Spell
22syntax match muttrcComment "^#[^ ].*$"
23syntax match muttrcComment "^#$"
24syntax match muttrcComment "[^\\]#.*$"lc=1
25
26" Escape sequences (back-tick and pipe goes here too)
27syntax match muttrcEscape +\\[#tnr"'Cc ]+
28syntax match muttrcEscape +[`|]+
29syntax match muttrcEscape +\\$+
30
31" The variables takes the following arguments
32"syn match muttrcString contained "=\s*[^ #"'`]\+"lc=1 contains=muttrcEscape
33syntax region muttrcString contained keepend start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcCommand,muttrcAction,muttrcShellString
34syntax region muttrcString contained keepend start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcCommand,muttrcAction
35syntax match muttrcStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcString,muttrcStringNL
36
37syntax region muttrcShellString matchgroup=muttrcEscape keepend start=+`+ skip=+\\`+ end=+`+ contains=muttrcVarStr,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcCommand,muttrcVarDeprecatedStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad
38
39syntax match muttrcRXChars contained /[^\\][][.*?+]\+/hs=s+1
40syntax match muttrcRXChars contained /[][|()][.*?+]*/
41syntax match muttrcRXChars contained /['"]^/ms=s+1
42syntax match muttrcRXChars contained /$['"]/me=e-1
43syntax match muttrcRXChars contained /\\/
44" Why does muttrcRXString2 work with one \ when muttrcRXString requires two?
45syntax region muttrcRXString contained skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXChars
46syntax region muttrcRXString contained skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXChars
47syntax region muttrcRXString contained skipwhite start=+[^ "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXChars
48" For some reason, skip refuses to match backslashes here...
49syntax region muttrcRXString contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXChars
50syntax region muttrcRXString contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXChars
51syntax region muttrcRXString2 contained skipwhite start=+'+ skip=+\'+ end=+'+ contains=muttrcRXChars
52syntax region muttrcRXString2 contained skipwhite start=+"+ skip=+\"+ end=+"+ contains=muttrcRXChars
53
54" these must be kept synchronized with muttrcRXString, but are intended for
55" muttrcRXHooks
56syntax region muttrcRXHookString contained keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL
57syntax region muttrcRXHookString contained keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL
58syntax region muttrcRXHookString contained keepend skipwhite start=+[^ "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL
59syntax region muttrcRXHookString contained keepend skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL
60syntax region muttrcRXHookString contained keepend matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL
61syntax match muttrcRXHookStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcRXHookString,muttrcRXHookStringNL
62
63" these are exclusively for args lists (e.g. -rx pat pat pat ...)
64syntax region muttrcRXPat contained keepend skipwhite start=+'+ skip=+\\'+ end=+'\s*+ contains=muttrcRXString nextgroup=muttrcRXPat
65syntax region muttrcRXPat contained keepend skipwhite start=+"+ skip=+\\"+ end=+"\s*+ contains=muttrcRXString nextgroup=muttrcRXPat
66syntax match muttrcRXPat contained /[^-'"#!]\S\+/ skipwhite contains=muttrcRXChars nextgroup=muttrcRXPat
67syntax match muttrcRXDef contained "-rx\s\+" skipwhite nextgroup=muttrcRXPat
68
69syntax match muttrcSpecial +\(['"]\)!\1+
70
71syntax match muttrcSetStrAssignment contained skipwhite /=\s*\%(\\\?\$\)\?[0-9A-Za-z_-]\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcVariable,muttrcEscapedVariable
72syntax region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*"+hs=s+1 end=+"+ skip=+\\"+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcString
73syntax region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*'+hs=s+1 end=+'+ skip=+\\'+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcString
74syntax match muttrcSetBoolAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcVariable,muttrcEscapedVariable
75syntax match muttrcSetBoolAssignment contained skipwhite /=\s*\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
76syntax match muttrcSetBoolAssignment contained skipwhite /=\s*"\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
77syntax match muttrcSetBoolAssignment contained skipwhite /=\s*'\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
78syntax match muttrcSetQuadAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcVariable,muttrcEscapedVariable
79syntax match muttrcSetQuadAssignment contained skipwhite /=\s*\%(ask-\)\?\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
80syntax match muttrcSetQuadAssignment contained skipwhite /=\s*"\%(ask-\)\?\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
81syntax match muttrcSetQuadAssignment contained skipwhite /=\s*'\%(ask-\)\?\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
82syntax match muttrcSetNumAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcVariable,muttrcEscapedVariable
83syntax match muttrcSetNumAssignment contained skipwhite /=\s*\d\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
84syntax match muttrcSetNumAssignment contained skipwhite /=\s*"\d\+"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
85syntax match muttrcSetNumAssignment contained skipwhite /=\s*'\d\+'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
86
87" Now catch some email addresses and headers (purified version from mail.vim)
88syntax match muttrcEmail "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+"
89syntax match muttrcHeader "\<\c\%(From\|To\|C[Cc]\|B[Cc][Cc]\|Reply-To\|Subject\|Return-Path\|Received\|Date\|Replied\|Attach\)\>:\="
90
91syntax match muttrcKeySpecial contained +\%(\\[Cc'"]\|\^\|\\[01]\d\{2}\)+
92syntax match muttrcKey contained "\S\+" contains=muttrcKeySpecial,muttrcKeyName
93syntax region muttrcKey contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=muttrcKeySpecial,muttrcKeyName
94syntax region muttrcKey contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=muttrcKeySpecial,muttrcKeyName
95syntax match muttrcKeyName contained "\\[trne]"
96syntax match muttrcKeyName contained "\c<\%(BackSpace\|BackTab\|Delete\|Down\|End\|Enter\|Esc\|Home\|Insert\|Left\|Next\|PageDown\|PageUp\|Return\|Right\|Space\|Tab\|Up\)>"
97syntax match muttrcKeyName contained "\c<F\d\+>"
98
99syntax match muttrcFormatErrors contained /%./
100
101syntax match muttrcStrftimeEscapes contained /%[AaBbCcDdeFGgHhIjklMmnpRrSsTtUuVvWwXxYyZz+%]/
102syntax match muttrcStrftimeEscapes contained /%E[cCxXyY]/
103syntax match muttrcStrftimeEscapes contained /%O[BdeHImMSuUVwWy]/
104
105syntax region muttrcIndexFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
106syntax region muttrcIndexFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
107syntax region muttrcGroupIndexFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcGroupIndexFormatEscapes,muttrcGroupIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
108syntax region muttrcGroupIndexFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcGroupIndexFormatEscapes,muttrcGroupIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
109syntax region muttrcSidebarFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSidebarFormatEscapes,muttrcSidebarFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
110syntax region muttrcSidebarFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSidebarFormatEscapes,muttrcSidebarFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
111syntax region muttrcQueryFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
112syntax region muttrcAliasFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
113syntax region muttrcAliasFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
114syntax region muttrcAttachFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
115syntax region muttrcAttachFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
116syntax region muttrcComposeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
117syntax region muttrcComposeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
118syntax region muttrcFolderFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
119syntax region muttrcFolderFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
120syntax region muttrcMixFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
121syntax region muttrcMixFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
122syntax region muttrcPGPFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
123syntax region muttrcPGPFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
124syntax region muttrcPGPCmdFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
125syntax region muttrcPGPCmdFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
126syntax region muttrcStatusFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
127syntax region muttrcStatusFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
128syntax region muttrcPGPGetKeysFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
129syntax region muttrcPGPGetKeysFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
130syntax region muttrcSmimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
131syntax region muttrcSmimeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
132syntax region muttrcStrftimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
133syntax region muttrcStrftimeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
134
135" Format escapes and conditionals
136syntax match muttrcFormatConditionals2 contained /[^?]*?/
137function s:escapesConditionals(baseName, sequence, alignment, secondary)
138 exec 'syntax match muttrc' . a:baseName . 'Escapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?\%(' . a:sequence . '\|%\)/'
139 if a:alignment
140 exec 'syntax match muttrc' . a:baseName . 'Escapes contained /%[>|*]./'
141 endif
142 if a:secondary
143 exec 'syntax match muttrc' . a:baseName . 'Conditionals contained /%?\%(' . a:sequence . '\)?/ nextgroup=muttrcFormatConditionals2'
144 else
145 exec 'syntax match muttrc' . a:baseName . 'Conditionals contained /%?\%(' . a:sequence . '\)?/'
146 endif
147endfunction
148
149" flatcap compiled a list of formats here: https://pastebin.com/raw/5QXhiP6L
150" UPDATE
151" The following info was pulled from hdr_format_str in hdrline.c
152call s:escapesConditionals('IndexFormat', '[AaBbCcDdEeFfgHIiJKLlMmNnOPqrSsTtuvWXxYyZz(<[{]\|G[a-zA-Z]\+', 1, 1)
153" The following info was pulled from alias_format_str in addrbook.c
154syntax match muttrcAliasFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[afnrt%]/
155" The following info was pulled from newsgroup_format_str in browser.c
156call s:escapesConditionals('GroupIndexFormat', '[CdfMNns]', 1, 1)
157" The following info was pulled from cb_format_str in sidebar.c
158call s:escapesConditionals('SidebarFormat', '[BdFLNnSt!]', 1, 1)
159" The following info was pulled from query_format_str in query.c
160call s:escapesConditionals('QueryFormat', '[acent]', 0, 1)
161" The following info was pulled from mutt_attach_fmt in recvattach.c
162call s:escapesConditionals('AttachFormat', '[CcDdeFfIMmnQsTtuX]', 1, 1)
163" The following info was pulled from compose_format_str in compose.c
164syntax match muttrcComposeFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[ahlv%]/
165syntax match muttrcComposeFormatEscapes contained /%[>|*]./
166" The following info was pulled from folder_format_str in browser.c
167call s:escapesConditionals('FolderFormat', '[CDdfFglNstu]', 1, 0)
168" The following info was pulled from mix_entry_fmt in remailer.c
169call s:escapesConditionals('MixFormat', '[acns]', 0, 0)
170" The following info was pulled from crypt_entry_fmt in crypt-gpgme.c
171" and pgp_entry_fmt in pgpkey.c (note that crypt_entry_fmt supports
172" 'p', but pgp_entry_fmt does not).
173call s:escapesConditionals('PGPFormat', '[acfklnptu[]', 0, 0)
174" The following info was pulled from _mutt_fmt_pgp_command in
175" pgpinvoke.c
176call s:escapesConditionals('PGPCmdFormat', '[afprs]', 0, 1)
177" The following info was pulled from status_format_str in status.c
178call s:escapesConditionals('StatusFormat', '[bdFfhLlMmnoPprSstuVu]', 1, 1)
179" This matches the documentation, but directly contradicts the code
180" (according to the code, this should be identical to the
181" muttrcPGPCmdFormatEscapes
182syntax match muttrcPGPGetKeysFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[acfklntu[%]/
183" The following info was pulled from _mutt_fmt_smime_command in
184" smime.c
185call s:escapesConditionals('SmimeFormat', '[aCcdfiks]', 0, 1)
186
187syntax region muttrcTimeEscapes contained start=+%{+ end=+}+ contains=muttrcStrftimeEscapes
188syntax region muttrcTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes
189syntax region muttrcTimeEscapes contained start=+%(+ end=+)+ contains=muttrcStrftimeEscapes
190syntax region muttrcTimeEscapes contained start=+%<+ end=+>+ contains=muttrcStrftimeEscapes
191syntax region muttrcPGPTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes
192
193syntax match muttrcVarEqualsAliasFmt contained skipwhite "=" nextgroup=muttrcAliasFormatStr
194syntax match muttrcVarEqualsAttachFmt contained skipwhite "=" nextgroup=muttrcAttachFormatStr
195syntax match muttrcVarEqualsComposeFmt contained skipwhite "=" nextgroup=muttrcComposeFormatStr
196syntax match muttrcVarEqualsFolderFmt contained skipwhite "=" nextgroup=muttrcFolderFormatStr
197syntax match muttrcVarEqualsIdxFmt contained skipwhite "=" nextgroup=muttrcIndexFormatStr
198syntax match muttrcVarEqualsGrpIdxFmt contained skipwhite "=" nextgroup=muttrcGroupIndexFormatStr
199syntax match muttrcVarEqualsMixFmt contained skipwhite "=" nextgroup=muttrcMixFormatStr
200syntax match muttrcVarEqualsPGPFmt contained skipwhite "=" nextgroup=muttrcPGPFormatStr
201syntax match muttrcVarEqualsQueryFmt contained skipwhite "=" nextgroup=muttrcQueryFormatStr
202syntax match muttrcVarEqualsPGPCmdFmt contained skipwhite "=" nextgroup=muttrcPGPCmdFormatStr
203syntax match muttrcVarEqualsSdbFmt contained skipwhite "=" nextgroup=muttrcSidebarFormatStr
204syntax match muttrcVarEqualsStatusFmt contained skipwhite "=" nextgroup=muttrcStatusFormatStr
205syntax match muttrcVarEqualsPGPGetKeysFmt contained skipwhite "=" nextgroup=muttrcPGPGetKeysFormatStr
206syntax match muttrcVarEqualsSmimeFmt contained skipwhite "=" nextgroup=muttrcSmimeFormatStr
207syntax match muttrcVarEqualsStrftimeFmt contained skipwhite "=" nextgroup=muttrcStrftimeFormatStr
208
209syntax match muttrcVPrefix contained /[?&]/ nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
210
211" List of the different screens in mutt
212" UPDATE
213syntax keyword muttrcMenu contained alias attach browser compose editor index pager postpone pgp mix query generic
214syntax match muttrcMenuList "\S\+" contained contains=muttrcMenu
215syntax match muttrcMenuCommas /,/ contained
216
217" List of hooks in Commands in init.h
218" UPDATE
219syntax keyword muttrcHooks contained skipwhite
220 \ account-hook append-hook charset-hook
221 \ close-hook crypt-hook fcc-hook fcc-save-hook folder-hook iconv-hook mbox-hook
222 \ message-hook open-hook pgp-hook reply-hook save-hook send-hook send2-hook
223syntax keyword muttrcHooks skipwhite shutdown-hook startup-hook timeout-hook nextgroup=muttrcCommand
224
225syntax region muttrcSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL
226syntax region muttrcSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL
227
228syntax region muttrcNoSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern
229syntax region muttrcNoSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern
230
231syntax match muttrcAttachmentsMimeType contained "[*a-z0-9_-]\+/[*a-z0-9._-]\+\s*" skipwhite nextgroup=muttrcAttachmentsMimeType
232syntax match muttrcAttachmentsFlag contained "[+-]\%([AI]\|inline\|attachment\)\s\+" skipwhite nextgroup=muttrcAttachmentsMimeType
233syntax match muttrcAttachmentsLine "^\s*\%(un\)\?attachments\s\+" skipwhite nextgroup=muttrcAttachmentsFlag
234
235syntax match muttrcUnHighlightSpace contained "\%(\s\+\|\\$\)"
236
237syntax keyword muttrcAsterisk contained *
238syntax keyword muttrcListsKeyword lists skipwhite nextgroup=muttrcGroupDef,muttrcComment
239syntax keyword muttrcListsKeyword unlists skipwhite nextgroup=muttrcAsterisk,muttrcComment
240
241syntax keyword muttrcSubscribeKeyword subscribe nextgroup=muttrcGroupDef,muttrcComment
242syntax keyword muttrcSubscribeKeyword unsubscribe nextgroup=muttrcAsterisk,muttrcComment
243
244syntax keyword muttrcAlternateKeyword contained alternates unalternates
245syntax region muttrcAlternatesLine keepend start=+^\s*\%(un\)\?alternates\s+ skip=+\\$+ end=+$+ contains=muttrcAlternateKeyword,muttrcGroupDef,muttrcRXPat,muttrcUnHighlightSpace,muttrcComment
246
247" muttrcVariable includes a prefix because partial strings are considered
248" valid.
249syntax match muttrcVariable contained "\\\@<![a-zA-Z_-]*\$[a-zA-Z_-]\+" contains=muttrcVariableInner
250syntax match muttrcVariableInner contained "\$[a-zA-Z_-]\+"
251syntax match muttrcEscapedVariable contained "\\\$[a-zA-Z_-]\+"
252
253syntax match muttrcBadAction contained "[^<>]\+" contains=muttrcEmail
254syntax match muttrcAction contained "<[^>]\{-}>" contains=muttrcBadAction,muttrcFunction,muttrcKeyName
255
256" First, functions that take regular expressions:
257syntax match muttrcRXHookNot contained /!\s*/ skipwhite nextgroup=muttrcRXHookString,muttrcRXHookStringNL
258syntax match muttrcRXHooks /\<\%(account\|append\|close\|crypt\|folder\|mbox\|open\|pgp\)-hook\>/ skipwhite nextgroup=muttrcRXHookNot,muttrcRXHookString,muttrcRXHookStringNL
259
260" Now, functions that take patterns
261syntax match muttrcPatHookNot contained /!\s*/ skipwhite nextgroup=muttrcPattern
262syntax match muttrcPatHooks /\<\%(charset\|iconv\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcPattern
263syntax match muttrcPatHooks /\<\%(message\|reply\|send\|send2\|save\|fcc\|fcc-save\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcOptPattern
264
265syntax match muttrcBindFunction contained /\S\+\>/ skipwhite contains=muttrcFunction
266syntax match muttrcBindFunctionNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindFunction,muttrcBindFunctionNL
267syntax match muttrcBindKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcBindFunction,muttrcBindFunctionNL
268syntax match muttrcBindKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindKey,muttrcBindKeyNL
269syntax match muttrcBindMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcBindKey,muttrcBindKeyNL
270syntax match muttrcBindMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindMenuList,muttrcBindMenuListNL
271
272syntax region muttrcMacroDescr contained keepend skipwhite start=+\s*\S+ms=e skip=+\\ + end=+ \|$+me=s
273syntax region muttrcMacroDescr contained keepend skipwhite start=+'+ms=e skip=+\\'+ end=+'+me=s
274syntax region muttrcMacroDescr contained keepend skipwhite start=+"+ms=e skip=+\\"+ end=+"+me=s
275syntax match muttrcMacroDescrNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroDescr,muttrcMacroDescrNL
276syntax region muttrcMacroBody contained skipwhite start="\S" skip='\\ \|\\$' end=' \|$' contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction nextgroup=muttrcMacroDescr,muttrcMacroDescrNL
277syntax 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
278syntax 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
279syntax match muttrcMacroBodyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroBody,muttrcMacroBodyNL
280syntax match muttrcMacroKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcMacroBody,muttrcMacroBodyNL
281syntax match muttrcMacroKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroKey,muttrcMacroKeyNL
282syntax match muttrcMacroMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcMacroKey,muttrcMacroKeyNL
283syntax match muttrcMacroMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL
284
285syntax match muttrcAddrContent contained "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+\s*" skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent
286syntax region muttrcAddrContent contained start=+'+ end=+'\s*+ skip=+\\'+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent
287syntax region muttrcAddrContent contained start=+"+ end=+"\s*+ skip=+\\"+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent
288syntax match muttrcAddrDef contained "-addr\s\+" skipwhite nextgroup=muttrcAddrContent
289
290syntax match muttrcGroupFlag contained "-group"
291syntax region muttrcGroupDef contained start="-group\s\+" skip="\\$" end="\s" skipwhite keepend contains=muttrcGroupFlag,muttrcUnHighlightSpace
292
293syntax keyword muttrcGroupKeyword contained group ungroup
294syntax region muttrcGroupLine keepend start=+^\s*\%(un\)\?group\s+ skip=+\\$+ end=+$+ contains=muttrcGroupKeyword,muttrcGroupDef,muttrcAddrDef,muttrcRXDef,muttrcUnHighlightSpace,muttrcComment
295
296syntax match muttrcAliasGroupName contained /\w\+/ skipwhite nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL
297syntax match muttrcAliasGroupDefNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL
298syntax match muttrcAliasGroupDef contained /\s*-group/ skipwhite nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL contains=muttrcGroupFlag
299syntax match muttrcAliasComma contained /,/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL
300syntax match muttrcAliasEmail contained /\S\+@\S\+/ contains=muttrcEmail nextgroup=muttrcAliasName,muttrcAliasNameNL skipwhite
301syntax match muttrcAliasEncEmail contained /<[^>]\+>/ contains=muttrcEmail nextgroup=muttrcAliasComma
302syntax match muttrcAliasEncEmailNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL
303syntax match muttrcAliasNameNoParens contained /[^<(@]\+\s\+/ nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL
304syntax region muttrcAliasName contained matchgroup=Type start=/(/ end=/)/ skipwhite
305syntax match muttrcAliasNameNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasName,muttrcAliasNameNL
306syntax match muttrcAliasENNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL
307syntax match muttrcAliasKey contained /\s*[^- \t]\S\+/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL
308syntax match muttrcAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL
309
310syntax match muttrcUnAliasKey contained "\s*\w\+\s*" skipwhite nextgroup=muttrcUnAliasKey,muttrcUnAliasNL
311syntax match muttrcUnAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcUnAliasKey,muttrcUnAliasNL
312
313syntax match muttrcSimplePat contained "!\?\^\?[~][ADEFgGklNOpPQRSTuUvV=$]"
314syntax match muttrcSimplePat contained "!\?\^\?[~][mnXz]\s*\%([<>-][0-9]\+[kM]\?\|[0-9]\+[kM]\?[-]\%([0-9]\+[kM]\?\)\?\)"
315syntax 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
316syntax match muttrcSimplePat contained "!\?\^\?[~][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatRXContainer
317syntax match muttrcSimplePat contained "!\?\^\?[%][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString
318syntax match muttrcSimplePat contained "!\?\^\?[=][bcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString
319syntax region muttrcSimplePat contained keepend start=+!\?\^\?[~](+ end=+)+ contains=muttrcSimplePat
320"syn match muttrcSimplePat contained /'[^~=%][^']*/ contains=muttrcRXString
321syntax region muttrcSimplePatString contained keepend start=+"+ end=+"+ skip=+\\"+
322syntax region muttrcSimplePatString contained keepend start=+'+ end=+'+ skip=+\\'+
323syntax region muttrcSimplePatString contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1
324syntax region muttrcSimplePatRXContainer contained keepend start=+"+ end=+"+ skip=+\\"+ contains=muttrcRXString
325syntax region muttrcSimplePatRXContainer contained keepend start=+'+ end=+'+ skip=+\\'+ contains=muttrcRXString
326syntax region muttrcSimplePatRXContainer contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1 contains=muttrcRXString
327syntax match muttrcSimplePatMetas contained /[(|)]/
328
329syntax match muttrcOptSimplePat contained skipwhite /[~=%!(^].*/ contains=muttrcSimplePat,muttrcSimplePatMetas
330syntax match muttrcOptSimplePat contained skipwhite /[^~=%!(^].*/ contains=muttrcRXString
331syntax region muttrcOptPattern contained matchgroup=Type keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL
332syntax region muttrcOptPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL
333syntax region muttrcOptPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL
334syntax match muttrcOptPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL
335syntax match muttrcOptPattern contained skipwhite /[.]/ nextgroup=muttrcString,muttrcStringNL
336" Keep muttrcPattern and muttrcOptPattern synchronized
337syntax region muttrcPattern contained matchgroup=Type keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
338syntax region muttrcPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
339syntax region muttrcPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat
340syntax match muttrcPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat
341syntax match muttrcPattern contained skipwhite /[.]/
342syntax region muttrcPatternInner contained keepend start=+"[~=%!(^]+ms=s+1 skip=+\\"+ end=+"+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
343syntax region muttrcPatternInner contained keepend start=+'[~=%!(^]+ms=s+1 skip=+\\'+ end=+'+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
344
345" Colour definitions takes object, foreground and background arguments (regexps excluded).
346syntax match muttrcColorMatchCount contained "[0-9]\+"
347syntax match muttrcColorMatchCountNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL
348syntax region muttrcColorRXPat contained start=+\s*'+ skip=+\\'+ end=+'\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL
349syntax region muttrcColorRXPat contained start=+\s*"+ skip=+\\"+ end=+"\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL
350syntax keyword muttrcColor contained black blue cyan default green magenta red white yellow
351syntax keyword muttrcColor contained brightblack brightblue brightcyan brightdefault brightgreen brightmagenta brightred brightwhite brightyellow
352syntax match muttrcColor contained "\<\%(bright\)\=color\d\{1,3}\>"
353" Now for the structure of the color line
354syntax match muttrcColorRXNL contained skipnl "\s*\\$" nextgroup=muttrcColorRXPat,muttrcColorRXNL
355syntax match muttrcColorBG contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorRXPat,muttrcColorRXNL
356syntax match muttrcColorBGNL contained skipnl "\s*\\$" nextgroup=muttrcColorBG,muttrcColorBGNL
357syntax match muttrcColorFG contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBG,muttrcColorBGNL
358syntax match muttrcColorFGNL contained skipnl "\s*\\$" nextgroup=muttrcColorFG,muttrcColorFGNL
359syntax match muttrcColorContext contained /\s*[$]\?\w\+/ contains=muttrcColorField,muttrcVariable,muttrcUnHighlightSpace,muttrcColorCompose nextgroup=muttrcColorFG,muttrcColorFGNL
360syntax match muttrcColorNL contained skipnl "\s*\\$" nextgroup=muttrcColorContext,muttrcColorNL,muttrcColorCompose
361syntax match muttrcColorKeyword contained /^\s*color\s\+/ nextgroup=muttrcColorContext,muttrcColorNL,muttrcColorCompose
362" And now color's brother:
363syntax region muttrcUnColorPatterns contained skipwhite start=+\s*'+ end=+'+ skip=+\\'+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
364syntax region muttrcUnColorPatterns contained skipwhite start=+\s*"+ end=+"+ skip=+\\"+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
365syntax match muttrcUnColorPatterns contained skipwhite /\s*[^'"\s]\S\*/ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
366syntax match muttrcUnColorPatNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
367syntax match muttrcUnColorAll contained skipwhite /[*]/
368syntax match muttrcUnColorAPNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL
369syntax match muttrcUnColorIndex contained skipwhite /\s*index\s\+/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL
370syntax match muttrcUnColorIndexNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL
371syntax match muttrcUnColorKeyword contained skipwhite /^\s*uncolor\s\+/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL
372syntax region muttrcUnColorLine keepend start=+^\s*uncolor\s+ skip=+\\$+ end=+$+ contains=muttrcUnColorKeyword,muttrcComment,muttrcUnHighlightSpace
373
374syntax keyword muttrcMonoAttrib contained bold none normal reverse standout underline
375syntax keyword muttrcMono contained mono skipwhite nextgroup=muttrcColorField,muttrcColorCompose
376syntax match muttrcMonoLine "^\s*mono\s\+\S\+" skipwhite nextgroup=muttrcMonoAttrib contains=muttrcMono
377
378" List of fields in Fields in color.c
379" UPDATE
380syntax keyword muttrcColorField skipwhite contained
381 \ attach_headers attachment bold error hdrdefault index_author index_collapsed
382 \ index_date index_label index_number index_size index_subject index_tags
383 \ indicator markers message normal progress prompt quoted search sidebar_divider
384 \ sidebar_flagged sidebar_highlight sidebar_indicator sidebar_new
385 \ sidebar_ordinary sidebar_spoolfile signature status tilde tree underline
386 \ body header index index_flags index_tag
387 \ nextgroup=muttrcColor
388syntax match muttrcColorField contained "\<quoted\d\=\>"
389
390syntax match muttrcColorCompose skipwhite contained /\s*compose\s*/ nextgroup=muttrcColorComposeField
391" List of fields in ComposeFields in color.c
392" UPDATE
393syntax keyword muttrcColorComposeField skipwhite contained
394 \ header security_encrypt security_sign security_both security_none
395 \ nextgroup=muttrcColorFG,muttrcColorFGNL
396syntax region muttrcColorLine keepend start=/^\s*color\s\+/ skip=+\\$+ end=+$+ contains=muttrcColorKeyword,muttrcComment,muttrcUnHighlightSpace
397
398
399function s:boolQuadGen(type, vars, deprecated)
400 let l:novars = copy(a:vars)
401 call map(l:novars, '"no" . v:val')
402 let l:invvars = copy(a:vars)
403 call map(l:invvars, '"inv" . v:val')
404
405 let l:orig_type = copy(a:type)
406 if a:deprecated
407 let l:type = 'Deprecated' . a:type
408 else
409 let l:type = a:type
410 endif
411
412 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'
413 exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(l:novars) . ' nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr'
414 exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(l:invvars) . ' nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr'
415endfunction
416
417" List of DT_BOOL in MuttVars in init.h
418" UPDATE
419call s:boolQuadGen('Bool', [
420 \ 'allow_8bit', 'allow_ansi', 'arrow_cursor', 'ascii_chars', 'askbcc', 'askcc',
421 \ 'ask_follow_up', 'ask_x_comment_to', 'attach_split', 'autoedit', 'auto_tag',
422 \ 'beep', 'beep_new', 'bounce_delivered', 'braille_friendly', 'check_mbox_size',
423 \ 'check_new', 'collapse_all', 'collapse_flagged', 'collapse_unread',
424 \ 'confirmappend', 'confirmcreate', 'crypt_autoencrypt', 'crypt_autopgp',
425 \ 'crypt_autosign', 'crypt_autosmime', 'crypt_confirmhook',
426 \ 'crypt_opportunistic_encrypt', 'crypt_replyencrypt', 'crypt_replysign',
427 \ 'crypt_replysignencrypted', 'crypt_timestamp', 'crypt_use_gpgme',
428 \ 'crypt_use_pka', 'delete_untag', 'digest_collapse', 'duplicate_threads',
429 \ 'edit_headers', 'encode_from', 'fast_reply', 'fcc_clear', 'flag_safe',
430 \ 'followup_to', 'force_name', 'forward_decode', 'forward_decrypt',
431 \ 'forward_quote', 'forward_references', 'hdrs', 'header',
432 \ 'header_cache_compress', 'header_color_partial', 'help', 'hidden_host',
433 \ 'hide_limited', 'hide_missing', 'hide_thread_subject', 'hide_top_limited',
434 \ 'hide_top_missing', 'history_remove_dups', 'honor_disposition', 'idn_decode',
435 \ 'idn_encode', 'ignore_linear_white_space', 'ignore_list_reply_to',
436 \ 'imap_check_subscribed', 'imap_idle', 'imap_list_subscribed', 'imap_passive',
437 \ 'imap_peek', 'imap_servernoise', 'implicit_autoview', 'include_onlyfirst',
438 \ 'keep_flagged', 'keywords_legacy', 'keywords_standard', 'mailcap_sanitize',
439 \ 'mail_check_recent', 'mail_check_stats', 'maildir_check_cur',
440 \ 'maildir_header_cache_verify', 'maildir_trash', 'markers', 'mark_old',
441 \ 'menu_move_off', 'menu_scroll', 'message_cache_clean', 'meta_key', 'metoo',
442 \ 'mh_purge', 'mime_forward_decode', 'mime_subject', 'mime_type_query_first',
443 \ 'narrow_tree', 'nm_record', 'nntp_listgroup', 'nntp_load_description',
444 \ 'pager_stop', 'pgp_auto_decode', 'pgp_autoinline', 'pgp_check_exit',
445 \ 'pgp_ignore_subkeys', 'pgp_long_ids', 'pgp_replyinline',
446 \ 'pgp_retainable_sigs', 'pgp_self_encrypt', 'pgp_show_unusable',
447 \ 'pgp_strict_enc', 'pgp_use_gpg_agent', 'pipe_decode', 'pipe_split',
448 \ 'pop_auth_try_all', 'pop_last', 'postpone_encrypt', 'print_decode',
449 \ 'print_split', 'prompt_after', 'read_only', 'reflow_space_quotes',
450 \ 'reflow_text', 'reply_self', 'reply_with_xorig', 'resolve',
451 \ 'resume_draft_files', 'resume_edited_draft_files', 'reverse_alias',
452 \ 'reverse_name', 'reverse_realname', 'rfc2047_parameters', 'save_address',
453 \ 'save_empty', 'save_name', 'save_unsubscribed', 'score', 'show_new_news',
454 \ 'show_only_unread', 'sidebar_folder_indent', 'sidebar_new_mail_only',
455 \ 'sidebar_next_new_wrap', 'sidebar_on_right', 'sidebar_short_path',
456 \ 'sidebar_visible', 'sig_dashes', 'sig_on_top', 'smart_wrap',
457 \ 'smime_ask_cert_label', 'smime_decrypt_use_default_key', 'smime_is_default',
458 \ 'smime_self_encrypt', 'sort_re', 'ssl_force_tls', 'ssl_use_sslv2',
459 \ 'ssl_use_sslv3', 'ssl_usesystemcerts', 'ssl_use_tlsv1', 'ssl_use_tlsv1_1',
460 \ 'ssl_use_tlsv1_2', 'ssl_verify_dates', 'ssl_verify_host',
461 \ 'ssl_verify_partial_chains', 'status_on_top', 'strict_threads', 'suspend',
462 \ 'text_flowed', 'thorough_search', 'thread_received', 'tilde', 'ts_enabled',
463 \ 'uncollapse_jump', 'uncollapse_new', 'use_8bitmime', 'use_domain',
464 \ 'use_envelope_from', 'use_from', 'use_ipv6', 'user_agent',
465 \ 'virtual_spoolfile', 'wait_key', 'weed', 'wrap_search', 'write_bcc',
466 \ 'x_comment_to'
467 \ ], 0)
468
469" Deprecated Bools
470" UPDATE
471" List of DT_SYNONYM synonyms of Bools in MuttVars in init.h
472call s:boolQuadGen('Bool', [
473 \ 'edit_hdrs', 'envelope_from', 'forw_decode', 'forw_decrypt', 'forw_quote',
474 \ 'pgp_autoencrypt', 'pgp_autosign', 'pgp_auto_traditional',
475 \ 'pgp_create_traditional', 'pgp_replyencrypt', 'pgp_replysign',
476 \ 'pgp_replysignencrypted', 'xterm_set_titles'
477 \ ], 1)
478
479" List of DT_QUAD in MuttVars in init.h
480" UPDATE
481call s:boolQuadGen('Quad', [
482 \ 'abort_noattach', 'abort_nosubject', 'abort_unmodified', 'bounce',
483 \ 'catchup_newsgroup', 'copy', 'crypt_verify_sig', 'delete', 'fcc_attach',
484 \ 'followup_to_poster', 'forward_edit', 'honor_followup_to', 'include',
485 \ 'mime_forward', 'mime_forward_rest', 'move', 'pgp_encrypt_self',
486 \ 'pgp_mime_auto', 'pop_delete', 'pop_reconnect', 'post_moderated', 'postpone',
487 \ 'print', 'quit', 'recall', 'reply_to', 'smime_encrypt_self', 'ssl_starttls',
488 \ ], 0)
489
490" Deprecated Quads
491" UPDATE
492" List of DT_SYNONYM synonyms of Quads in MuttVars in init.h
493call s:boolQuadGen('Quad', [
494 \ 'mime_fwd', 'pgp_verify_sig'
495 \ ], 1)
496
497" List of DT_NUMBER in MuttVars in init.h
498" UPDATE
499syntax keyword muttrcVarNum skipwhite contained
500 \ connect_timeout debug_level history imap_keepalive imap_pipeline_depth
501 \ imap_poll_timeout mail_check mail_check_stats_interval menu_context net_inc
502 \ nm_db_limit nm_open_timeout nm_query_window_current_position
503 \ nm_query_window_duration nntp_context nntp_poll pager_context
504 \ pager_index_lines pgp_timeout pop_checkinterval read_inc reflow_wrap
505 \ save_history score_threshold_delete score_threshold_flag score_threshold_read
506 \ search_context sendmail_wait sidebar_width skip_quoted_offset sleep_time
507 \ smime_timeout ssl_min_dh_prime_bits time_inc timeout wrap wrap_headers
508 \ wrapmargin write_inc
509 \ nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
510
511" List of DT_STRING in MuttVars in init.h
512" UPDATE
513" Special cases first, and all the rest at the end
514" A lot of special cases are format, flatcap compiled a list here https://pastebin.com/raw/5QXhiP6L
515" Formats themselves must be updated in their respective groups
516" See s:escapesConditionals
517syntax match muttrcVarStr contained skipwhite 'my_[a-zA-Z0-9_]\+' nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
518syntax keyword muttrcVarStr contained skipwhite alias_format nextgroup=muttrcVarEqualsAliasFmt
519syntax keyword muttrcVarStr contained skipwhite attach_format nextgroup=muttrcVarEqualsAttachFmt
520syntax keyword muttrcVarStr contained skipwhite compose_format nextgroup=muttrcVarEqualsComposeFmt
521syntax keyword muttrcVarStr contained skipwhite folder_format vfolder_format nextgroup=muttrcVarEqualsFolderFmt
522syntax keyword muttrcVarStr contained skipwhite attribution index_format message_format pager_format nextgroup=muttrcVarEqualsIdxFmt
523" Deprecated format
524syntax keyword muttrcVarDeprecatedStr contained skipwhite hdr_format msg_format nextgroup=muttrcVarEqualsIdxFmt
525syntax keyword muttrcVarStr contained skipwhite mix_entry_format nextgroup=muttrcVarEqualsMixFmt
526syntax keyword muttrcVarStr contained skipwhite
527 \ pgp_decode_command pgp_verify_command pgp_decrypt_command
528 \ pgp_clearsign_command pgp_sign_command pgp_encrypt_sign_command
529 \ pgp_encrypt_only_command pgp_import_command pgp_export_command
530 \ pgp_verify_key_command pgp_list_secring_command pgp_list_pubring_command
531 \ nextgroup=muttrcVarEqualsPGPCmdFmt
532syntax keyword muttrcVarStr contained skipwhite pgp_entry_format nextgroup=muttrcVarEqualsPGPFmt
533syntax keyword muttrcVarStr contained skipwhite pgp_getkeys_command nextgroup=muttrcVarEqualsPGPGetKeysFmt
534syntax keyword muttrcVarStr contained skipwhite query_format nextgroup=muttrcVarEqualsQueryFmt
535syntax keyword muttrcVarStr contained skipwhite
536 \ smime_decrypt_command smime_verify_command smime_verify_opaque_command
537 \ smime_sign_command smime_sign_opaque_command smime_encrypt_command
538 \ smime_pk7out_command smime_get_cert_command smime_get_signer_cert_command
539 \ smime_import_cert_command smime_get_cert_email_command
540 \ nextgroup=muttrcVarEqualsSmimeFmt
541syntax keyword muttrcVarStr contained skipwhite ts_icon_format ts_status_format status_format nextgroup=muttrcVarEqualsStatusFmt
542" Deprecated format
543syntax keyword muttrcVarDeprecatedStr contained skipwhite xterm_icon xterm_title nextgroup=muttrcVarEqualsStatusFmt
544syntax keyword muttrcVarStr contained skipwhite date_format nextgroup=muttrcVarEqualsStrftimeFmt
545syntax keyword muttrcVarStr contained skipwhite group_index_format nextgroup=muttrcVarEqualsGrpIdxFmt
546syntax keyword muttrcVarStr contained skipwhite sidebar_format nextgroup=muttrcVarEqualsSdbFmt
547syntax keyword muttrcVarStr contained skipwhite
548 \ assumed_charset attach_charset attach_sep attribution_locale charset
549 \ config_charset content_type default_hook dsn_notify dsn_return empty_subject
550 \ escape forward_attribution_intro forward_attribution_trailer forward_format
551 \ header_cache_pagesize hostname imap_authenticators imap_delim_chars
552 \ imap_headers imap_login imap_pass imap_user indent_string mailcap_path
553 \ mark_macro_prefix mh_seq_flagged mh_seq_replied mh_seq_unseen
554 \ mime_type_query_command newsgroups_charset news_server nm_default_uri
555 \ nm_exclude_tags nm_hidden_tags nm_query_type nm_query_window_current_search
556 \ nm_query_window_timebase nm_record_tags nm_unread_tag nntp_authenticators
557 \ nntp_pass nntp_user pgp_self_encrypt_as pgp_sign_as pipe_sep
558 \ pop_authenticators pop_host pop_pass pop_user post_indent_string
559 \ postpone_encrypt_as preconnect realname send_charset
560 \ show_multipart_alternative sidebar_delim_chars sidebar_divider_char
561 \ sidebar_indent_string simple_search smime_default_key smime_encrypt_with
562 \ smime_self_encrypt_as smime_sign_digest_alg smtp_authenticators smtp_pass
563 \ smtp_url spam_separator ssl_ciphers tunnel xlabel_delimiter
564 \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
565" Deprecated strings
566syntax keyword muttrcVarDeprecatedStr contained skipwhite
567 \ forw_format indent_str post_indent_str smime_sign_as
568 \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
569" List of DT_ADDRESS
570syntax keyword muttrcVarStr contained skipwhite envelope_from_address from nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
571" List of DT_HCACHE
572syntax keyword muttrcVarStr contained skipwhite header_cache_backend nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
573" List of DT_MAGIC
574syntax keyword muttrcVarStr contained skipwhite mbox_type nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
575" List of DT_MBTABLE
576syntax keyword muttrcVarStr contained skipwhite flag_chars from_chars status_chars to_chars nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
577" List of DT_PATH
578syntax keyword muttrcVarStr contained skipwhite
579 \ alias_file certificate_file debug_file display_filter editor entropy_file
580 \ folder header_cache history_file inews ispell mbox message_cachedir mixmaster
581 \ new_mail_command news_cache_dir newsrc pager postponed print_command
582 \ query_command record sendmail shell signature smime_ca_location
583 \ smime_certificates smime_keys spoolfile ssl_ca_certificates_file
584 \ ssl_client_cert tmpdir trash visual
585 \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
586" List of deprecated DT_PATH
587syntax keyword muttrcVarDeprecatedStr contained skipwhite print_cmd nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
588" List of DT_REGEX
589syntax keyword muttrcVarStr contained skipwhite
590 \ attach_keyword gecos_mask mask pgp_decryption_okay pgp_good_sign quote_regexp
591 \ reply_regexp smileys
592 \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
593" List of DT_SORT
594syntax keyword muttrcVarStr contained skipwhite
595 \ pgp_sort_keys sidebar_sort_method sort sort_alias sort_aux sort_browser
596 \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
597
598" List of commands in Commands in init.h
599" UPDATE
600" Remember to remove hooks, they have already been dealt with
601syntax keyword muttrcCommand skipwhite charset-hook nextgroup=muttrcRXString
602syntax keyword muttrcCommand skipwhite unhook nextgroup=muttrcHooks
603syntax keyword muttrcCommand skipwhite spam nextgroup=muttrcSpamPattern
604syntax keyword muttrcCommand skipwhite nospam nextgroup=muttrcNoSpamPattern
605syntax keyword muttrcCommand skipwhite bind nextgroup=muttrcBindMenuList,muttrcBindMenuListNL
606syntax keyword muttrcCommand skipwhite macro nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL
607syntax keyword muttrcCommand skipwhite alias nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL
608syntax keyword muttrcCommand skipwhite unalias nextgroup=muttrcUnAliasKey,muttrcUnAliasNL
609syntax keyword muttrcCommand skipwhite set unset reset toggle nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
610syntax keyword muttrcCommand skipwhite exec nextgroup=muttrcFunction
611syntax keyword muttrcCommand skipwhite
612 \ alternative_order attachments auto_view hdr_order ifdef ifndef ignore lua
613 \ lua-source mailboxes mailto_allow mime_lookup my_hdr push score setenv
614 \ sidebar_whitelist source subjectrx tag-formats tag-transforms
615 \ unalternative_order unattachments unauto_view uncolor unhdr_order unignore
616 \ unmailboxes unmailto_allow unmime_lookup unmono unmy_hdr unscore unsetenv
617 \ unsidebar_whitelist unsubjectrx unvirtual-mailboxes virtual-mailboxes
618
619" List of functions in functions.h
620" UPDATE
621syntax match muttrcFunction contained "\<accept\>"
622syntax match muttrcFunction contained "\<append\>"
623syntax match muttrcFunction contained "\<attach-file\>"
624syntax match muttrcFunction contained "\<attach-key\>"
625syntax match muttrcFunction contained "\<accept\>"
626syntax match muttrcFunction contained "\<append\>"
627syntax match muttrcFunction contained "\<attach-file\>"
628syntax match muttrcFunction contained "\<attach-key\>"
629syntax match muttrcFunction contained "\<attach-message\>"
630syntax match muttrcFunction contained "\<attach-news-message\>"
631syntax match muttrcFunction contained "\<backspace\>"
632syntax match muttrcFunction contained "\<backward-char\>"
633syntax match muttrcFunction contained "\<backward-word\>"
634syntax match muttrcFunction contained "\<bol\>"
635syntax match muttrcFunction contained "\<bottom\>"
636syntax match muttrcFunction contained "\<bottom-page\>"
637syntax match muttrcFunction contained "\<bounce-message\>"
638syntax match muttrcFunction contained "\<break-thread\>"
639syntax match muttrcFunction contained "\<buffy-cycle\>"
640syntax match muttrcFunction contained "\<buffy-list\>"
641syntax match muttrcFunction contained "\<capitalize-word\>"
642syntax match muttrcFunction contained "\<catchup\>"
643syntax match muttrcFunction contained "\<chain-next\>"
644syntax match muttrcFunction contained "\<chain-prev\>"
645syntax match muttrcFunction contained "\<change-dir\>"
646syntax match muttrcFunction contained "\<change-folder\>"
647syntax match muttrcFunction contained "\<change-folder-readonly\>"
648syntax match muttrcFunction contained "\<change-newsgroup\>"
649syntax match muttrcFunction contained "\<change-newsgroup-readonly\>"
650syntax match muttrcFunction contained "\<change-vfolder\>"
651syntax match muttrcFunction contained "\<check-new\>"
652syntax match muttrcFunction contained "\<check-traditional-pgp\>"
653syntax match muttrcFunction contained "\<clear-flag\>"
654syntax match muttrcFunction contained "\<collapse-all\>"
655syntax match muttrcFunction contained "\<collapse-parts\>"
656syntax match muttrcFunction contained "\<collapse-thread\>"
657syntax match muttrcFunction contained "\<complete\>"
658syntax match muttrcFunction contained "\<complete-query\>"
659syntax match muttrcFunction contained "\<compose-to-sender\>"
660syntax match muttrcFunction contained "\<copy-file\>"
661syntax match muttrcFunction contained "\<copy-message\>"
662syntax match muttrcFunction contained "\<create-alias\>"
663syntax match muttrcFunction contained "\<create-mailbox\>"
664syntax match muttrcFunction contained "\<current-bottom\>"
665syntax match muttrcFunction contained "\<current-middle\>"
666syntax match muttrcFunction contained "\<current-top\>"
667syntax match muttrcFunction contained "\<decode-copy\>"
668syntax match muttrcFunction contained "\<decode-save\>"
669syntax match muttrcFunction contained "\<decrypt-copy\>"
670syntax match muttrcFunction contained "\<decrypt-save\>"
671syntax match muttrcFunction contained "\<delete\>"
672syntax match muttrcFunction contained "\<delete-char\>"
673syntax match muttrcFunction contained "\<delete-entry\>"
674syntax match muttrcFunction contained "\<delete-mailbox\>"
675syntax match muttrcFunction contained "\<delete-message\>"
676syntax match muttrcFunction contained "\<delete-pattern\>"
677syntax match muttrcFunction contained "\<delete-subthread\>"
678syntax match muttrcFunction contained "\<delete-thread\>"
679syntax match muttrcFunction contained "\<detach-file\>"
680syntax match muttrcFunction contained "\<display-address\>"
681syntax match muttrcFunction contained "\<display-filename\>"
682syntax match muttrcFunction contained "\<display-message\>"
683syntax match muttrcFunction contained "\<display-toggle-weed\>"
684syntax match muttrcFunction contained "\<downcase-word\>"
685syntax match muttrcFunction contained "\<edit\>"
686syntax match muttrcFunction contained "\<edit-bcc\>"
687syntax match muttrcFunction contained "\<edit-cc\>"
688syntax match muttrcFunction contained "\<edit-description\>"
689syntax match muttrcFunction contained "\<edit-encoding\>"
690syntax match muttrcFunction contained "\<edit-fcc\>"
691syntax match muttrcFunction contained "\<edit-file\>"
692syntax match muttrcFunction contained "\<edit-followup-to\>"
693syntax match muttrcFunction contained "\<edit-from\>"
694syntax match muttrcFunction contained "\<edit-headers\>"
695syntax match muttrcFunction contained "\<edit-label\>"
696syntax match muttrcFunction contained "\<edit-message\>"
697syntax match muttrcFunction contained "\<edit-mime\>"
698syntax match muttrcFunction contained "\<edit-newsgroups\>"
699syntax match muttrcFunction contained "\<edit-reply-to\>"
700syntax match muttrcFunction contained "\<edit-subject\>"
701syntax match muttrcFunction contained "\<edit-to\>"
702syntax match muttrcFunction contained "\<edit-type\>"
703syntax match muttrcFunction contained "\<edit-x-comment-to\>"
704syntax match muttrcFunction contained "\<end-cond\>"
705syntax match muttrcFunction contained "\<enter-command\>"
706syntax match muttrcFunction contained "\<enter-mask\>"
707syntax match muttrcFunction contained "\<entire-thread\>"
708syntax match muttrcFunction contained "\<eol\>"
709syntax match muttrcFunction contained "\<exit\>"
710syntax match muttrcFunction contained "\<extract-keys\>"
711syntax match muttrcFunction contained "\<fetch-mail\>"
712syntax match muttrcFunction contained "\<filter-entry\>"
713syntax match muttrcFunction contained "\<first-entry\>"
714syntax match muttrcFunction contained "\<flag-message\>"
715syntax match muttrcFunction contained "\<followup-message\>"
716syntax match muttrcFunction contained "\<forget-passphrase\>"
717syntax match muttrcFunction contained "\<forward-char\>"
718syntax match muttrcFunction contained "\<forward-message\>"
719syntax match muttrcFunction contained "\<forward-to-group\>"
720syntax match muttrcFunction contained "\<forward-word\>"
721syntax match muttrcFunction contained "\<get-attachment\>"
722syntax match muttrcFunction contained "\<get-children\>"
723syntax match muttrcFunction contained "\<get-message\>"
724syntax match muttrcFunction contained "\<get-parent\>"
725syntax match muttrcFunction contained "\<goto-folder\>"
726syntax match muttrcFunction contained "\<group-reply\>"
727syntax match muttrcFunction contained "\<half-down\>"
728syntax match muttrcFunction contained "\<half-up\>"
729syntax match muttrcFunction contained "\<help\>"
730syntax match muttrcFunction contained "\<history-down\>"
731syntax match muttrcFunction contained "\<history-up\>"
732syntax match muttrcFunction contained "\<imap-fetch-mail\>"
733syntax match muttrcFunction contained "\<imap-logout-all\>"
734syntax match muttrcFunction contained "\<insert\>"
735syntax match muttrcFunction contained "\<ispell\>"
736syntax match muttrcFunction contained "\<jump\>"
737syntax match muttrcFunction contained "\<kill-eol\>"
738syntax match muttrcFunction contained "\<kill-eow\>"
739syntax match muttrcFunction contained "\<kill-line\>"
740syntax match muttrcFunction contained "\<kill-word\>"
741syntax match muttrcFunction contained "\<last-entry\>"
742syntax match muttrcFunction contained "\<limit\>"
743syntax match muttrcFunction contained "\<limit-current-thread\>"
744syntax match muttrcFunction contained "\<link-threads\>"
745syntax match muttrcFunction contained "\<list-reply\>"
746syntax match muttrcFunction contained "\<mail\>"
747syntax match muttrcFunction contained "\<mail-key\>"
748syntax match muttrcFunction contained "\<mark-as-new\>"
749syntax match muttrcFunction contained "\<mark-message\>"
750syntax match muttrcFunction contained "\<middle-page\>"
751syntax match muttrcFunction contained "\<mix\>"
752syntax match muttrcFunction contained "\<modify-labels\>"
753syntax match muttrcFunction contained "\<modify-labels-then-hide\>"
754syntax match muttrcFunction contained "\<new-mime\>"
755syntax match muttrcFunction contained "\<next-entry\>"
756syntax match muttrcFunction contained "\<next-line\>"
757syntax match muttrcFunction contained "\<next-new\>"
758syntax match muttrcFunction contained "\<next-new-then-unread\>"
759syntax match muttrcFunction contained "\<next-page\>"
760syntax match muttrcFunction contained "\<next-subthread\>"
761syntax match muttrcFunction contained "\<next-thread\>"
762syntax match muttrcFunction contained "\<next-undeleted\>"
763syntax match muttrcFunction contained "\<next-unread\>"
764syntax match muttrcFunction contained "\<next-unread-mailbox\>"
765syntax match muttrcFunction contained "\<parent-message\>"
766syntax match muttrcFunction contained "\<pgp-menu\>"
767syntax match muttrcFunction contained "\<pipe-entry\>"
768syntax match muttrcFunction contained "\<pipe-message\>"
769syntax match muttrcFunction contained "\<post-message\>"
770syntax match muttrcFunction contained "\<postpone-message\>"
771syntax match muttrcFunction contained "\<previous-entry\>"
772syntax match muttrcFunction contained "\<previous-line\>"
773syntax match muttrcFunction contained "\<previous-new\>"
774syntax match muttrcFunction contained "\<previous-new-then-unread\>"
775syntax match muttrcFunction contained "\<previous-page\>"
776syntax match muttrcFunction contained "\<previous-subthread\>"
777syntax match muttrcFunction contained "\<previous-thread\>"
778syntax match muttrcFunction contained "\<previous-undeleted\>"
779syntax match muttrcFunction contained "\<previous-unread\>"
780syntax match muttrcFunction contained "\<print-entry\>"
781syntax match muttrcFunction contained "\<print-message\>"
782syntax match muttrcFunction contained "\<purge-message\>"
783syntax match muttrcFunction contained "\<purge-thread\>"
784syntax match muttrcFunction contained "\<quasi-delete\>"
785syntax match muttrcFunction contained "\<query\>"
786syntax match muttrcFunction contained "\<query-append\>"
787syntax match muttrcFunction contained "\<quit\>"
788syntax match muttrcFunction contained "\<quote-char\>"
789syntax match muttrcFunction contained "\<read-subthread\>"
790syntax match muttrcFunction contained "\<read-thread\>"
791syntax match muttrcFunction contained "\<recall-message\>"
792syntax match muttrcFunction contained "\<reconstruct-thread\>"
793syntax match muttrcFunction contained "\<redraw-screen\>"
794syntax match muttrcFunction contained "\<refresh\>"
795syntax match muttrcFunction contained "\<reload-active\>"
796syntax match muttrcFunction contained "\<rename-attachment\>"
797syntax match muttrcFunction contained "\<rename-file\>"
798syntax match muttrcFunction contained "\<rename-mailbox\>"
799syntax match muttrcFunction contained "\<reply\>"
800syntax match muttrcFunction contained "\<resend-message\>"
801syntax match muttrcFunction contained "\<root-message\>"
802syntax match muttrcFunction contained "\<save-entry\>"
803syntax match muttrcFunction contained "\<save-message\>"
804syntax match muttrcFunction contained "\<search\>"
805syntax match muttrcFunction contained "\<search-next\>"
806syntax match muttrcFunction contained "\<search-opposite\>"
807syntax match muttrcFunction contained "\<search-reverse\>"
808syntax match muttrcFunction contained "\<search-toggle\>"
809syntax match muttrcFunction contained "\<select-entry\>"
810syntax match muttrcFunction contained "\<select-new\>"
811syntax match muttrcFunction contained "\<send-message\>"
812syntax match muttrcFunction contained "\<set-flag\>"
813syntax match muttrcFunction contained "\<shell-escape\>"
814syntax match muttrcFunction contained "\<show-limit\>"
815syntax match muttrcFunction contained "\<show-version\>"
816syntax match muttrcFunction contained "\<sidebar-next\>"
817syntax match muttrcFunction contained "\<sidebar-next-new\>"
818syntax match muttrcFunction contained "\<sidebar-open\>"
819syntax match muttrcFunction contained "\<sidebar-page-down\>"
820syntax match muttrcFunction contained "\<sidebar-page-up\>"
821syntax match muttrcFunction contained "\<sidebar-prev\>"
822syntax match muttrcFunction contained "\<sidebar-prev-new\>"
823syntax match muttrcFunction contained "\<sidebar-toggle-virtual\>"
824syntax match muttrcFunction contained "\<sidebar-toggle-visible\>"
825syntax match muttrcFunction contained "\<skip-quoted\>"
826syntax match muttrcFunction contained "\<smime-menu\>"
827syntax match muttrcFunction contained "\<sort\>"
828syntax match muttrcFunction contained "\<sort-mailbox\>"
829syntax match muttrcFunction contained "\<sort-reverse\>"
830syntax match muttrcFunction contained "\<subscribe\>"
831syntax match muttrcFunction contained "\<subscribe-pattern\>"
832syntax match muttrcFunction contained "\<sync-mailbox\>"
833syntax match muttrcFunction contained "\<tag-entry\>"
834syntax match muttrcFunction contained "\<tag-message\>"
835syntax match muttrcFunction contained "\<tag-pattern\>"
836syntax match muttrcFunction contained "\<tag-prefix\>"
837syntax match muttrcFunction contained "\<tag-prefix-cond\>"
838syntax match muttrcFunction contained "\<tag-subthread\>"
839syntax match muttrcFunction contained "\<tag-thread\>"
840syntax match muttrcFunction contained "\<toggle-disposition\>"
841syntax match muttrcFunction contained "\<toggle-mailboxes\>"
842syntax match muttrcFunction contained "\<toggle-new\>"
843syntax match muttrcFunction contained "\<toggle-quoted\>"
844syntax match muttrcFunction contained "\<toggle-read\>"
845syntax match muttrcFunction contained "\<toggle-recode\>"
846syntax match muttrcFunction contained "\<toggle-subscribed\>"
847syntax match muttrcFunction contained "\<toggle-unlink\>"
848syntax match muttrcFunction contained "\<toggle-write\>"
849syntax match muttrcFunction contained "\<top\>"
850syntax match muttrcFunction contained "\<top-page\>"
851syntax match muttrcFunction contained "\<transpose-chars\>"
852syntax match muttrcFunction contained "\<uncatchup\>"
853syntax match muttrcFunction contained "\<undelete-entry\>"
854syntax match muttrcFunction contained "\<undelete-message\>"
855syntax match muttrcFunction contained "\<undelete-pattern\>"
856syntax match muttrcFunction contained "\<undelete-subthread\>"
857syntax match muttrcFunction contained "\<undelete-thread\>"
858syntax match muttrcFunction contained "\<unsubscribe\>"
859syntax match muttrcFunction contained "\<unsubscribe-pattern\>"
860syntax match muttrcFunction contained "\<untag-pattern\>"
861syntax match muttrcFunction contained "\<upcase-word\>"
862syntax match muttrcFunction contained "\<update-encoding\>"
863syntax match muttrcFunction contained "\<verify-key\>"
864syntax match muttrcFunction contained "\<vfolder-from-query\>"
865syntax match muttrcFunction contained "\<vfolder-window-backward\>"
866syntax match muttrcFunction contained "\<vfolder-window-forward\>"
867syntax match muttrcFunction contained "\<view-attach\>"
868syntax match muttrcFunction contained "\<view-attachments\>"
869syntax match muttrcFunction contained "\<view-file\>"
870syntax match muttrcFunction contained "\<view-mailcap\>"
871syntax match muttrcFunction contained "\<view-name\>"
872syntax match muttrcFunction contained "\<view-text\>"
873syntax match muttrcFunction contained "\<what-key\>"
874syntax match muttrcFunction contained "\<write-fcc\>"
875
876
877
878" Define the default highlighting.
879" Only when an item doesn't have highlighting yet
880
881highlight def link muttrcComment Comment
882highlight def link muttrcEscape SpecialChar
883highlight def link muttrcRXChars SpecialChar
884highlight def link muttrcString String
885highlight def link muttrcRXString String
886highlight def link muttrcRXString2 String
887highlight def link muttrcSpecial Special
888highlight def link muttrcHooks Type
889highlight def link muttrcGroupFlag Type
890highlight def link muttrcGroupDef Macro
891highlight def link muttrcAddrDef muttrcGroupFlag
892highlight def link muttrcRXDef muttrcGroupFlag
893highlight def link muttrcRXPat String
894highlight def link muttrcAliasGroupName Macro
895highlight def link muttrcAliasKey Identifier
896highlight def link muttrcUnAliasKey Identifier
897highlight def link muttrcAliasEncEmail Identifier
898highlight def link muttrcAliasParens Type
899highlight def link muttrcSetNumAssignment Number
900highlight def link muttrcSetBoolAssignment Boolean
901highlight def link muttrcSetQuadAssignment Boolean
902highlight def link muttrcSetStrAssignment String
903highlight def link muttrcEmail Special
904highlight def link muttrcVariableInner Special
905highlight def link muttrcEscapedVariable String
906highlight def link muttrcHeader Type
907highlight def link muttrcKeySpecial SpecialChar
908highlight def link muttrcKey Type
909highlight def link muttrcKeyName SpecialChar
910highlight def link muttrcVarBool Identifier
911highlight def link muttrcVarQuad Identifier
912highlight def link muttrcVarNum Identifier
913highlight def link muttrcVarStr Identifier
914highlight def link muttrcMenu Identifier
915highlight def link muttrcCommand Keyword
916highlight def link muttrcMacroDescr String
917highlight def link muttrcAction Macro
918highlight def link muttrcBadAction Error
919highlight def link muttrcBindFunction Error
920highlight def link muttrcBindMenuList Error
921highlight def link muttrcFunction Macro
922highlight def link muttrcGroupKeyword muttrcCommand
923highlight def link muttrcGroupLine Error
924highlight def link muttrcSubscribeKeyword muttrcCommand
925highlight def link muttrcSubscribeLine Error
926highlight def link muttrcListsKeyword muttrcCommand
927highlight def link muttrcListsLine Error
928highlight def link muttrcAlternateKeyword muttrcCommand
929highlight def link muttrcAlternatesLine Error
930highlight def link muttrcAttachmentsLine muttrcCommand
931highlight def link muttrcAttachmentsFlag Type
932highlight def link muttrcAttachmentsMimeType String
933highlight def link muttrcColorLine Error
934highlight def link muttrcColorContext Error
935highlight def link muttrcColorContextI Identifier
936highlight def link muttrcColorContextH Identifier
937highlight def link muttrcColorKeyword muttrcCommand
938highlight def link muttrcColorField Identifier
939highlight def link muttrcColorCompose Identifier
940highlight def link muttrcColorComposeField Identifier
941highlight def link muttrcColor Type
942highlight def link muttrcColorFG Error
943highlight def link muttrcColorFGI Error
944highlight def link muttrcColorFGH Error
945highlight def link muttrcColorBG Error
946highlight def link muttrcColorBGI Error
947highlight def link muttrcColorBGH Error
948highlight def link muttrcMonoAttrib muttrcColor
949highlight def link muttrcMono muttrcCommand
950highlight def link muttrcSimplePat Identifier
951highlight def link muttrcSimplePatString Macro
952highlight def link muttrcSimplePatMetas Special
953highlight def link muttrcPattern Error
954highlight def link muttrcUnColorLine Error
955highlight def link muttrcUnColorKeyword muttrcCommand
956highlight def link muttrcUnColorIndex Identifier
957highlight def link muttrcShellString muttrcEscape
958highlight def link muttrcRXHooks muttrcCommand
959highlight def link muttrcRXHookNot Type
960highlight def link muttrcPatHooks muttrcCommand
961highlight def link muttrcPatHookNot Type
962highlight def link muttrcFormatConditionals2 Type
963highlight def link muttrcIndexFormatStr muttrcString
964highlight def link muttrcIndexFormatEscapes muttrcEscape
965highlight def link muttrcIndexFormatConditionals muttrcFormatConditionals2
966highlight def link muttrcAliasFormatStr muttrcString
967highlight def link muttrcAliasFormatEscapes muttrcEscape
968highlight def link muttrcAttachFormatStr muttrcString
969highlight def link muttrcAttachFormatEscapes muttrcEscape
970highlight def link muttrcAttachFormatConditionals muttrcFormatConditionals2
971highlight def link muttrcComposeFormatStr muttrcString
972highlight def link muttrcComposeFormatEscapes muttrcEscape
973highlight def link muttrcFolderFormatStr muttrcString
974highlight def link muttrcFolderFormatEscapes muttrcEscape
975highlight def link muttrcFolderFormatConditionals muttrcFormatConditionals2
976highlight def link muttrcMixFormatStr muttrcString
977highlight def link muttrcMixFormatEscapes muttrcEscape
978highlight def link muttrcMixFormatConditionals muttrcFormatConditionals2
979highlight def link muttrcPGPFormatStr muttrcString
980highlight def link muttrcPGPFormatEscapes muttrcEscape
981highlight def link muttrcPGPFormatConditionals muttrcFormatConditionals2
982highlight def link muttrcPGPCmdFormatStr muttrcString
983highlight def link muttrcPGPCmdFormatEscapes muttrcEscape
984highlight def link muttrcPGPCmdFormatConditionals muttrcFormatConditionals2
985highlight def link muttrcStatusFormatStr muttrcString
986highlight def link muttrcStatusFormatEscapes muttrcEscape
987highlight def link muttrcStatusFormatConditionals muttrcFormatConditionals2
988highlight def link muttrcPGPGetKeysFormatStr muttrcString
989highlight def link muttrcPGPGetKeysFormatEscapes muttrcEscape
990highlight def link muttrcSmimeFormatStr muttrcString
991highlight def link muttrcSmimeFormatEscapes muttrcEscape
992highlight def link muttrcSmimeFormatConditionals muttrcFormatConditionals2
993highlight def link muttrcTimeEscapes muttrcEscape
994highlight def link muttrcPGPTimeEscapes muttrcEscape
995highlight def link muttrcStrftimeEscapes Type
996highlight def link muttrcStrftimeFormatStr muttrcString
997highlight def link muttrcFormatErrors Error
998
999highlight def link muttrcBindFunctionNL SpecialChar
1000highlight def link muttrcBindKeyNL SpecialChar
1001highlight def link muttrcBindMenuListNL SpecialChar
1002highlight def link muttrcMacroDescrNL SpecialChar
1003highlight def link muttrcMacroBodyNL SpecialChar
1004highlight def link muttrcMacroKeyNL SpecialChar
1005highlight def link muttrcMacroMenuListNL SpecialChar
1006highlight def link muttrcColorMatchCountNL SpecialChar
1007highlight def link muttrcColorNL SpecialChar
1008highlight def link muttrcColorRXNL SpecialChar
1009highlight def link muttrcColorBGNL SpecialChar
1010highlight def link muttrcColorFGNL SpecialChar
1011highlight def link muttrcAliasNameNL SpecialChar
1012highlight def link muttrcAliasENNL SpecialChar
1013highlight def link muttrcAliasNL SpecialChar
1014highlight def link muttrcUnAliasNL SpecialChar
1015highlight def link muttrcAliasGroupDefNL SpecialChar
1016highlight def link muttrcAliasEncEmailNL SpecialChar
1017highlight def link muttrcPatternNL SpecialChar
1018highlight def link muttrcUnColorPatNL SpecialChar
1019highlight def link muttrcUnColorAPNL SpecialChar
1020highlight def link muttrcUnColorIndexNL SpecialChar
1021highlight def link muttrcStringNL SpecialChar
1022
1023highlight def link muttrcVarDeprecatedBool Error
1024highlight def link muttrcVarDeprecatedQuad Error
1025highlight def link muttrcVarDeprecatedStr Error
1026
1027
1028let b:current_syntax = "neomuttrc"
1029
1030let &cpo = s:cpo_save
1031unlet s:cpo_save
1032"EOF vim: ts=8 noet tw=100 sw=8 sts=0 ft=vim