blob: 7ff89879d9ecd8d585bd251fdf7fc2d2448c7675 [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>
Bram Moolenaar7dda86f2018-04-20 22:36:41 +02004" Last Change: 2018-03-25
Bram Moolenaar01164a62017-11-02 22:58:42 +01005" Original version based on syntax/muttrc.vim
6
Bram Moolenaar7dda86f2018-04-20 22:36:41 +02007" This file covers NeoMutt 2018-03-23
Bram Moolenaar01164a62017-11-02 22:58:42 +01008
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 /[^?]*?/
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200137function! s:escapesConditionals(baseName, sequence, alignment, secondary)
Bram Moolenaar01164a62017-11-02 22:58:42 +0100138 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
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200149" CHECKED 2018-04-18
150" Ref: index_format_str() in hdrline.c
151call s:escapesConditionals('IndexFormat', '[AaBbCcDdEeFfgHIiJKLlMmNnOPqRrSsTtuvWXxYyZz(<[{]\|G[a-zA-Z]\+', 1, 1)
152" Ref: alias_format_str() in addrbook.c
Bram Moolenaar01164a62017-11-02 22:58:42 +0100153syntax match muttrcAliasFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[afnrt%]/
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200154" Ref: group_index_format_str() in browser.c
Bram Moolenaar01164a62017-11-02 22:58:42 +0100155call s:escapesConditionals('GroupIndexFormat', '[CdfMNns]', 1, 1)
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200156" Ref: sidebar_format_str() in sidebar.c
Bram Moolenaar01164a62017-11-02 22:58:42 +0100157call s:escapesConditionals('SidebarFormat', '[BdFLNnSt!]', 1, 1)
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200158" Ref: query_format_str() in query.c
Bram Moolenaar01164a62017-11-02 22:58:42 +0100159call s:escapesConditionals('QueryFormat', '[acent]', 0, 1)
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200160" Ref: attach_format_str() in recvattach.c
Bram Moolenaar01164a62017-11-02 22:58:42 +0100161call s:escapesConditionals('AttachFormat', '[CcDdeFfIMmnQsTtuX]', 1, 1)
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200162" Ref: compose_format_str() in compose.c
Bram Moolenaar01164a62017-11-02 22:58:42 +0100163syntax match muttrcComposeFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[ahlv%]/
164syntax match muttrcComposeFormatEscapes contained /%[>|*]./
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200165" Ref: folder_format_str() in browser.c
166call s:escapesConditionals('FolderFormat', '[CDdFfglmNnstu]', 1, 0)
167" Ref: mix_format_str() in remailer.c
Bram Moolenaar01164a62017-11-02 22:58:42 +0100168call s:escapesConditionals('MixFormat', '[acns]', 0, 0)
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200169" Ref: status_format_str() in status.c
170call s:escapesConditionals('StatusFormat', '[bdFfhLlMmnoPpRrSstuVv]', 1, 1)
171" Ref: fmt_smime_command() in ncrypt/smime.c
Bram Moolenaar01164a62017-11-02 22:58:42 +0100172call s:escapesConditionals('SmimeFormat', '[aCcdfiks]', 0, 1)
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200173" Ref: crypt_format_str() in ncrypt/crypt_gpgme.c
174" Ref: pgp_entry_fmt() in ncrypt/pgpkey.c
175" Note: crypt_format_str() supports 'p', but pgp_entry_fmt() does not
176call s:escapesConditionals('PGPFormat', '[acfklnptu[]', 0, 0)
177" Ref: fmt_pgp_command() ncrypt/pgpinvoke.c
178call s:escapesConditionals('PGPCmdFormat', '[afprs]', 0, 1)
179
180" This matches the documentation, but directly contradicts the code
181" (according to the code, this should be identical to the muttrcPGPCmdFormatEscapes
182syntax match muttrcPGPGetKeysFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[acfklntu[%]/
Bram Moolenaar01164a62017-11-02 22:58:42 +0100183
184syntax region muttrcTimeEscapes contained start=+%{+ end=+}+ contains=muttrcStrftimeEscapes
185syntax region muttrcTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes
186syntax region muttrcTimeEscapes contained start=+%(+ end=+)+ contains=muttrcStrftimeEscapes
187syntax region muttrcTimeEscapes contained start=+%<+ end=+>+ contains=muttrcStrftimeEscapes
188syntax region muttrcPGPTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes
189
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200190syntax match muttrcVarEqualsAliasFmt contained skipwhite "=" nextgroup=muttrcAliasFormatStr
191syntax match muttrcVarEqualsAttachFmt contained skipwhite "=" nextgroup=muttrcAttachFormatStr
192syntax match muttrcVarEqualsComposeFmt contained skipwhite "=" nextgroup=muttrcComposeFormatStr
193syntax match muttrcVarEqualsFolderFmt contained skipwhite "=" nextgroup=muttrcFolderFormatStr
194syntax match muttrcVarEqualsGrpIdxFmt contained skipwhite "=" nextgroup=muttrcGroupIndexFormatStr
195syntax match muttrcVarEqualsIdxFmt contained skipwhite "=" nextgroup=muttrcIndexFormatStr
196syntax match muttrcVarEqualsMixFmt contained skipwhite "=" nextgroup=muttrcMixFormatStr
197syntax match muttrcVarEqualsPGPCmdFmt contained skipwhite "=" nextgroup=muttrcPGPCmdFormatStr
198syntax match muttrcVarEqualsPGPFmt contained skipwhite "=" nextgroup=muttrcPGPFormatStr
Bram Moolenaar01164a62017-11-02 22:58:42 +0100199syntax match muttrcVarEqualsPGPGetKeysFmt contained skipwhite "=" nextgroup=muttrcPGPGetKeysFormatStr
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200200syntax match muttrcVarEqualsQueryFmt contained skipwhite "=" nextgroup=muttrcQueryFormatStr
201syntax match muttrcVarEqualsSdbFmt contained skipwhite "=" nextgroup=muttrcSidebarFormatStr
202syntax match muttrcVarEqualsSmimeFmt contained skipwhite "=" nextgroup=muttrcSmimeFormatStr
203syntax match muttrcVarEqualsStatusFmt contained skipwhite "=" nextgroup=muttrcStatusFormatStr
204syntax match muttrcVarEqualsStrftimeFmt contained skipwhite "=" nextgroup=muttrcStrftimeFormatStr
Bram Moolenaar01164a62017-11-02 22:58:42 +0100205
206syntax match muttrcVPrefix contained /[?&]/ nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
207
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200208" CHECKED 2018-04-18
Bram Moolenaar01164a62017-11-02 22:58:42 +0100209" List of the different screens in mutt
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200210syntax keyword muttrcMenu contained alias attach browser compose editor generic index key_select_pgp key_select_smime mix pager pgp postpone query smime
Bram Moolenaar01164a62017-11-02 22:58:42 +0100211syntax match muttrcMenuList "\S\+" contained contains=muttrcMenu
212syntax match muttrcMenuCommas /,/ contained
213
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200214" CHECKED 2018-04-18
Bram Moolenaar01164a62017-11-02 22:58:42 +0100215" List of hooks in Commands in init.h
Bram Moolenaar01164a62017-11-02 22:58:42 +0100216syntax keyword muttrcHooks contained skipwhite
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200217 \ account-hook append-hook close-hook crypt-hook fcc-hook fcc-save-hook
218 \ folder-hook iconv-hook mbox-hook message-hook open-hook pgp-hook
219 \ reply-hook save-hook send-hook send2-hook
Bram Moolenaar01164a62017-11-02 22:58:42 +0100220syntax keyword muttrcHooks skipwhite shutdown-hook startup-hook timeout-hook nextgroup=muttrcCommand
221
222syntax region muttrcSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL
223syntax region muttrcSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL
224
225syntax region muttrcNoSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern
226syntax region muttrcNoSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern
227
228syntax match muttrcAttachmentsMimeType contained "[*a-z0-9_-]\+/[*a-z0-9._-]\+\s*" skipwhite nextgroup=muttrcAttachmentsMimeType
229syntax match muttrcAttachmentsFlag contained "[+-]\%([AI]\|inline\|attachment\)\s\+" skipwhite nextgroup=muttrcAttachmentsMimeType
230syntax match muttrcAttachmentsLine "^\s*\%(un\)\?attachments\s\+" skipwhite nextgroup=muttrcAttachmentsFlag
231
232syntax match muttrcUnHighlightSpace contained "\%(\s\+\|\\$\)"
233
234syntax keyword muttrcAsterisk contained *
235syntax keyword muttrcListsKeyword lists skipwhite nextgroup=muttrcGroupDef,muttrcComment
236syntax keyword muttrcListsKeyword unlists skipwhite nextgroup=muttrcAsterisk,muttrcComment
237
238syntax keyword muttrcSubscribeKeyword subscribe nextgroup=muttrcGroupDef,muttrcComment
239syntax keyword muttrcSubscribeKeyword unsubscribe nextgroup=muttrcAsterisk,muttrcComment
240
241syntax keyword muttrcAlternateKeyword contained alternates unalternates
242syntax region muttrcAlternatesLine keepend start=+^\s*\%(un\)\?alternates\s+ skip=+\\$+ end=+$+ contains=muttrcAlternateKeyword,muttrcGroupDef,muttrcRXPat,muttrcUnHighlightSpace,muttrcComment
243
244" muttrcVariable includes a prefix because partial strings are considered
245" valid.
246syntax match muttrcVariable contained "\\\@<![a-zA-Z_-]*\$[a-zA-Z_-]\+" contains=muttrcVariableInner
247syntax match muttrcVariableInner contained "\$[a-zA-Z_-]\+"
248syntax match muttrcEscapedVariable contained "\\\$[a-zA-Z_-]\+"
249
250syntax match muttrcBadAction contained "[^<>]\+" contains=muttrcEmail
251syntax match muttrcAction contained "<[^>]\{-}>" contains=muttrcBadAction,muttrcFunction,muttrcKeyName
252
253" First, functions that take regular expressions:
254syntax match muttrcRXHookNot contained /!\s*/ skipwhite nextgroup=muttrcRXHookString,muttrcRXHookStringNL
255syntax match muttrcRXHooks /\<\%(account\|append\|close\|crypt\|folder\|mbox\|open\|pgp\)-hook\>/ skipwhite nextgroup=muttrcRXHookNot,muttrcRXHookString,muttrcRXHookStringNL
256
257" Now, functions that take patterns
258syntax match muttrcPatHookNot contained /!\s*/ skipwhite nextgroup=muttrcPattern
259syntax match muttrcPatHooks /\<\%(charset\|iconv\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcPattern
260syntax match muttrcPatHooks /\<\%(message\|reply\|send\|send2\|save\|fcc\|fcc-save\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcOptPattern
261
262syntax match muttrcBindFunction contained /\S\+\>/ skipwhite contains=muttrcFunction
263syntax match muttrcBindFunctionNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindFunction,muttrcBindFunctionNL
264syntax match muttrcBindKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcBindFunction,muttrcBindFunctionNL
265syntax match muttrcBindKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindKey,muttrcBindKeyNL
266syntax match muttrcBindMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcBindKey,muttrcBindKeyNL
267syntax match muttrcBindMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindMenuList,muttrcBindMenuListNL
268
269syntax region muttrcMacroDescr contained keepend skipwhite start=+\s*\S+ms=e skip=+\\ + end=+ \|$+me=s
270syntax region muttrcMacroDescr contained keepend skipwhite start=+'+ms=e skip=+\\'+ end=+'+me=s
271syntax region muttrcMacroDescr contained keepend skipwhite start=+"+ms=e skip=+\\"+ end=+"+me=s
272syntax match muttrcMacroDescrNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroDescr,muttrcMacroDescrNL
273syntax region muttrcMacroBody contained skipwhite start="\S" skip='\\ \|\\$' end=' \|$' contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction nextgroup=muttrcMacroDescr,muttrcMacroDescrNL
274syntax 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
275syntax 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
276syntax match muttrcMacroBodyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroBody,muttrcMacroBodyNL
277syntax match muttrcMacroKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcMacroBody,muttrcMacroBodyNL
278syntax match muttrcMacroKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroKey,muttrcMacroKeyNL
279syntax match muttrcMacroMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcMacroKey,muttrcMacroKeyNL
280syntax match muttrcMacroMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL
281
282syntax match muttrcAddrContent contained "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+\s*" skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent
283syntax region muttrcAddrContent contained start=+'+ end=+'\s*+ skip=+\\'+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent
284syntax region muttrcAddrContent contained start=+"+ end=+"\s*+ skip=+\\"+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent
285syntax match muttrcAddrDef contained "-addr\s\+" skipwhite nextgroup=muttrcAddrContent
286
287syntax match muttrcGroupFlag contained "-group"
288syntax region muttrcGroupDef contained start="-group\s\+" skip="\\$" end="\s" skipwhite keepend contains=muttrcGroupFlag,muttrcUnHighlightSpace
289
290syntax keyword muttrcGroupKeyword contained group ungroup
291syntax region muttrcGroupLine keepend start=+^\s*\%(un\)\?group\s+ skip=+\\$+ end=+$+ contains=muttrcGroupKeyword,muttrcGroupDef,muttrcAddrDef,muttrcRXDef,muttrcUnHighlightSpace,muttrcComment
292
293syntax match muttrcAliasGroupName contained /\w\+/ skipwhite nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL
294syntax match muttrcAliasGroupDefNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL
295syntax match muttrcAliasGroupDef contained /\s*-group/ skipwhite nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL contains=muttrcGroupFlag
296syntax match muttrcAliasComma contained /,/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL
297syntax match muttrcAliasEmail contained /\S\+@\S\+/ contains=muttrcEmail nextgroup=muttrcAliasName,muttrcAliasNameNL skipwhite
298syntax match muttrcAliasEncEmail contained /<[^>]\+>/ contains=muttrcEmail nextgroup=muttrcAliasComma
299syntax match muttrcAliasEncEmailNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL
300syntax match muttrcAliasNameNoParens contained /[^<(@]\+\s\+/ nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL
301syntax region muttrcAliasName contained matchgroup=Type start=/(/ end=/)/ skipwhite
302syntax match muttrcAliasNameNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasName,muttrcAliasNameNL
303syntax match muttrcAliasENNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL
304syntax match muttrcAliasKey contained /\s*[^- \t]\S\+/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL
305syntax match muttrcAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL
306
307syntax match muttrcUnAliasKey contained "\s*\w\+\s*" skipwhite nextgroup=muttrcUnAliasKey,muttrcUnAliasNL
308syntax match muttrcUnAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcUnAliasKey,muttrcUnAliasNL
309
310syntax match muttrcSimplePat contained "!\?\^\?[~][ADEFgGklNOpPQRSTuUvV=$]"
311syntax match muttrcSimplePat contained "!\?\^\?[~][mnXz]\s*\%([<>-][0-9]\+[kM]\?\|[0-9]\+[kM]\?[-]\%([0-9]\+[kM]\?\)\?\)"
312syntax 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
313syntax match muttrcSimplePat contained "!\?\^\?[~][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatRXContainer
314syntax match muttrcSimplePat contained "!\?\^\?[%][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString
315syntax match muttrcSimplePat contained "!\?\^\?[=][bcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString
316syntax region muttrcSimplePat contained keepend start=+!\?\^\?[~](+ end=+)+ contains=muttrcSimplePat
317"syn match muttrcSimplePat contained /'[^~=%][^']*/ contains=muttrcRXString
318syntax region muttrcSimplePatString contained keepend start=+"+ end=+"+ skip=+\\"+
319syntax region muttrcSimplePatString contained keepend start=+'+ end=+'+ skip=+\\'+
320syntax region muttrcSimplePatString contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1
321syntax region muttrcSimplePatRXContainer contained keepend start=+"+ end=+"+ skip=+\\"+ contains=muttrcRXString
322syntax region muttrcSimplePatRXContainer contained keepend start=+'+ end=+'+ skip=+\\'+ contains=muttrcRXString
323syntax region muttrcSimplePatRXContainer contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1 contains=muttrcRXString
324syntax match muttrcSimplePatMetas contained /[(|)]/
325
326syntax match muttrcOptSimplePat contained skipwhite /[~=%!(^].*/ contains=muttrcSimplePat,muttrcSimplePatMetas
327syntax match muttrcOptSimplePat contained skipwhite /[^~=%!(^].*/ contains=muttrcRXString
328syntax region muttrcOptPattern contained matchgroup=Type keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL
329syntax region muttrcOptPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL
330syntax region muttrcOptPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL
331syntax match muttrcOptPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL
332syntax match muttrcOptPattern contained skipwhite /[.]/ nextgroup=muttrcString,muttrcStringNL
333" Keep muttrcPattern and muttrcOptPattern synchronized
334syntax region muttrcPattern contained matchgroup=Type keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
335syntax region muttrcPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
336syntax region muttrcPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat
337syntax match muttrcPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat
338syntax match muttrcPattern contained skipwhite /[.]/
339syntax region muttrcPatternInner contained keepend start=+"[~=%!(^]+ms=s+1 skip=+\\"+ end=+"+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
340syntax region muttrcPatternInner contained keepend start=+'[~=%!(^]+ms=s+1 skip=+\\'+ end=+'+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
341
342" Colour definitions takes object, foreground and background arguments (regexps excluded).
343syntax match muttrcColorMatchCount contained "[0-9]\+"
344syntax match muttrcColorMatchCountNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL
345syntax region muttrcColorRXPat contained start=+\s*'+ skip=+\\'+ end=+'\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL
346syntax region muttrcColorRXPat contained start=+\s*"+ skip=+\\"+ end=+"\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL
347syntax keyword muttrcColor contained black blue cyan default green magenta red white yellow
348syntax keyword muttrcColor contained brightblack brightblue brightcyan brightdefault brightgreen brightmagenta brightred brightwhite brightyellow
349syntax match muttrcColor contained "\<\%(bright\)\=color\d\{1,3}\>"
350" Now for the structure of the color line
351syntax match muttrcColorRXNL contained skipnl "\s*\\$" nextgroup=muttrcColorRXPat,muttrcColorRXNL
352syntax match muttrcColorBG contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorRXPat,muttrcColorRXNL
353syntax match muttrcColorBGNL contained skipnl "\s*\\$" nextgroup=muttrcColorBG,muttrcColorBGNL
354syntax match muttrcColorFG contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBG,muttrcColorBGNL
355syntax match muttrcColorFGNL contained skipnl "\s*\\$" nextgroup=muttrcColorFG,muttrcColorFGNL
356syntax match muttrcColorContext contained /\s*[$]\?\w\+/ contains=muttrcColorField,muttrcVariable,muttrcUnHighlightSpace,muttrcColorCompose nextgroup=muttrcColorFG,muttrcColorFGNL
357syntax match muttrcColorNL contained skipnl "\s*\\$" nextgroup=muttrcColorContext,muttrcColorNL,muttrcColorCompose
358syntax match muttrcColorKeyword contained /^\s*color\s\+/ nextgroup=muttrcColorContext,muttrcColorNL,muttrcColorCompose
359" And now color's brother:
360syntax region muttrcUnColorPatterns contained skipwhite start=+\s*'+ end=+'+ skip=+\\'+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
361syntax region muttrcUnColorPatterns contained skipwhite start=+\s*"+ end=+"+ skip=+\\"+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
362syntax match muttrcUnColorPatterns contained skipwhite /\s*[^'"\s]\S\*/ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
363syntax match muttrcUnColorPatNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
364syntax match muttrcUnColorAll contained skipwhite /[*]/
365syntax match muttrcUnColorAPNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL
366syntax match muttrcUnColorIndex contained skipwhite /\s*index\s\+/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL
367syntax match muttrcUnColorIndexNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL
368syntax match muttrcUnColorKeyword contained skipwhite /^\s*uncolor\s\+/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL
369syntax region muttrcUnColorLine keepend start=+^\s*uncolor\s+ skip=+\\$+ end=+$+ contains=muttrcUnColorKeyword,muttrcComment,muttrcUnHighlightSpace
370
371syntax keyword muttrcMonoAttrib contained bold none normal reverse standout underline
372syntax keyword muttrcMono contained mono skipwhite nextgroup=muttrcColorField,muttrcColorCompose
373syntax match muttrcMonoLine "^\s*mono\s\+\S\+" skipwhite nextgroup=muttrcMonoAttrib contains=muttrcMono
374
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200375" CHECKED 2018-04-18
Bram Moolenaar01164a62017-11-02 22:58:42 +0100376" List of fields in Fields in color.c
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200377syntax keyword muttrcColorField skipwhite contained
378 \ attachment attach_headers body bold error hdrdefault header index
379 \ index_author index_collapsed index_date index_flags index_label
380 \ index_number index_size index_subject index_tag index_tags indicator
381 \ markers message normal progress prompt quoted search sidebar_divider
Bram Moolenaar01164a62017-11-02 22:58:42 +0100382 \ sidebar_flagged sidebar_highlight sidebar_indicator sidebar_new
383 \ sidebar_ordinary sidebar_spoolfile signature status tilde tree underline
Bram Moolenaar01164a62017-11-02 22:58:42 +0100384 \ nextgroup=muttrcColor
385syntax match muttrcColorField contained "\<quoted\d\=\>"
386
387syntax match muttrcColorCompose skipwhite contained /\s*compose\s*/ nextgroup=muttrcColorComposeField
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200388
389" CHECKED 2018-04-18
Bram Moolenaar01164a62017-11-02 22:58:42 +0100390" List of fields in ComposeFields in color.c
Bram Moolenaar01164a62017-11-02 22:58:42 +0100391syntax keyword muttrcColorComposeField skipwhite contained
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200392 \ header security_both security_encrypt security_none security_sign
Bram Moolenaar01164a62017-11-02 22:58:42 +0100393 \ nextgroup=muttrcColorFG,muttrcColorFGNL
394syntax region muttrcColorLine keepend start=/^\s*color\s\+/ skip=+\\$+ end=+$+ contains=muttrcColorKeyword,muttrcComment,muttrcUnHighlightSpace
395
396
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200397function! s:boolQuadGen(type, vars, deprecated)
Bram Moolenaar01164a62017-11-02 22:58:42 +0100398 let l:novars = copy(a:vars)
399 call map(l:novars, '"no" . v:val')
400 let l:invvars = copy(a:vars)
401 call map(l:invvars, '"inv" . v:val')
402
403 let l:orig_type = copy(a:type)
404 if a:deprecated
405 let l:type = 'Deprecated' . a:type
406 else
407 let l:type = a:type
408 endif
409
410 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'
411 exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(l:novars) . ' nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr'
412 exec 'syntax keyword muttrcVar' . l:type . ' skipwhite contained ' . join(l:invvars) . ' nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr'
413endfunction
414
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200415" CHECKED 2018-04-18
Bram Moolenaar01164a62017-11-02 22:58:42 +0100416" List of DT_BOOL in MuttVars in init.h
Bram Moolenaar01164a62017-11-02 22:58:42 +0100417call s:boolQuadGen('Bool', [
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200418 \ 'allow_8bit', 'allow_ansi', 'arrow_cursor', 'ascii_chars', 'askbcc',
419 \ 'askcc', 'ask_follow_up', 'ask_x_comment_to', 'attach_split', 'autoedit',
420 \ 'auto_tag', 'beep', 'beep_new', 'bounce_delivered', 'braille_friendly',
421 \ 'change_folder_next', 'check_mbox_size', 'check_new', 'collapse_all',
422 \ 'collapse_flagged', 'collapse_unread', 'confirmappend', 'confirmcreate',
423 \ 'crypt_autoencrypt', 'crypt_autopgp', 'crypt_autosign', 'crypt_autosmime',
424 \ 'crypt_confirmhook', 'crypt_opportunistic_encrypt', 'crypt_replyencrypt',
425 \ 'crypt_replysign', 'crypt_replysignencrypted', 'crypt_timestamp',
426 \ 'crypt_use_gpgme', 'crypt_use_pka', 'delete_untag', 'digest_collapse',
427 \ 'duplicate_threads', 'edit_headers', 'encode_from', 'fast_reply',
428 \ 'fcc_clear', 'flag_safe', 'followup_to', 'force_name', 'forward_decode',
429 \ 'forward_decrypt', 'forward_quote', 'forward_references', 'hdrs',
430 \ 'header', 'header_cache_compress', 'header_color_partial', 'help',
431 \ 'hidden_host', 'hide_limited', 'hide_missing', 'hide_thread_subject',
432 \ 'hide_top_limited', 'hide_top_missing', 'history_remove_dups',
433 \ 'honor_disposition', 'idn_decode', 'idn_encode', 'ignore_list_reply_to',
434 \ 'imap_check_subscribed', 'imap_idle', 'imap_list_subscribed',
435 \ 'imap_passive', 'imap_peek', 'imap_servernoise', 'implicit_autoview',
436 \ 'include_onlyfirst', 'keep_flagged', 'mailcap_sanitize',
437 \ 'maildir_check_cur', 'maildir_header_cache_verify', 'maildir_trash',
438 \ 'mail_check_recent', 'mail_check_stats', 'markers', 'mark_old',
439 \ 'menu_move_off', 'menu_scroll', 'message_cache_clean', 'meta_key',
440 \ 'metoo', 'mh_purge', 'mime_forward_decode', 'mime_subject',
441 \ 'mime_type_query_first', 'narrow_tree', 'nm_record', 'nntp_listgroup',
442 \ 'nntp_load_description', 'pager_stop', 'pgp_autoinline',
443 \ 'pgp_auto_decode', 'pgp_check_exit', 'pgp_ignore_subkeys', 'pgp_long_ids',
444 \ 'pgp_replyinline', 'pgp_retainable_sigs', 'pgp_self_encrypt',
445 \ 'pgp_show_unusable', 'pgp_strict_enc', 'pgp_use_gpg_agent', 'pipe_decode',
446 \ 'pipe_split', 'pop_auth_try_all', 'pop_last', 'postpone_encrypt',
447 \ 'print_decode', 'print_split', 'prompt_after', 'read_only',
448 \ 'reflow_space_quotes', 'reflow_text', 'reply_self', 'reply_with_xorig',
449 \ 'resolve', 'resume_draft_files', 'resume_edited_draft_files',
450 \ 'reverse_alias', 'reverse_name', 'reverse_realname', 'rfc2047_parameters',
451 \ 'save_address', 'save_empty', 'save_name', 'save_unsubscribed', 'score',
452 \ 'show_new_news', 'show_only_unread', 'sidebar_folder_indent',
453 \ 'sidebar_new_mail_only', 'sidebar_next_new_wrap', 'sidebar_on_right',
454 \ 'sidebar_short_path', 'sidebar_visible', 'sig_dashes', 'sig_on_top',
455 \ 'smart_wrap', 'smime_ask_cert_label', 'smime_decrypt_use_default_key',
456 \ 'smime_is_default', 'smime_self_encrypt', 'sort_re', 'ssl_force_tls',
457 \ 'ssl_usesystemcerts', 'ssl_use_sslv2', 'ssl_use_sslv3', 'ssl_use_tlsv1',
458 \ 'ssl_use_tlsv1_1', 'ssl_use_tlsv1_2', 'ssl_verify_dates',
459 \ 'ssl_verify_host', 'ssl_verify_partial_chains', 'status_on_top',
460 \ 'strict_threads', 'suspend', 'text_flowed', 'thorough_search',
461 \ 'thread_received', 'tilde', 'ts_enabled', 'uncollapse_jump',
462 \ 'uncollapse_new', 'user_agent', 'use_8bitmime', 'use_domain',
463 \ 'use_envelope_from', 'use_from', 'use_ipv6', 'virtual_spoolfile',
464 \ 'wait_key', 'weed', 'wrap_search', 'write_bcc', 'x_comment_to'
Bram Moolenaar01164a62017-11-02 22:58:42 +0100465 \ ], 0)
466
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200467" CHECKED 2018-04-18
Bram Moolenaar01164a62017-11-02 22:58:42 +0100468" Deprecated Bools
Bram Moolenaar01164a62017-11-02 22:58:42 +0100469" List of DT_SYNONYM synonyms of Bools in MuttVars in init.h
470call s:boolQuadGen('Bool', [
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200471 \ 'edit_hdrs', 'envelope_from', 'forw_decode', 'forw_decrypt',
472 \ 'forw_quote', 'ignore_linear_white_space', 'pgp_autoencrypt',
473 \ 'pgp_autosign', 'pgp_auto_traditional', 'pgp_create_traditional',
474 \ 'pgp_replyencrypt', 'pgp_replysign', 'pgp_replysignencrypted',
475 \ 'xterm_set_titles'
Bram Moolenaar01164a62017-11-02 22:58:42 +0100476 \ ], 1)
477
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200478" CHECKED 2018-04-18
Bram Moolenaar01164a62017-11-02 22:58:42 +0100479" List of DT_QUAD in MuttVars in init.h
Bram Moolenaar01164a62017-11-02 22:58:42 +0100480call s:boolQuadGen('Quad', [
481 \ 'abort_noattach', 'abort_nosubject', 'abort_unmodified', 'bounce',
482 \ 'catchup_newsgroup', 'copy', 'crypt_verify_sig', 'delete', 'fcc_attach',
483 \ 'followup_to_poster', 'forward_edit', 'honor_followup_to', 'include',
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200484 \ 'mime_forward', 'mime_forward_rest', 'move', 'pgp_mime_auto',
485 \ 'pop_delete', 'pop_reconnect', 'postpone', 'post_moderated', 'print',
486 \ 'quit', 'recall', 'reply_to', 'ssl_starttls'
Bram Moolenaar01164a62017-11-02 22:58:42 +0100487 \ ], 0)
488
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200489" CHECKED 2018-04-18
Bram Moolenaar01164a62017-11-02 22:58:42 +0100490" Deprecated Quads
Bram Moolenaar01164a62017-11-02 22:58:42 +0100491" List of DT_SYNONYM synonyms of Quads in MuttVars in init.h
492call s:boolQuadGen('Quad', [
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200493 \ 'mime_fwd', 'pgp_encrypt_self', 'pgp_verify_sig', 'smime_encrypt_self'
Bram Moolenaar01164a62017-11-02 22:58:42 +0100494 \ ], 1)
495
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200496" CHECKED 2018-04-18
Bram Moolenaar01164a62017-11-02 22:58:42 +0100497" List of DT_NUMBER in MuttVars in init.h
Bram Moolenaar01164a62017-11-02 22:58:42 +0100498syntax keyword muttrcVarNum skipwhite contained
499 \ connect_timeout debug_level history imap_keepalive imap_pipeline_depth
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200500 \ imap_poll_timeout mail_check mail_check_stats_interval menu_context
501 \ net_inc nm_db_limit nm_open_timeout nm_query_window_current_position
Bram Moolenaar01164a62017-11-02 22:58:42 +0100502 \ nm_query_window_duration nntp_context nntp_poll pager_context
503 \ pager_index_lines pgp_timeout pop_checkinterval read_inc reflow_wrap
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200504 \ save_history score_threshold_delete score_threshold_flag
505 \ score_threshold_read search_context sendmail_wait sidebar_component_depth
506 \ sidebar_width skip_quoted_offset sleep_time smime_timeout
507 \ ssl_min_dh_prime_bits timeout time_inc wrap wrap_headers write_inc
508 \ nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
509syntax keyword muttrcVarDeprecatedNum contained skipwhite
510 \ wrapmargin
Bram Moolenaar01164a62017-11-02 22:58:42 +0100511 \ nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
512
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200513" CHECKED 2018-04-18
Bram Moolenaar01164a62017-11-02 22:58:42 +0100514" List of DT_STRING in MuttVars in init.h
Bram Moolenaar01164a62017-11-02 22:58:42 +0100515" Special cases first, and all the rest at the end
Bram Moolenaar01164a62017-11-02 22:58:42 +0100516" Formats themselves must be updated in their respective groups
517" See s:escapesConditionals
518syntax match muttrcVarStr contained skipwhite 'my_[a-zA-Z0-9_]\+' nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
519syntax keyword muttrcVarStr contained skipwhite alias_format nextgroup=muttrcVarEqualsAliasFmt
520syntax keyword muttrcVarStr contained skipwhite attach_format nextgroup=muttrcVarEqualsAttachFmt
521syntax keyword muttrcVarStr contained skipwhite compose_format nextgroup=muttrcVarEqualsComposeFmt
522syntax keyword muttrcVarStr contained skipwhite folder_format vfolder_format nextgroup=muttrcVarEqualsFolderFmt
523syntax keyword muttrcVarStr contained skipwhite attribution index_format message_format pager_format nextgroup=muttrcVarEqualsIdxFmt
524" Deprecated format
525syntax keyword muttrcVarDeprecatedStr contained skipwhite hdr_format msg_format nextgroup=muttrcVarEqualsIdxFmt
526syntax keyword muttrcVarStr contained skipwhite mix_entry_format nextgroup=muttrcVarEqualsMixFmt
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200527syntax keyword muttrcVarStr contained skipwhite
528 \ pgp_clearsign_command pgp_decode_command pgp_decrypt_command
529 \ pgp_encrypt_only_command pgp_encrypt_sign_command pgp_export_command
530 \ pgp_import_command pgp_list_pubring_command pgp_list_secring_command
531 \ pgp_sign_command pgp_verify_command pgp_verify_key_command
Bram Moolenaar01164a62017-11-02 22:58:42 +0100532 \ nextgroup=muttrcVarEqualsPGPCmdFmt
533syntax keyword muttrcVarStr contained skipwhite pgp_entry_format nextgroup=muttrcVarEqualsPGPFmt
534syntax keyword muttrcVarStr contained skipwhite pgp_getkeys_command nextgroup=muttrcVarEqualsPGPGetKeysFmt
535syntax keyword muttrcVarStr contained skipwhite query_format nextgroup=muttrcVarEqualsQueryFmt
536syntax keyword muttrcVarStr contained skipwhite
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200537 \ smime_decrypt_command smime_encrypt_command smime_get_cert_command
538 \ smime_get_cert_email_command smime_get_signer_cert_command
539 \ smime_import_cert_command smime_pk7out_command smime_sign_command
540 \ smime_verify_command smime_verify_opaque_command
Bram Moolenaar01164a62017-11-02 22:58:42 +0100541 \ nextgroup=muttrcVarEqualsSmimeFmt
542syntax keyword muttrcVarStr contained skipwhite ts_icon_format ts_status_format status_format nextgroup=muttrcVarEqualsStatusFmt
543" Deprecated format
544syntax keyword muttrcVarDeprecatedStr contained skipwhite xterm_icon xterm_title nextgroup=muttrcVarEqualsStatusFmt
545syntax keyword muttrcVarStr contained skipwhite date_format nextgroup=muttrcVarEqualsStrftimeFmt
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200546syntax keyword muttrcVarStr contained skipwhite group_index_format nextgroup=muttrcVarEqualsGrpIdxFmt
Bram Moolenaar01164a62017-11-02 22:58:42 +0100547syntax keyword muttrcVarStr contained skipwhite sidebar_format nextgroup=muttrcVarEqualsSdbFmt
548syntax keyword muttrcVarStr contained skipwhite
549 \ assumed_charset attach_charset attach_sep attribution_locale charset
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200550 \ config_charset content_type default_hook dsn_notify dsn_return
551 \ empty_subject escape forward_attribution_intro forward_attribution_trailer
552 \ forward_format header_cache_pagesize hidden_tags hostname
553 \ imap_authenticators imap_delim_chars imap_headers imap_login imap_pass
554 \ imap_user indent_string mailcap_path mark_macro_prefix mh_seq_flagged
555 \ mh_seq_replied mh_seq_unseen mime_type_query_command newsgroups_charset
556 \ news_server nm_default_uri nm_exclude_tags nm_query_type
557 \ nm_query_window_current_search nm_query_window_timebase nm_record_tags
558 \ nm_unread_tag nntp_authenticators nntp_pass nntp_user pgp_default_key
559 \ pgp_sign_as pipe_sep pop_authenticators pop_host pop_pass pop_user
560 \ postpone_encrypt_as post_indent_string preconnect realname send_charset
Bram Moolenaar01164a62017-11-02 22:58:42 +0100561 \ show_multipart_alternative sidebar_delim_chars sidebar_divider_char
562 \ sidebar_indent_string simple_search smime_default_key smime_encrypt_with
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200563 \ smime_sign_as smime_sign_digest_alg smtp_authenticators smtp_pass smtp_url
564 \ spam_separator ssl_ciphers tunnel
Bram Moolenaar01164a62017-11-02 22:58:42 +0100565 \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
566" Deprecated strings
567syntax keyword muttrcVarDeprecatedStr contained skipwhite
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200568 \ forw_format indent_str pgp_self_encrypt_as post_indent_str
569 \ smime_self_encrypt_as
Bram Moolenaar01164a62017-11-02 22:58:42 +0100570 \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200571
572" CHECKED 2018-04-18
Bram Moolenaar01164a62017-11-02 22:58:42 +0100573" List of DT_ADDRESS
574syntax keyword muttrcVarStr contained skipwhite envelope_from_address from nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
575" List of DT_HCACHE
576syntax keyword muttrcVarStr contained skipwhite header_cache_backend nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
577" List of DT_MAGIC
578syntax keyword muttrcVarStr contained skipwhite mbox_type nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
579" List of DT_MBTABLE
580syntax keyword muttrcVarStr contained skipwhite flag_chars from_chars status_chars to_chars nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200581
582" CHECKED 2018-04-18
Bram Moolenaar01164a62017-11-02 22:58:42 +0100583" List of DT_PATH
584syntax keyword muttrcVarStr contained skipwhite
585 \ alias_file certificate_file debug_file display_filter editor entropy_file
586 \ folder header_cache history_file inews ispell mbox message_cachedir mixmaster
587 \ new_mail_command news_cache_dir newsrc pager postponed print_command
588 \ query_command record sendmail shell signature smime_ca_location
589 \ smime_certificates smime_keys spoolfile ssl_ca_certificates_file
590 \ ssl_client_cert tmpdir trash visual
591 \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200592
593" CHECKED 2018-04-18
Bram Moolenaar01164a62017-11-02 22:58:42 +0100594" List of DT_REGEX
595syntax keyword muttrcVarStr contained skipwhite
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200596 \ abort_noattach_regex gecos_mask mask pgp_decryption_okay pgp_good_sign
597 \ quote_regex reply_regex smileys
Bram Moolenaar01164a62017-11-02 22:58:42 +0100598 \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200599" List of deprecated DT_PATH
600syntax keyword muttrcVarDeprecatedStr contained skipwhite print_cmd nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
601" List of deprecated DT_REGEX
602syntax keyword muttrcVarDeprecatedStr contained skipwhite abort_noattach_regexp attach_keyword quote_regexp reply_regexp nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
Bram Moolenaar01164a62017-11-02 22:58:42 +0100603" List of DT_SORT
604syntax keyword muttrcVarStr contained skipwhite
605 \ pgp_sort_keys sidebar_sort_method sort sort_alias sort_aux sort_browser
606 \ nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
607
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200608" CHECKED 2018-04-18
Bram Moolenaar01164a62017-11-02 22:58:42 +0100609" List of commands in Commands in init.h
Bram Moolenaar01164a62017-11-02 22:58:42 +0100610" Remember to remove hooks, they have already been dealt with
611syntax keyword muttrcCommand skipwhite charset-hook nextgroup=muttrcRXString
612syntax keyword muttrcCommand skipwhite unhook nextgroup=muttrcHooks
613syntax keyword muttrcCommand skipwhite spam nextgroup=muttrcSpamPattern
614syntax keyword muttrcCommand skipwhite nospam nextgroup=muttrcNoSpamPattern
615syntax keyword muttrcCommand skipwhite bind nextgroup=muttrcBindMenuList,muttrcBindMenuListNL
616syntax keyword muttrcCommand skipwhite macro nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL
617syntax keyword muttrcCommand skipwhite alias nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL
618syntax keyword muttrcCommand skipwhite unalias nextgroup=muttrcUnAliasKey,muttrcUnAliasNL
619syntax keyword muttrcCommand skipwhite set unset reset toggle nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr
620syntax keyword muttrcCommand skipwhite exec nextgroup=muttrcFunction
621syntax keyword muttrcCommand skipwhite
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200622 \ alternative_order attachments auto_view finish hdr_order ifdef ifndef
623 \ ignore lua lua-source mailboxes mailto_allow mime_lookup my_hdr push score
624 \ setenv sidebar_whitelist source subjectrx subscribe-to tag-formats
625 \ tag-transforms unalternative_order unattachments unauto_view uncolor
626 \ unhdr_order unignore unmailboxes unmailto_allow unmime_lookup unmono
627 \ unmy_hdr unscore unsetenv unsidebar_whitelist unsubjectrx unsubscribe-from
628 \ unvirtual-mailboxes virtual-mailboxes
Bram Moolenaar01164a62017-11-02 22:58:42 +0100629
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200630" CHECKED 2018-04-18
Bram Moolenaar01164a62017-11-02 22:58:42 +0100631" List of functions in functions.h
Bram Moolenaar01164a62017-11-02 22:58:42 +0100632syntax match muttrcFunction contained "\<accept\>"
633syntax match muttrcFunction contained "\<append\>"
634syntax match muttrcFunction contained "\<attach-file\>"
635syntax match muttrcFunction contained "\<attach-key\>"
636syntax match muttrcFunction contained "\<attach-message\>"
637syntax match muttrcFunction contained "\<attach-news-message\>"
638syntax match muttrcFunction contained "\<backspace\>"
639syntax match muttrcFunction contained "\<backward-char\>"
640syntax match muttrcFunction contained "\<backward-word\>"
641syntax match muttrcFunction contained "\<bol\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100642syntax match muttrcFunction contained "\<bottom-page\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200643syntax match muttrcFunction contained "\<bottom\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100644syntax match muttrcFunction contained "\<bounce-message\>"
645syntax match muttrcFunction contained "\<break-thread\>"
646syntax match muttrcFunction contained "\<buffy-cycle\>"
647syntax match muttrcFunction contained "\<buffy-list\>"
648syntax match muttrcFunction contained "\<capitalize-word\>"
649syntax match muttrcFunction contained "\<catchup\>"
650syntax match muttrcFunction contained "\<chain-next\>"
651syntax match muttrcFunction contained "\<chain-prev\>"
652syntax match muttrcFunction contained "\<change-dir\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100653syntax match muttrcFunction contained "\<change-folder-readonly\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200654syntax match muttrcFunction contained "\<change-folder\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100655syntax match muttrcFunction contained "\<change-newsgroup-readonly\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200656syntax match muttrcFunction contained "\<change-newsgroup\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100657syntax match muttrcFunction contained "\<change-vfolder\>"
658syntax match muttrcFunction contained "\<check-new\>"
659syntax match muttrcFunction contained "\<check-traditional-pgp\>"
660syntax match muttrcFunction contained "\<clear-flag\>"
661syntax match muttrcFunction contained "\<collapse-all\>"
662syntax match muttrcFunction contained "\<collapse-parts\>"
663syntax match muttrcFunction contained "\<collapse-thread\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100664syntax match muttrcFunction contained "\<complete-query\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200665syntax match muttrcFunction contained "\<complete\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100666syntax match muttrcFunction contained "\<compose-to-sender\>"
667syntax match muttrcFunction contained "\<copy-file\>"
668syntax match muttrcFunction contained "\<copy-message\>"
669syntax match muttrcFunction contained "\<create-alias\>"
670syntax match muttrcFunction contained "\<create-mailbox\>"
671syntax match muttrcFunction contained "\<current-bottom\>"
672syntax match muttrcFunction contained "\<current-middle\>"
673syntax match muttrcFunction contained "\<current-top\>"
674syntax match muttrcFunction contained "\<decode-copy\>"
675syntax match muttrcFunction contained "\<decode-save\>"
676syntax match muttrcFunction contained "\<decrypt-copy\>"
677syntax match muttrcFunction contained "\<decrypt-save\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100678syntax match muttrcFunction contained "\<delete-char\>"
679syntax match muttrcFunction contained "\<delete-entry\>"
680syntax match muttrcFunction contained "\<delete-mailbox\>"
681syntax match muttrcFunction contained "\<delete-message\>"
682syntax match muttrcFunction contained "\<delete-pattern\>"
683syntax match muttrcFunction contained "\<delete-subthread\>"
684syntax match muttrcFunction contained "\<delete-thread\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200685syntax match muttrcFunction contained "\<delete\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100686syntax match muttrcFunction contained "\<detach-file\>"
687syntax match muttrcFunction contained "\<display-address\>"
688syntax match muttrcFunction contained "\<display-filename\>"
689syntax match muttrcFunction contained "\<display-message\>"
690syntax match muttrcFunction contained "\<display-toggle-weed\>"
691syntax match muttrcFunction contained "\<downcase-word\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100692syntax match muttrcFunction contained "\<edit-bcc\>"
693syntax match muttrcFunction contained "\<edit-cc\>"
694syntax match muttrcFunction contained "\<edit-description\>"
695syntax match muttrcFunction contained "\<edit-encoding\>"
696syntax match muttrcFunction contained "\<edit-fcc\>"
697syntax match muttrcFunction contained "\<edit-file\>"
698syntax match muttrcFunction contained "\<edit-followup-to\>"
699syntax match muttrcFunction contained "\<edit-from\>"
700syntax match muttrcFunction contained "\<edit-headers\>"
701syntax match muttrcFunction contained "\<edit-label\>"
702syntax match muttrcFunction contained "\<edit-message\>"
703syntax match muttrcFunction contained "\<edit-mime\>"
704syntax match muttrcFunction contained "\<edit-newsgroups\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200705syntax match muttrcFunction contained "\<edit-or-view-raw-message\>"
706syntax match muttrcFunction contained "\<edit-raw-message\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100707syntax match muttrcFunction contained "\<edit-reply-to\>"
708syntax match muttrcFunction contained "\<edit-subject\>"
709syntax match muttrcFunction contained "\<edit-to\>"
710syntax match muttrcFunction contained "\<edit-type\>"
711syntax match muttrcFunction contained "\<edit-x-comment-to\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200712syntax match muttrcFunction contained "\<edit\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100713syntax match muttrcFunction contained "\<end-cond\>"
714syntax match muttrcFunction contained "\<enter-command\>"
715syntax match muttrcFunction contained "\<enter-mask\>"
716syntax match muttrcFunction contained "\<entire-thread\>"
717syntax match muttrcFunction contained "\<eol\>"
718syntax match muttrcFunction contained "\<exit\>"
719syntax match muttrcFunction contained "\<extract-keys\>"
720syntax match muttrcFunction contained "\<fetch-mail\>"
721syntax match muttrcFunction contained "\<filter-entry\>"
722syntax match muttrcFunction contained "\<first-entry\>"
723syntax match muttrcFunction contained "\<flag-message\>"
724syntax match muttrcFunction contained "\<followup-message\>"
725syntax match muttrcFunction contained "\<forget-passphrase\>"
726syntax match muttrcFunction contained "\<forward-char\>"
727syntax match muttrcFunction contained "\<forward-message\>"
728syntax match muttrcFunction contained "\<forward-to-group\>"
729syntax match muttrcFunction contained "\<forward-word\>"
730syntax match muttrcFunction contained "\<get-attachment\>"
731syntax match muttrcFunction contained "\<get-children\>"
732syntax match muttrcFunction contained "\<get-message\>"
733syntax match muttrcFunction contained "\<get-parent\>"
734syntax match muttrcFunction contained "\<goto-folder\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200735syntax match muttrcFunction contained "\<goto-parent\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100736syntax match muttrcFunction contained "\<group-reply\>"
737syntax match muttrcFunction contained "\<half-down\>"
738syntax match muttrcFunction contained "\<half-up\>"
739syntax match muttrcFunction contained "\<help\>"
740syntax match muttrcFunction contained "\<history-down\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200741syntax match muttrcFunction contained "\<history-search\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100742syntax match muttrcFunction contained "\<history-up\>"
743syntax match muttrcFunction contained "\<imap-fetch-mail\>"
744syntax match muttrcFunction contained "\<imap-logout-all\>"
745syntax match muttrcFunction contained "\<insert\>"
746syntax match muttrcFunction contained "\<ispell\>"
747syntax match muttrcFunction contained "\<jump\>"
748syntax match muttrcFunction contained "\<kill-eol\>"
749syntax match muttrcFunction contained "\<kill-eow\>"
750syntax match muttrcFunction contained "\<kill-line\>"
751syntax match muttrcFunction contained "\<kill-word\>"
752syntax match muttrcFunction contained "\<last-entry\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100753syntax match muttrcFunction contained "\<limit-current-thread\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200754syntax match muttrcFunction contained "\<limit\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100755syntax match muttrcFunction contained "\<link-threads\>"
756syntax match muttrcFunction contained "\<list-reply\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100757syntax match muttrcFunction contained "\<mail-key\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200758syntax match muttrcFunction contained "\<mail\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100759syntax match muttrcFunction contained "\<mark-as-new\>"
760syntax match muttrcFunction contained "\<mark-message\>"
761syntax match muttrcFunction contained "\<middle-page\>"
762syntax match muttrcFunction contained "\<mix\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100763syntax match muttrcFunction contained "\<modify-labels-then-hide\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200764syntax match muttrcFunction contained "\<modify-labels\>"
765syntax match muttrcFunction contained "\<modify-tags-then-hide\>"
766syntax match muttrcFunction contained "\<modify-tags\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100767syntax match muttrcFunction contained "\<new-mime\>"
768syntax match muttrcFunction contained "\<next-entry\>"
769syntax match muttrcFunction contained "\<next-line\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100770syntax match muttrcFunction contained "\<next-new-then-unread\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200771syntax match muttrcFunction contained "\<next-new\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100772syntax match muttrcFunction contained "\<next-page\>"
773syntax match muttrcFunction contained "\<next-subthread\>"
774syntax match muttrcFunction contained "\<next-thread\>"
775syntax match muttrcFunction contained "\<next-undeleted\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100776syntax match muttrcFunction contained "\<next-unread-mailbox\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200777syntax match muttrcFunction contained "\<next-unread\>"
778syntax match muttrcFunction contained "\<noop\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100779syntax match muttrcFunction contained "\<parent-message\>"
780syntax match muttrcFunction contained "\<pgp-menu\>"
781syntax match muttrcFunction contained "\<pipe-entry\>"
782syntax match muttrcFunction contained "\<pipe-message\>"
783syntax match muttrcFunction contained "\<post-message\>"
784syntax match muttrcFunction contained "\<postpone-message\>"
785syntax match muttrcFunction contained "\<previous-entry\>"
786syntax match muttrcFunction contained "\<previous-line\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100787syntax match muttrcFunction contained "\<previous-new-then-unread\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200788syntax match muttrcFunction contained "\<previous-new\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100789syntax match muttrcFunction contained "\<previous-page\>"
790syntax match muttrcFunction contained "\<previous-subthread\>"
791syntax match muttrcFunction contained "\<previous-thread\>"
792syntax match muttrcFunction contained "\<previous-undeleted\>"
793syntax match muttrcFunction contained "\<previous-unread\>"
794syntax match muttrcFunction contained "\<print-entry\>"
795syntax match muttrcFunction contained "\<print-message\>"
796syntax match muttrcFunction contained "\<purge-message\>"
797syntax match muttrcFunction contained "\<purge-thread\>"
798syntax match muttrcFunction contained "\<quasi-delete\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100799syntax match muttrcFunction contained "\<query-append\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200800syntax match muttrcFunction contained "\<query\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100801syntax match muttrcFunction contained "\<quit\>"
802syntax match muttrcFunction contained "\<quote-char\>"
803syntax match muttrcFunction contained "\<read-subthread\>"
804syntax match muttrcFunction contained "\<read-thread\>"
805syntax match muttrcFunction contained "\<recall-message\>"
806syntax match muttrcFunction contained "\<reconstruct-thread\>"
807syntax match muttrcFunction contained "\<redraw-screen\>"
808syntax match muttrcFunction contained "\<refresh\>"
809syntax match muttrcFunction contained "\<reload-active\>"
810syntax match muttrcFunction contained "\<rename-attachment\>"
811syntax match muttrcFunction contained "\<rename-file\>"
812syntax match muttrcFunction contained "\<rename-mailbox\>"
813syntax match muttrcFunction contained "\<reply\>"
814syntax match muttrcFunction contained "\<resend-message\>"
815syntax match muttrcFunction contained "\<root-message\>"
816syntax match muttrcFunction contained "\<save-entry\>"
817syntax match muttrcFunction contained "\<save-message\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100818syntax match muttrcFunction contained "\<search-next\>"
819syntax match muttrcFunction contained "\<search-opposite\>"
820syntax match muttrcFunction contained "\<search-reverse\>"
821syntax match muttrcFunction contained "\<search-toggle\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200822syntax match muttrcFunction contained "\<search\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100823syntax match muttrcFunction contained "\<select-entry\>"
824syntax match muttrcFunction contained "\<select-new\>"
825syntax match muttrcFunction contained "\<send-message\>"
826syntax match muttrcFunction contained "\<set-flag\>"
827syntax match muttrcFunction contained "\<shell-escape\>"
828syntax match muttrcFunction contained "\<show-limit\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200829syntax match muttrcFunction contained "\<show-log-messages\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100830syntax match muttrcFunction contained "\<show-version\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100831syntax match muttrcFunction contained "\<sidebar-next-new\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200832syntax match muttrcFunction contained "\<sidebar-next\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100833syntax match muttrcFunction contained "\<sidebar-open\>"
834syntax match muttrcFunction contained "\<sidebar-page-down\>"
835syntax match muttrcFunction contained "\<sidebar-page-up\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100836syntax match muttrcFunction contained "\<sidebar-prev-new\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200837syntax match muttrcFunction contained "\<sidebar-prev\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100838syntax match muttrcFunction contained "\<sidebar-toggle-virtual\>"
839syntax match muttrcFunction contained "\<sidebar-toggle-visible\>"
840syntax match muttrcFunction contained "\<skip-quoted\>"
841syntax match muttrcFunction contained "\<smime-menu\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100842syntax match muttrcFunction contained "\<sort-mailbox\>"
843syntax match muttrcFunction contained "\<sort-reverse\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200844syntax match muttrcFunction contained "\<sort\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100845syntax match muttrcFunction contained "\<subscribe-pattern\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200846syntax match muttrcFunction contained "\<subscribe\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100847syntax match muttrcFunction contained "\<sync-mailbox\>"
848syntax match muttrcFunction contained "\<tag-entry\>"
849syntax match muttrcFunction contained "\<tag-message\>"
850syntax match muttrcFunction contained "\<tag-pattern\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100851syntax match muttrcFunction contained "\<tag-prefix-cond\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200852syntax match muttrcFunction contained "\<tag-prefix\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100853syntax match muttrcFunction contained "\<tag-subthread\>"
854syntax match muttrcFunction contained "\<tag-thread\>"
855syntax match muttrcFunction contained "\<toggle-disposition\>"
856syntax match muttrcFunction contained "\<toggle-mailboxes\>"
857syntax match muttrcFunction contained "\<toggle-new\>"
858syntax match muttrcFunction contained "\<toggle-quoted\>"
859syntax match muttrcFunction contained "\<toggle-read\>"
860syntax match muttrcFunction contained "\<toggle-recode\>"
861syntax match muttrcFunction contained "\<toggle-subscribed\>"
862syntax match muttrcFunction contained "\<toggle-unlink\>"
863syntax match muttrcFunction contained "\<toggle-write\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100864syntax match muttrcFunction contained "\<top-page\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200865syntax match muttrcFunction contained "\<top\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100866syntax match muttrcFunction contained "\<transpose-chars\>"
867syntax match muttrcFunction contained "\<uncatchup\>"
868syntax match muttrcFunction contained "\<undelete-entry\>"
869syntax match muttrcFunction contained "\<undelete-message\>"
870syntax match muttrcFunction contained "\<undelete-pattern\>"
871syntax match muttrcFunction contained "\<undelete-subthread\>"
872syntax match muttrcFunction contained "\<undelete-thread\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100873syntax match muttrcFunction contained "\<unsubscribe-pattern\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200874syntax match muttrcFunction contained "\<unsubscribe\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100875syntax match muttrcFunction contained "\<untag-pattern\>"
876syntax match muttrcFunction contained "\<upcase-word\>"
877syntax match muttrcFunction contained "\<update-encoding\>"
878syntax match muttrcFunction contained "\<verify-key\>"
879syntax match muttrcFunction contained "\<vfolder-from-query\>"
880syntax match muttrcFunction contained "\<vfolder-window-backward\>"
881syntax match muttrcFunction contained "\<vfolder-window-forward\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100882syntax match muttrcFunction contained "\<view-attachments\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200883syntax match muttrcFunction contained "\<view-attach\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100884syntax match muttrcFunction contained "\<view-file\>"
885syntax match muttrcFunction contained "\<view-mailcap\>"
886syntax match muttrcFunction contained "\<view-name\>"
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200887syntax match muttrcFunction contained "\<view-raw-message\>"
Bram Moolenaar01164a62017-11-02 22:58:42 +0100888syntax match muttrcFunction contained "\<view-text\>"
889syntax match muttrcFunction contained "\<what-key\>"
890syntax match muttrcFunction contained "\<write-fcc\>"
891
892
893
894" Define the default highlighting.
895" Only when an item doesn't have highlighting yet
896
897highlight def link muttrcComment Comment
898highlight def link muttrcEscape SpecialChar
899highlight def link muttrcRXChars SpecialChar
900highlight def link muttrcString String
901highlight def link muttrcRXString String
902highlight def link muttrcRXString2 String
903highlight def link muttrcSpecial Special
904highlight def link muttrcHooks Type
905highlight def link muttrcGroupFlag Type
906highlight def link muttrcGroupDef Macro
907highlight def link muttrcAddrDef muttrcGroupFlag
908highlight def link muttrcRXDef muttrcGroupFlag
909highlight def link muttrcRXPat String
910highlight def link muttrcAliasGroupName Macro
911highlight def link muttrcAliasKey Identifier
912highlight def link muttrcUnAliasKey Identifier
913highlight def link muttrcAliasEncEmail Identifier
914highlight def link muttrcAliasParens Type
915highlight def link muttrcSetNumAssignment Number
916highlight def link muttrcSetBoolAssignment Boolean
917highlight def link muttrcSetQuadAssignment Boolean
918highlight def link muttrcSetStrAssignment String
919highlight def link muttrcEmail Special
920highlight def link muttrcVariableInner Special
921highlight def link muttrcEscapedVariable String
922highlight def link muttrcHeader Type
923highlight def link muttrcKeySpecial SpecialChar
924highlight def link muttrcKey Type
925highlight def link muttrcKeyName SpecialChar
926highlight def link muttrcVarBool Identifier
927highlight def link muttrcVarQuad Identifier
928highlight def link muttrcVarNum Identifier
929highlight def link muttrcVarStr Identifier
930highlight def link muttrcMenu Identifier
931highlight def link muttrcCommand Keyword
932highlight def link muttrcMacroDescr String
933highlight def link muttrcAction Macro
934highlight def link muttrcBadAction Error
935highlight def link muttrcBindFunction Error
936highlight def link muttrcBindMenuList Error
937highlight def link muttrcFunction Macro
938highlight def link muttrcGroupKeyword muttrcCommand
939highlight def link muttrcGroupLine Error
940highlight def link muttrcSubscribeKeyword muttrcCommand
941highlight def link muttrcSubscribeLine Error
942highlight def link muttrcListsKeyword muttrcCommand
943highlight def link muttrcListsLine Error
944highlight def link muttrcAlternateKeyword muttrcCommand
945highlight def link muttrcAlternatesLine Error
946highlight def link muttrcAttachmentsLine muttrcCommand
947highlight def link muttrcAttachmentsFlag Type
948highlight def link muttrcAttachmentsMimeType String
949highlight def link muttrcColorLine Error
950highlight def link muttrcColorContext Error
951highlight def link muttrcColorContextI Identifier
952highlight def link muttrcColorContextH Identifier
953highlight def link muttrcColorKeyword muttrcCommand
954highlight def link muttrcColorField Identifier
955highlight def link muttrcColorCompose Identifier
956highlight def link muttrcColorComposeField Identifier
957highlight def link muttrcColor Type
958highlight def link muttrcColorFG Error
959highlight def link muttrcColorFGI Error
960highlight def link muttrcColorFGH Error
961highlight def link muttrcColorBG Error
962highlight def link muttrcColorBGI Error
963highlight def link muttrcColorBGH Error
964highlight def link muttrcMonoAttrib muttrcColor
965highlight def link muttrcMono muttrcCommand
966highlight def link muttrcSimplePat Identifier
967highlight def link muttrcSimplePatString Macro
968highlight def link muttrcSimplePatMetas Special
969highlight def link muttrcPattern Error
970highlight def link muttrcUnColorLine Error
971highlight def link muttrcUnColorKeyword muttrcCommand
972highlight def link muttrcUnColorIndex Identifier
973highlight def link muttrcShellString muttrcEscape
974highlight def link muttrcRXHooks muttrcCommand
975highlight def link muttrcRXHookNot Type
976highlight def link muttrcPatHooks muttrcCommand
977highlight def link muttrcPatHookNot Type
978highlight def link muttrcFormatConditionals2 Type
979highlight def link muttrcIndexFormatStr muttrcString
980highlight def link muttrcIndexFormatEscapes muttrcEscape
981highlight def link muttrcIndexFormatConditionals muttrcFormatConditionals2
982highlight def link muttrcAliasFormatStr muttrcString
983highlight def link muttrcAliasFormatEscapes muttrcEscape
984highlight def link muttrcAttachFormatStr muttrcString
985highlight def link muttrcAttachFormatEscapes muttrcEscape
986highlight def link muttrcAttachFormatConditionals muttrcFormatConditionals2
987highlight def link muttrcComposeFormatStr muttrcString
988highlight def link muttrcComposeFormatEscapes muttrcEscape
989highlight def link muttrcFolderFormatStr muttrcString
990highlight def link muttrcFolderFormatEscapes muttrcEscape
991highlight def link muttrcFolderFormatConditionals muttrcFormatConditionals2
992highlight def link muttrcMixFormatStr muttrcString
993highlight def link muttrcMixFormatEscapes muttrcEscape
994highlight def link muttrcMixFormatConditionals muttrcFormatConditionals2
995highlight def link muttrcPGPFormatStr muttrcString
996highlight def link muttrcPGPFormatEscapes muttrcEscape
997highlight def link muttrcPGPFormatConditionals muttrcFormatConditionals2
998highlight def link muttrcPGPCmdFormatStr muttrcString
999highlight def link muttrcPGPCmdFormatEscapes muttrcEscape
1000highlight def link muttrcPGPCmdFormatConditionals muttrcFormatConditionals2
1001highlight def link muttrcStatusFormatStr muttrcString
1002highlight def link muttrcStatusFormatEscapes muttrcEscape
1003highlight def link muttrcStatusFormatConditionals muttrcFormatConditionals2
1004highlight def link muttrcPGPGetKeysFormatStr muttrcString
1005highlight def link muttrcPGPGetKeysFormatEscapes muttrcEscape
1006highlight def link muttrcSmimeFormatStr muttrcString
1007highlight def link muttrcSmimeFormatEscapes muttrcEscape
1008highlight def link muttrcSmimeFormatConditionals muttrcFormatConditionals2
1009highlight def link muttrcTimeEscapes muttrcEscape
1010highlight def link muttrcPGPTimeEscapes muttrcEscape
1011highlight def link muttrcStrftimeEscapes Type
1012highlight def link muttrcStrftimeFormatStr muttrcString
1013highlight def link muttrcFormatErrors Error
1014
1015highlight def link muttrcBindFunctionNL SpecialChar
1016highlight def link muttrcBindKeyNL SpecialChar
1017highlight def link muttrcBindMenuListNL SpecialChar
1018highlight def link muttrcMacroDescrNL SpecialChar
1019highlight def link muttrcMacroBodyNL SpecialChar
1020highlight def link muttrcMacroKeyNL SpecialChar
1021highlight def link muttrcMacroMenuListNL SpecialChar
1022highlight def link muttrcColorMatchCountNL SpecialChar
1023highlight def link muttrcColorNL SpecialChar
1024highlight def link muttrcColorRXNL SpecialChar
1025highlight def link muttrcColorBGNL SpecialChar
1026highlight def link muttrcColorFGNL SpecialChar
1027highlight def link muttrcAliasNameNL SpecialChar
1028highlight def link muttrcAliasENNL SpecialChar
1029highlight def link muttrcAliasNL SpecialChar
1030highlight def link muttrcUnAliasNL SpecialChar
1031highlight def link muttrcAliasGroupDefNL SpecialChar
1032highlight def link muttrcAliasEncEmailNL SpecialChar
1033highlight def link muttrcPatternNL SpecialChar
1034highlight def link muttrcUnColorPatNL SpecialChar
1035highlight def link muttrcUnColorAPNL SpecialChar
1036highlight def link muttrcUnColorIndexNL SpecialChar
1037highlight def link muttrcStringNL SpecialChar
1038
1039highlight def link muttrcVarDeprecatedBool Error
1040highlight def link muttrcVarDeprecatedQuad Error
1041highlight def link muttrcVarDeprecatedStr Error
1042
1043
1044let b:current_syntax = "neomuttrc"
1045
1046let &cpo = s:cpo_save
1047unlet s:cpo_save
Bram Moolenaar7dda86f2018-04-20 22:36:41 +02001048
1049" vim: ts=8 noet tw=100 sw=8 sts=0 ft=vim isk+=-