Bram Moolenaar | 01164a6 | 2017-11-02 22:58:42 +0100 | [diff] [blame] | 1 | " 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 |
| 10 | if exists("b:current_syntax") |
| 11 | finish |
| 12 | endif |
| 13 | |
| 14 | let s:cpo_save = &cpo |
| 15 | set cpo&vim |
| 16 | |
| 17 | " Set the keyword characters |
| 18 | setlocal isk=@,48-57,_,- |
| 19 | |
| 20 | " handling optional variables |
| 21 | syntax match muttrcComment "^# .*$" contains=@Spell |
| 22 | syntax match muttrcComment "^#[^ ].*$" |
| 23 | syntax match muttrcComment "^#$" |
| 24 | syntax match muttrcComment "[^\\]#.*$"lc=1 |
| 25 | |
| 26 | " Escape sequences (back-tick and pipe goes here too) |
| 27 | syntax match muttrcEscape +\\[#tnr"'Cc ]+ |
| 28 | syntax match muttrcEscape +[`|]+ |
| 29 | syntax match muttrcEscape +\\$+ |
| 30 | |
| 31 | " The variables takes the following arguments |
| 32 | "syn match muttrcString contained "=\s*[^ #"'`]\+"lc=1 contains=muttrcEscape |
| 33 | syntax region muttrcString contained keepend start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcCommand,muttrcAction,muttrcShellString |
| 34 | syntax region muttrcString contained keepend start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcCommand,muttrcAction |
| 35 | syntax match muttrcStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcString,muttrcStringNL |
| 36 | |
| 37 | syntax region muttrcShellString matchgroup=muttrcEscape keepend start=+`+ skip=+\\`+ end=+`+ contains=muttrcVarStr,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcCommand,muttrcVarDeprecatedStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad |
| 38 | |
| 39 | syntax match muttrcRXChars contained /[^\\][][.*?+]\+/hs=s+1 |
| 40 | syntax match muttrcRXChars contained /[][|()][.*?+]*/ |
| 41 | syntax match muttrcRXChars contained /['"]^/ms=s+1 |
| 42 | syntax match muttrcRXChars contained /$['"]/me=e-1 |
| 43 | syntax match muttrcRXChars contained /\\/ |
| 44 | " Why does muttrcRXString2 work with one \ when muttrcRXString requires two? |
| 45 | syntax region muttrcRXString contained skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXChars |
| 46 | syntax region muttrcRXString contained skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXChars |
| 47 | syntax region muttrcRXString contained skipwhite start=+[^ "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXChars |
| 48 | " For some reason, skip refuses to match backslashes here... |
| 49 | syntax region muttrcRXString contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXChars |
| 50 | syntax region muttrcRXString contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXChars |
| 51 | syntax region muttrcRXString2 contained skipwhite start=+'+ skip=+\'+ end=+'+ contains=muttrcRXChars |
| 52 | syntax region muttrcRXString2 contained skipwhite start=+"+ skip=+\"+ end=+"+ contains=muttrcRXChars |
| 53 | |
| 54 | " these must be kept synchronized with muttrcRXString, but are intended for |
| 55 | " muttrcRXHooks |
| 56 | syntax region muttrcRXHookString contained keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL |
| 57 | syntax region muttrcRXHookString contained keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL |
| 58 | syntax region muttrcRXHookString contained keepend skipwhite start=+[^ "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL |
| 59 | syntax region muttrcRXHookString contained keepend skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL |
| 60 | syntax region muttrcRXHookString contained keepend matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL |
| 61 | syntax match muttrcRXHookStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcRXHookString,muttrcRXHookStringNL |
| 62 | |
| 63 | " these are exclusively for args lists (e.g. -rx pat pat pat ...) |
| 64 | syntax region muttrcRXPat contained keepend skipwhite start=+'+ skip=+\\'+ end=+'\s*+ contains=muttrcRXString nextgroup=muttrcRXPat |
| 65 | syntax region muttrcRXPat contained keepend skipwhite start=+"+ skip=+\\"+ end=+"\s*+ contains=muttrcRXString nextgroup=muttrcRXPat |
| 66 | syntax match muttrcRXPat contained /[^-'"#!]\S\+/ skipwhite contains=muttrcRXChars nextgroup=muttrcRXPat |
| 67 | syntax match muttrcRXDef contained "-rx\s\+" skipwhite nextgroup=muttrcRXPat |
| 68 | |
| 69 | syntax match muttrcSpecial +\(['"]\)!\1+ |
| 70 | |
| 71 | syntax match muttrcSetStrAssignment contained skipwhite /=\s*\%(\\\?\$\)\?[0-9A-Za-z_-]\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcVariable,muttrcEscapedVariable |
| 72 | syntax region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*"+hs=s+1 end=+"+ skip=+\\"+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcString |
| 73 | syntax region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*'+hs=s+1 end=+'+ skip=+\\'+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcString |
| 74 | syntax match muttrcSetBoolAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcVariable,muttrcEscapedVariable |
| 75 | syntax match muttrcSetBoolAssignment contained skipwhite /=\s*\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 76 | syntax match muttrcSetBoolAssignment contained skipwhite /=\s*"\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 77 | syntax match muttrcSetBoolAssignment contained skipwhite /=\s*'\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 78 | syntax match muttrcSetQuadAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcVariable,muttrcEscapedVariable |
| 79 | syntax match muttrcSetQuadAssignment contained skipwhite /=\s*\%(ask-\)\?\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 80 | syntax match muttrcSetQuadAssignment contained skipwhite /=\s*"\%(ask-\)\?\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 81 | syntax match muttrcSetQuadAssignment contained skipwhite /=\s*'\%(ask-\)\?\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 82 | syntax match muttrcSetNumAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr contains=muttrcVariable,muttrcEscapedVariable |
| 83 | syntax match muttrcSetNumAssignment contained skipwhite /=\s*\d\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 84 | syntax match muttrcSetNumAssignment contained skipwhite /=\s*"\d\+"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 85 | syntax 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) |
| 88 | syntax match muttrcEmail "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+" |
| 89 | syntax match muttrcHeader "\<\c\%(From\|To\|C[Cc]\|B[Cc][Cc]\|Reply-To\|Subject\|Return-Path\|Received\|Date\|Replied\|Attach\)\>:\=" |
| 90 | |
| 91 | syntax match muttrcKeySpecial contained +\%(\\[Cc'"]\|\^\|\\[01]\d\{2}\)+ |
| 92 | syntax match muttrcKey contained "\S\+" contains=muttrcKeySpecial,muttrcKeyName |
| 93 | syntax region muttrcKey contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=muttrcKeySpecial,muttrcKeyName |
| 94 | syntax region muttrcKey contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=muttrcKeySpecial,muttrcKeyName |
| 95 | syntax match muttrcKeyName contained "\\[trne]" |
| 96 | syntax match muttrcKeyName contained "\c<\%(BackSpace\|BackTab\|Delete\|Down\|End\|Enter\|Esc\|Home\|Insert\|Left\|Next\|PageDown\|PageUp\|Return\|Right\|Space\|Tab\|Up\)>" |
| 97 | syntax match muttrcKeyName contained "\c<F\d\+>" |
| 98 | |
| 99 | syntax match muttrcFormatErrors contained /%./ |
| 100 | |
| 101 | syntax match muttrcStrftimeEscapes contained /%[AaBbCcDdeFGgHhIjklMmnpRrSsTtUuVvWwXxYyZz+%]/ |
| 102 | syntax match muttrcStrftimeEscapes contained /%E[cCxXyY]/ |
| 103 | syntax match muttrcStrftimeEscapes contained /%O[BdeHImMSuUVwWy]/ |
| 104 | |
| 105 | syntax region muttrcIndexFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 106 | syntax region muttrcIndexFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 107 | syntax region muttrcGroupIndexFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcGroupIndexFormatEscapes,muttrcGroupIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 108 | syntax region muttrcGroupIndexFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcGroupIndexFormatEscapes,muttrcGroupIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 109 | syntax region muttrcSidebarFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSidebarFormatEscapes,muttrcSidebarFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 110 | syntax region muttrcSidebarFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSidebarFormatEscapes,muttrcSidebarFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 111 | syntax region muttrcQueryFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 112 | syntax region muttrcAliasFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 113 | syntax region muttrcAliasFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 114 | syntax region muttrcAttachFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 115 | syntax region muttrcAttachFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 116 | syntax region muttrcComposeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 117 | syntax region muttrcComposeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 118 | syntax region muttrcFolderFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 119 | syntax region muttrcFolderFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 120 | syntax region muttrcMixFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 121 | syntax region muttrcMixFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 122 | syntax region muttrcPGPFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 123 | syntax region muttrcPGPFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 124 | syntax region muttrcPGPCmdFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 125 | syntax region muttrcPGPCmdFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 126 | syntax region muttrcStatusFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 127 | syntax region muttrcStatusFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 128 | syntax region muttrcPGPGetKeysFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 129 | syntax region muttrcPGPGetKeysFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 130 | syntax region muttrcSmimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 131 | syntax region muttrcSmimeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 132 | syntax region muttrcStrftimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 133 | syntax 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 |
| 136 | syntax match muttrcFormatConditionals2 contained /[^?]*?/ |
| 137 | function 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 |
| 147 | endfunction |
| 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 |
| 152 | call s:escapesConditionals('IndexFormat', '[AaBbCcDdEeFfgHIiJKLlMmNnOPqrSsTtuvWXxYyZz(<[{]\|G[a-zA-Z]\+', 1, 1) |
| 153 | " The following info was pulled from alias_format_str in addrbook.c |
| 154 | syntax match muttrcAliasFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[afnrt%]/ |
| 155 | " The following info was pulled from newsgroup_format_str in browser.c |
| 156 | call s:escapesConditionals('GroupIndexFormat', '[CdfMNns]', 1, 1) |
| 157 | " The following info was pulled from cb_format_str in sidebar.c |
| 158 | call s:escapesConditionals('SidebarFormat', '[BdFLNnSt!]', 1, 1) |
| 159 | " The following info was pulled from query_format_str in query.c |
| 160 | call s:escapesConditionals('QueryFormat', '[acent]', 0, 1) |
| 161 | " The following info was pulled from mutt_attach_fmt in recvattach.c |
| 162 | call s:escapesConditionals('AttachFormat', '[CcDdeFfIMmnQsTtuX]', 1, 1) |
| 163 | " The following info was pulled from compose_format_str in compose.c |
| 164 | syntax match muttrcComposeFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[ahlv%]/ |
| 165 | syntax match muttrcComposeFormatEscapes contained /%[>|*]./ |
| 166 | " The following info was pulled from folder_format_str in browser.c |
| 167 | call s:escapesConditionals('FolderFormat', '[CDdfFglNstu]', 1, 0) |
| 168 | " The following info was pulled from mix_entry_fmt in remailer.c |
| 169 | call 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). |
| 173 | call s:escapesConditionals('PGPFormat', '[acfklnptu[]', 0, 0) |
| 174 | " The following info was pulled from _mutt_fmt_pgp_command in |
| 175 | " pgpinvoke.c |
| 176 | call s:escapesConditionals('PGPCmdFormat', '[afprs]', 0, 1) |
| 177 | " The following info was pulled from status_format_str in status.c |
| 178 | call 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 |
| 182 | syntax match muttrcPGPGetKeysFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[acfklntu[%]/ |
| 183 | " The following info was pulled from _mutt_fmt_smime_command in |
| 184 | " smime.c |
| 185 | call s:escapesConditionals('SmimeFormat', '[aCcdfiks]', 0, 1) |
| 186 | |
| 187 | syntax region muttrcTimeEscapes contained start=+%{+ end=+}+ contains=muttrcStrftimeEscapes |
| 188 | syntax region muttrcTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes |
| 189 | syntax region muttrcTimeEscapes contained start=+%(+ end=+)+ contains=muttrcStrftimeEscapes |
| 190 | syntax region muttrcTimeEscapes contained start=+%<+ end=+>+ contains=muttrcStrftimeEscapes |
| 191 | syntax region muttrcPGPTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes |
| 192 | |
| 193 | syntax match muttrcVarEqualsAliasFmt contained skipwhite "=" nextgroup=muttrcAliasFormatStr |
| 194 | syntax match muttrcVarEqualsAttachFmt contained skipwhite "=" nextgroup=muttrcAttachFormatStr |
| 195 | syntax match muttrcVarEqualsComposeFmt contained skipwhite "=" nextgroup=muttrcComposeFormatStr |
| 196 | syntax match muttrcVarEqualsFolderFmt contained skipwhite "=" nextgroup=muttrcFolderFormatStr |
| 197 | syntax match muttrcVarEqualsIdxFmt contained skipwhite "=" nextgroup=muttrcIndexFormatStr |
| 198 | syntax match muttrcVarEqualsGrpIdxFmt contained skipwhite "=" nextgroup=muttrcGroupIndexFormatStr |
| 199 | syntax match muttrcVarEqualsMixFmt contained skipwhite "=" nextgroup=muttrcMixFormatStr |
| 200 | syntax match muttrcVarEqualsPGPFmt contained skipwhite "=" nextgroup=muttrcPGPFormatStr |
| 201 | syntax match muttrcVarEqualsQueryFmt contained skipwhite "=" nextgroup=muttrcQueryFormatStr |
| 202 | syntax match muttrcVarEqualsPGPCmdFmt contained skipwhite "=" nextgroup=muttrcPGPCmdFormatStr |
| 203 | syntax match muttrcVarEqualsSdbFmt contained skipwhite "=" nextgroup=muttrcSidebarFormatStr |
| 204 | syntax match muttrcVarEqualsStatusFmt contained skipwhite "=" nextgroup=muttrcStatusFormatStr |
| 205 | syntax match muttrcVarEqualsPGPGetKeysFmt contained skipwhite "=" nextgroup=muttrcPGPGetKeysFormatStr |
| 206 | syntax match muttrcVarEqualsSmimeFmt contained skipwhite "=" nextgroup=muttrcSmimeFormatStr |
| 207 | syntax match muttrcVarEqualsStrftimeFmt contained skipwhite "=" nextgroup=muttrcStrftimeFormatStr |
| 208 | |
| 209 | syntax match muttrcVPrefix contained /[?&]/ nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 210 | |
| 211 | " List of the different screens in mutt |
| 212 | " UPDATE |
| 213 | syntax keyword muttrcMenu contained alias attach browser compose editor index pager postpone pgp mix query generic |
| 214 | syntax match muttrcMenuList "\S\+" contained contains=muttrcMenu |
| 215 | syntax match muttrcMenuCommas /,/ contained |
| 216 | |
| 217 | " List of hooks in Commands in init.h |
| 218 | " UPDATE |
| 219 | syntax 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 |
| 223 | syntax keyword muttrcHooks skipwhite shutdown-hook startup-hook timeout-hook nextgroup=muttrcCommand |
| 224 | |
| 225 | syntax region muttrcSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL |
| 226 | syntax region muttrcSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL |
| 227 | |
| 228 | syntax region muttrcNoSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern |
| 229 | syntax region muttrcNoSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern |
| 230 | |
| 231 | syntax match muttrcAttachmentsMimeType contained "[*a-z0-9_-]\+/[*a-z0-9._-]\+\s*" skipwhite nextgroup=muttrcAttachmentsMimeType |
| 232 | syntax match muttrcAttachmentsFlag contained "[+-]\%([AI]\|inline\|attachment\)\s\+" skipwhite nextgroup=muttrcAttachmentsMimeType |
| 233 | syntax match muttrcAttachmentsLine "^\s*\%(un\)\?attachments\s\+" skipwhite nextgroup=muttrcAttachmentsFlag |
| 234 | |
| 235 | syntax match muttrcUnHighlightSpace contained "\%(\s\+\|\\$\)" |
| 236 | |
| 237 | syntax keyword muttrcAsterisk contained * |
| 238 | syntax keyword muttrcListsKeyword lists skipwhite nextgroup=muttrcGroupDef,muttrcComment |
| 239 | syntax keyword muttrcListsKeyword unlists skipwhite nextgroup=muttrcAsterisk,muttrcComment |
| 240 | |
| 241 | syntax keyword muttrcSubscribeKeyword subscribe nextgroup=muttrcGroupDef,muttrcComment |
| 242 | syntax keyword muttrcSubscribeKeyword unsubscribe nextgroup=muttrcAsterisk,muttrcComment |
| 243 | |
| 244 | syntax keyword muttrcAlternateKeyword contained alternates unalternates |
| 245 | syntax 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. |
| 249 | syntax match muttrcVariable contained "\\\@<![a-zA-Z_-]*\$[a-zA-Z_-]\+" contains=muttrcVariableInner |
| 250 | syntax match muttrcVariableInner contained "\$[a-zA-Z_-]\+" |
| 251 | syntax match muttrcEscapedVariable contained "\\\$[a-zA-Z_-]\+" |
| 252 | |
| 253 | syntax match muttrcBadAction contained "[^<>]\+" contains=muttrcEmail |
| 254 | syntax match muttrcAction contained "<[^>]\{-}>" contains=muttrcBadAction,muttrcFunction,muttrcKeyName |
| 255 | |
| 256 | " First, functions that take regular expressions: |
| 257 | syntax match muttrcRXHookNot contained /!\s*/ skipwhite nextgroup=muttrcRXHookString,muttrcRXHookStringNL |
| 258 | syntax match muttrcRXHooks /\<\%(account\|append\|close\|crypt\|folder\|mbox\|open\|pgp\)-hook\>/ skipwhite nextgroup=muttrcRXHookNot,muttrcRXHookString,muttrcRXHookStringNL |
| 259 | |
| 260 | " Now, functions that take patterns |
| 261 | syntax match muttrcPatHookNot contained /!\s*/ skipwhite nextgroup=muttrcPattern |
| 262 | syntax match muttrcPatHooks /\<\%(charset\|iconv\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcPattern |
| 263 | syntax match muttrcPatHooks /\<\%(message\|reply\|send\|send2\|save\|fcc\|fcc-save\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcOptPattern |
| 264 | |
| 265 | syntax match muttrcBindFunction contained /\S\+\>/ skipwhite contains=muttrcFunction |
| 266 | syntax match muttrcBindFunctionNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindFunction,muttrcBindFunctionNL |
| 267 | syntax match muttrcBindKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcBindFunction,muttrcBindFunctionNL |
| 268 | syntax match muttrcBindKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindKey,muttrcBindKeyNL |
| 269 | syntax match muttrcBindMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcBindKey,muttrcBindKeyNL |
| 270 | syntax match muttrcBindMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindMenuList,muttrcBindMenuListNL |
| 271 | |
| 272 | syntax region muttrcMacroDescr contained keepend skipwhite start=+\s*\S+ms=e skip=+\\ + end=+ \|$+me=s |
| 273 | syntax region muttrcMacroDescr contained keepend skipwhite start=+'+ms=e skip=+\\'+ end=+'+me=s |
| 274 | syntax region muttrcMacroDescr contained keepend skipwhite start=+"+ms=e skip=+\\"+ end=+"+me=s |
| 275 | syntax match muttrcMacroDescrNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroDescr,muttrcMacroDescrNL |
| 276 | syntax region muttrcMacroBody contained skipwhite start="\S" skip='\\ \|\\$' end=' \|$' contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction nextgroup=muttrcMacroDescr,muttrcMacroDescrNL |
| 277 | syntax region muttrcMacroBody matchgroup=Type contained skipwhite start=+'+ms=e skip=+\\'+ end=+'\|\%(\%(\\\\\)\@<!$\)+me=s contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcSpam,muttrcNoSpam,muttrcCommand,muttrcAction,muttrcVariable nextgroup=muttrcMacroDescr,muttrcMacroDescrNL |
| 278 | syntax region muttrcMacroBody matchgroup=Type contained skipwhite start=+"+ms=e skip=+\\"+ end=+"\|\%(\%(\\\\\)\@<!$\)+me=s contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcSpam,muttrcNoSpam,muttrcCommand,muttrcAction,muttrcVariable nextgroup=muttrcMacroDescr,muttrcMacroDescrNL |
| 279 | syntax match muttrcMacroBodyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroBody,muttrcMacroBodyNL |
| 280 | syntax match muttrcMacroKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcMacroBody,muttrcMacroBodyNL |
| 281 | syntax match muttrcMacroKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroKey,muttrcMacroKeyNL |
| 282 | syntax match muttrcMacroMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcMacroKey,muttrcMacroKeyNL |
| 283 | syntax match muttrcMacroMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL |
| 284 | |
| 285 | syntax match muttrcAddrContent contained "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+\s*" skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent |
| 286 | syntax region muttrcAddrContent contained start=+'+ end=+'\s*+ skip=+\\'+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent |
| 287 | syntax region muttrcAddrContent contained start=+"+ end=+"\s*+ skip=+\\"+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent |
| 288 | syntax match muttrcAddrDef contained "-addr\s\+" skipwhite nextgroup=muttrcAddrContent |
| 289 | |
| 290 | syntax match muttrcGroupFlag contained "-group" |
| 291 | syntax region muttrcGroupDef contained start="-group\s\+" skip="\\$" end="\s" skipwhite keepend contains=muttrcGroupFlag,muttrcUnHighlightSpace |
| 292 | |
| 293 | syntax keyword muttrcGroupKeyword contained group ungroup |
| 294 | syntax region muttrcGroupLine keepend start=+^\s*\%(un\)\?group\s+ skip=+\\$+ end=+$+ contains=muttrcGroupKeyword,muttrcGroupDef,muttrcAddrDef,muttrcRXDef,muttrcUnHighlightSpace,muttrcComment |
| 295 | |
| 296 | syntax match muttrcAliasGroupName contained /\w\+/ skipwhite nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL |
| 297 | syntax match muttrcAliasGroupDefNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL |
| 298 | syntax match muttrcAliasGroupDef contained /\s*-group/ skipwhite nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL contains=muttrcGroupFlag |
| 299 | syntax match muttrcAliasComma contained /,/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL |
| 300 | syntax match muttrcAliasEmail contained /\S\+@\S\+/ contains=muttrcEmail nextgroup=muttrcAliasName,muttrcAliasNameNL skipwhite |
| 301 | syntax match muttrcAliasEncEmail contained /<[^>]\+>/ contains=muttrcEmail nextgroup=muttrcAliasComma |
| 302 | syntax match muttrcAliasEncEmailNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL |
| 303 | syntax match muttrcAliasNameNoParens contained /[^<(@]\+\s\+/ nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL |
| 304 | syntax region muttrcAliasName contained matchgroup=Type start=/(/ end=/)/ skipwhite |
| 305 | syntax match muttrcAliasNameNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasName,muttrcAliasNameNL |
| 306 | syntax match muttrcAliasENNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL |
| 307 | syntax match muttrcAliasKey contained /\s*[^- \t]\S\+/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasEncEmail,muttrcAliasNameNoParens,muttrcAliasENNL |
| 308 | syntax match muttrcAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL |
| 309 | |
| 310 | syntax match muttrcUnAliasKey contained "\s*\w\+\s*" skipwhite nextgroup=muttrcUnAliasKey,muttrcUnAliasNL |
| 311 | syntax match muttrcUnAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcUnAliasKey,muttrcUnAliasNL |
| 312 | |
| 313 | syntax match muttrcSimplePat contained "!\?\^\?[~][ADEFgGklNOpPQRSTuUvV=$]" |
| 314 | syntax match muttrcSimplePat contained "!\?\^\?[~][mnXz]\s*\%([<>-][0-9]\+[kM]\?\|[0-9]\+[kM]\?[-]\%([0-9]\+[kM]\?\)\?\)" |
| 315 | syntax match muttrcSimplePat contained "!\?\^\?[~][dr]\s*\%(\%(-\?[0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)*\)\|\%(\%([0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)*\)-\%([0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)\?\)\?\)\|\%([<>=][0-9]\+[ymwd]\)\|\%(`[^`]\+`\)\|\%(\$[a-zA-Z0-9_-]\+\)\)" contains=muttrcShellString,muttrcVariable |
| 316 | syntax match muttrcSimplePat contained "!\?\^\?[~][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatRXContainer |
| 317 | syntax match muttrcSimplePat contained "!\?\^\?[%][bBcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString |
| 318 | syntax match muttrcSimplePat contained "!\?\^\?[=][bcCefhHiLstxy]\s*" nextgroup=muttrcSimplePatString |
| 319 | syntax region muttrcSimplePat contained keepend start=+!\?\^\?[~](+ end=+)+ contains=muttrcSimplePat |
| 320 | "syn match muttrcSimplePat contained /'[^~=%][^']*/ contains=muttrcRXString |
| 321 | syntax region muttrcSimplePatString contained keepend start=+"+ end=+"+ skip=+\\"+ |
| 322 | syntax region muttrcSimplePatString contained keepend start=+'+ end=+'+ skip=+\\'+ |
| 323 | syntax region muttrcSimplePatString contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1 |
| 324 | syntax region muttrcSimplePatRXContainer contained keepend start=+"+ end=+"+ skip=+\\"+ contains=muttrcRXString |
| 325 | syntax region muttrcSimplePatRXContainer contained keepend start=+'+ end=+'+ skip=+\\'+ contains=muttrcRXString |
| 326 | syntax region muttrcSimplePatRXContainer contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1 contains=muttrcRXString |
| 327 | syntax match muttrcSimplePatMetas contained /[(|)]/ |
| 328 | |
| 329 | syntax match muttrcOptSimplePat contained skipwhite /[~=%!(^].*/ contains=muttrcSimplePat,muttrcSimplePatMetas |
| 330 | syntax match muttrcOptSimplePat contained skipwhite /[^~=%!(^].*/ contains=muttrcRXString |
| 331 | syntax region muttrcOptPattern contained matchgroup=Type keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL |
| 332 | syntax region muttrcOptPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL |
| 333 | syntax region muttrcOptPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL |
| 334 | syntax match muttrcOptPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL |
| 335 | syntax match muttrcOptPattern contained skipwhite /[.]/ nextgroup=muttrcString,muttrcStringNL |
| 336 | " Keep muttrcPattern and muttrcOptPattern synchronized |
| 337 | syntax region muttrcPattern contained matchgroup=Type keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas |
| 338 | syntax region muttrcPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas |
| 339 | syntax region muttrcPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat |
| 340 | syntax match muttrcPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat |
| 341 | syntax match muttrcPattern contained skipwhite /[.]/ |
| 342 | syntax region muttrcPatternInner contained keepend start=+"[~=%!(^]+ms=s+1 skip=+\\"+ end=+"+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas |
| 343 | syntax 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). |
| 346 | syntax match muttrcColorMatchCount contained "[0-9]\+" |
| 347 | syntax match muttrcColorMatchCountNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL |
| 348 | syntax region muttrcColorRXPat contained start=+\s*'+ skip=+\\'+ end=+'\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL |
| 349 | syntax region muttrcColorRXPat contained start=+\s*"+ skip=+\\"+ end=+"\s*+ keepend skipwhite contains=muttrcRXString2 nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL |
| 350 | syntax keyword muttrcColor contained black blue cyan default green magenta red white yellow |
| 351 | syntax keyword muttrcColor contained brightblack brightblue brightcyan brightdefault brightgreen brightmagenta brightred brightwhite brightyellow |
| 352 | syntax match muttrcColor contained "\<\%(bright\)\=color\d\{1,3}\>" |
| 353 | " Now for the structure of the color line |
| 354 | syntax match muttrcColorRXNL contained skipnl "\s*\\$" nextgroup=muttrcColorRXPat,muttrcColorRXNL |
| 355 | syntax match muttrcColorBG contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorRXPat,muttrcColorRXNL |
| 356 | syntax match muttrcColorBGNL contained skipnl "\s*\\$" nextgroup=muttrcColorBG,muttrcColorBGNL |
| 357 | syntax match muttrcColorFG contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBG,muttrcColorBGNL |
| 358 | syntax match muttrcColorFGNL contained skipnl "\s*\\$" nextgroup=muttrcColorFG,muttrcColorFGNL |
| 359 | syntax match muttrcColorContext contained /\s*[$]\?\w\+/ contains=muttrcColorField,muttrcVariable,muttrcUnHighlightSpace,muttrcColorCompose nextgroup=muttrcColorFG,muttrcColorFGNL |
| 360 | syntax match muttrcColorNL contained skipnl "\s*\\$" nextgroup=muttrcColorContext,muttrcColorNL,muttrcColorCompose |
| 361 | syntax match muttrcColorKeyword contained /^\s*color\s\+/ nextgroup=muttrcColorContext,muttrcColorNL,muttrcColorCompose |
| 362 | " And now color's brother: |
| 363 | syntax region muttrcUnColorPatterns contained skipwhite start=+\s*'+ end=+'+ skip=+\\'+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL |
| 364 | syntax region muttrcUnColorPatterns contained skipwhite start=+\s*"+ end=+"+ skip=+\\"+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL |
| 365 | syntax match muttrcUnColorPatterns contained skipwhite /\s*[^'"\s]\S\*/ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL |
| 366 | syntax match muttrcUnColorPatNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL |
| 367 | syntax match muttrcUnColorAll contained skipwhite /[*]/ |
| 368 | syntax match muttrcUnColorAPNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL |
| 369 | syntax match muttrcUnColorIndex contained skipwhite /\s*index\s\+/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL |
| 370 | syntax match muttrcUnColorIndexNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL |
| 371 | syntax match muttrcUnColorKeyword contained skipwhite /^\s*uncolor\s\+/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL |
| 372 | syntax region muttrcUnColorLine keepend start=+^\s*uncolor\s+ skip=+\\$+ end=+$+ contains=muttrcUnColorKeyword,muttrcComment,muttrcUnHighlightSpace |
| 373 | |
| 374 | syntax keyword muttrcMonoAttrib contained bold none normal reverse standout underline |
| 375 | syntax keyword muttrcMono contained mono skipwhite nextgroup=muttrcColorField,muttrcColorCompose |
| 376 | syntax match muttrcMonoLine "^\s*mono\s\+\S\+" skipwhite nextgroup=muttrcMonoAttrib contains=muttrcMono |
| 377 | |
| 378 | " List of fields in Fields in color.c |
| 379 | " UPDATE |
| 380 | syntax 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 |
| 388 | syntax match muttrcColorField contained "\<quoted\d\=\>" |
| 389 | |
| 390 | syntax match muttrcColorCompose skipwhite contained /\s*compose\s*/ nextgroup=muttrcColorComposeField |
| 391 | " List of fields in ComposeFields in color.c |
| 392 | " UPDATE |
| 393 | syntax keyword muttrcColorComposeField skipwhite contained |
| 394 | \ header security_encrypt security_sign security_both security_none |
| 395 | \ nextgroup=muttrcColorFG,muttrcColorFGNL |
| 396 | syntax region muttrcColorLine keepend start=/^\s*color\s\+/ skip=+\\$+ end=+$+ contains=muttrcColorKeyword,muttrcComment,muttrcUnHighlightSpace |
| 397 | |
| 398 | |
| 399 | function 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' |
| 415 | endfunction |
| 416 | |
| 417 | " List of DT_BOOL in MuttVars in init.h |
| 418 | " UPDATE |
| 419 | call 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 |
| 472 | call 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 |
| 481 | call 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 |
| 493 | call s:boolQuadGen('Quad', [ |
| 494 | \ 'mime_fwd', 'pgp_verify_sig' |
| 495 | \ ], 1) |
| 496 | |
| 497 | " List of DT_NUMBER in MuttVars in init.h |
| 498 | " UPDATE |
| 499 | syntax 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 |
| 517 | syntax match muttrcVarStr contained skipwhite 'my_[a-zA-Z0-9_]\+' nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 518 | syntax keyword muttrcVarStr contained skipwhite alias_format nextgroup=muttrcVarEqualsAliasFmt |
| 519 | syntax keyword muttrcVarStr contained skipwhite attach_format nextgroup=muttrcVarEqualsAttachFmt |
| 520 | syntax keyword muttrcVarStr contained skipwhite compose_format nextgroup=muttrcVarEqualsComposeFmt |
| 521 | syntax keyword muttrcVarStr contained skipwhite folder_format vfolder_format nextgroup=muttrcVarEqualsFolderFmt |
| 522 | syntax keyword muttrcVarStr contained skipwhite attribution index_format message_format pager_format nextgroup=muttrcVarEqualsIdxFmt |
| 523 | " Deprecated format |
| 524 | syntax keyword muttrcVarDeprecatedStr contained skipwhite hdr_format msg_format nextgroup=muttrcVarEqualsIdxFmt |
| 525 | syntax keyword muttrcVarStr contained skipwhite mix_entry_format nextgroup=muttrcVarEqualsMixFmt |
| 526 | syntax 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 |
| 532 | syntax keyword muttrcVarStr contained skipwhite pgp_entry_format nextgroup=muttrcVarEqualsPGPFmt |
| 533 | syntax keyword muttrcVarStr contained skipwhite pgp_getkeys_command nextgroup=muttrcVarEqualsPGPGetKeysFmt |
| 534 | syntax keyword muttrcVarStr contained skipwhite query_format nextgroup=muttrcVarEqualsQueryFmt |
| 535 | syntax 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 |
| 541 | syntax keyword muttrcVarStr contained skipwhite ts_icon_format ts_status_format status_format nextgroup=muttrcVarEqualsStatusFmt |
| 542 | " Deprecated format |
| 543 | syntax keyword muttrcVarDeprecatedStr contained skipwhite xterm_icon xterm_title nextgroup=muttrcVarEqualsStatusFmt |
| 544 | syntax keyword muttrcVarStr contained skipwhite date_format nextgroup=muttrcVarEqualsStrftimeFmt |
| 545 | syntax keyword muttrcVarStr contained skipwhite group_index_format nextgroup=muttrcVarEqualsGrpIdxFmt |
| 546 | syntax keyword muttrcVarStr contained skipwhite sidebar_format nextgroup=muttrcVarEqualsSdbFmt |
| 547 | syntax 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 |
| 566 | syntax 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 |
| 570 | syntax keyword muttrcVarStr contained skipwhite envelope_from_address from nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 571 | " List of DT_HCACHE |
| 572 | syntax keyword muttrcVarStr contained skipwhite header_cache_backend nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 573 | " List of DT_MAGIC |
| 574 | syntax keyword muttrcVarStr contained skipwhite mbox_type nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 575 | " List of DT_MBTABLE |
| 576 | syntax 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 |
| 578 | syntax 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 |
| 587 | syntax keyword muttrcVarDeprecatedStr contained skipwhite print_cmd nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 588 | " List of DT_REGEX |
| 589 | syntax 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 |
| 594 | syntax 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 |
| 601 | syntax keyword muttrcCommand skipwhite charset-hook nextgroup=muttrcRXString |
| 602 | syntax keyword muttrcCommand skipwhite unhook nextgroup=muttrcHooks |
| 603 | syntax keyword muttrcCommand skipwhite spam nextgroup=muttrcSpamPattern |
| 604 | syntax keyword muttrcCommand skipwhite nospam nextgroup=muttrcNoSpamPattern |
| 605 | syntax keyword muttrcCommand skipwhite bind nextgroup=muttrcBindMenuList,muttrcBindMenuListNL |
| 606 | syntax keyword muttrcCommand skipwhite macro nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL |
| 607 | syntax keyword muttrcCommand skipwhite alias nextgroup=muttrcAliasGroupDef,muttrcAliasKey,muttrcAliasNL |
| 608 | syntax keyword muttrcCommand skipwhite unalias nextgroup=muttrcUnAliasKey,muttrcUnAliasNL |
| 609 | syntax keyword muttrcCommand skipwhite set unset reset toggle nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr,muttrcVarDeprecatedBool,muttrcVarDeprecatedQuad,muttrcVarDeprecatedStr |
| 610 | syntax keyword muttrcCommand skipwhite exec nextgroup=muttrcFunction |
| 611 | syntax 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 |
| 621 | syntax match muttrcFunction contained "\<accept\>" |
| 622 | syntax match muttrcFunction contained "\<append\>" |
| 623 | syntax match muttrcFunction contained "\<attach-file\>" |
| 624 | syntax match muttrcFunction contained "\<attach-key\>" |
| 625 | syntax match muttrcFunction contained "\<accept\>" |
| 626 | syntax match muttrcFunction contained "\<append\>" |
| 627 | syntax match muttrcFunction contained "\<attach-file\>" |
| 628 | syntax match muttrcFunction contained "\<attach-key\>" |
| 629 | syntax match muttrcFunction contained "\<attach-message\>" |
| 630 | syntax match muttrcFunction contained "\<attach-news-message\>" |
| 631 | syntax match muttrcFunction contained "\<backspace\>" |
| 632 | syntax match muttrcFunction contained "\<backward-char\>" |
| 633 | syntax match muttrcFunction contained "\<backward-word\>" |
| 634 | syntax match muttrcFunction contained "\<bol\>" |
| 635 | syntax match muttrcFunction contained "\<bottom\>" |
| 636 | syntax match muttrcFunction contained "\<bottom-page\>" |
| 637 | syntax match muttrcFunction contained "\<bounce-message\>" |
| 638 | syntax match muttrcFunction contained "\<break-thread\>" |
| 639 | syntax match muttrcFunction contained "\<buffy-cycle\>" |
| 640 | syntax match muttrcFunction contained "\<buffy-list\>" |
| 641 | syntax match muttrcFunction contained "\<capitalize-word\>" |
| 642 | syntax match muttrcFunction contained "\<catchup\>" |
| 643 | syntax match muttrcFunction contained "\<chain-next\>" |
| 644 | syntax match muttrcFunction contained "\<chain-prev\>" |
| 645 | syntax match muttrcFunction contained "\<change-dir\>" |
| 646 | syntax match muttrcFunction contained "\<change-folder\>" |
| 647 | syntax match muttrcFunction contained "\<change-folder-readonly\>" |
| 648 | syntax match muttrcFunction contained "\<change-newsgroup\>" |
| 649 | syntax match muttrcFunction contained "\<change-newsgroup-readonly\>" |
| 650 | syntax match muttrcFunction contained "\<change-vfolder\>" |
| 651 | syntax match muttrcFunction contained "\<check-new\>" |
| 652 | syntax match muttrcFunction contained "\<check-traditional-pgp\>" |
| 653 | syntax match muttrcFunction contained "\<clear-flag\>" |
| 654 | syntax match muttrcFunction contained "\<collapse-all\>" |
| 655 | syntax match muttrcFunction contained "\<collapse-parts\>" |
| 656 | syntax match muttrcFunction contained "\<collapse-thread\>" |
| 657 | syntax match muttrcFunction contained "\<complete\>" |
| 658 | syntax match muttrcFunction contained "\<complete-query\>" |
| 659 | syntax match muttrcFunction contained "\<compose-to-sender\>" |
| 660 | syntax match muttrcFunction contained "\<copy-file\>" |
| 661 | syntax match muttrcFunction contained "\<copy-message\>" |
| 662 | syntax match muttrcFunction contained "\<create-alias\>" |
| 663 | syntax match muttrcFunction contained "\<create-mailbox\>" |
| 664 | syntax match muttrcFunction contained "\<current-bottom\>" |
| 665 | syntax match muttrcFunction contained "\<current-middle\>" |
| 666 | syntax match muttrcFunction contained "\<current-top\>" |
| 667 | syntax match muttrcFunction contained "\<decode-copy\>" |
| 668 | syntax match muttrcFunction contained "\<decode-save\>" |
| 669 | syntax match muttrcFunction contained "\<decrypt-copy\>" |
| 670 | syntax match muttrcFunction contained "\<decrypt-save\>" |
| 671 | syntax match muttrcFunction contained "\<delete\>" |
| 672 | syntax match muttrcFunction contained "\<delete-char\>" |
| 673 | syntax match muttrcFunction contained "\<delete-entry\>" |
| 674 | syntax match muttrcFunction contained "\<delete-mailbox\>" |
| 675 | syntax match muttrcFunction contained "\<delete-message\>" |
| 676 | syntax match muttrcFunction contained "\<delete-pattern\>" |
| 677 | syntax match muttrcFunction contained "\<delete-subthread\>" |
| 678 | syntax match muttrcFunction contained "\<delete-thread\>" |
| 679 | syntax match muttrcFunction contained "\<detach-file\>" |
| 680 | syntax match muttrcFunction contained "\<display-address\>" |
| 681 | syntax match muttrcFunction contained "\<display-filename\>" |
| 682 | syntax match muttrcFunction contained "\<display-message\>" |
| 683 | syntax match muttrcFunction contained "\<display-toggle-weed\>" |
| 684 | syntax match muttrcFunction contained "\<downcase-word\>" |
| 685 | syntax match muttrcFunction contained "\<edit\>" |
| 686 | syntax match muttrcFunction contained "\<edit-bcc\>" |
| 687 | syntax match muttrcFunction contained "\<edit-cc\>" |
| 688 | syntax match muttrcFunction contained "\<edit-description\>" |
| 689 | syntax match muttrcFunction contained "\<edit-encoding\>" |
| 690 | syntax match muttrcFunction contained "\<edit-fcc\>" |
| 691 | syntax match muttrcFunction contained "\<edit-file\>" |
| 692 | syntax match muttrcFunction contained "\<edit-followup-to\>" |
| 693 | syntax match muttrcFunction contained "\<edit-from\>" |
| 694 | syntax match muttrcFunction contained "\<edit-headers\>" |
| 695 | syntax match muttrcFunction contained "\<edit-label\>" |
| 696 | syntax match muttrcFunction contained "\<edit-message\>" |
| 697 | syntax match muttrcFunction contained "\<edit-mime\>" |
| 698 | syntax match muttrcFunction contained "\<edit-newsgroups\>" |
| 699 | syntax match muttrcFunction contained "\<edit-reply-to\>" |
| 700 | syntax match muttrcFunction contained "\<edit-subject\>" |
| 701 | syntax match muttrcFunction contained "\<edit-to\>" |
| 702 | syntax match muttrcFunction contained "\<edit-type\>" |
| 703 | syntax match muttrcFunction contained "\<edit-x-comment-to\>" |
| 704 | syntax match muttrcFunction contained "\<end-cond\>" |
| 705 | syntax match muttrcFunction contained "\<enter-command\>" |
| 706 | syntax match muttrcFunction contained "\<enter-mask\>" |
| 707 | syntax match muttrcFunction contained "\<entire-thread\>" |
| 708 | syntax match muttrcFunction contained "\<eol\>" |
| 709 | syntax match muttrcFunction contained "\<exit\>" |
| 710 | syntax match muttrcFunction contained "\<extract-keys\>" |
| 711 | syntax match muttrcFunction contained "\<fetch-mail\>" |
| 712 | syntax match muttrcFunction contained "\<filter-entry\>" |
| 713 | syntax match muttrcFunction contained "\<first-entry\>" |
| 714 | syntax match muttrcFunction contained "\<flag-message\>" |
| 715 | syntax match muttrcFunction contained "\<followup-message\>" |
| 716 | syntax match muttrcFunction contained "\<forget-passphrase\>" |
| 717 | syntax match muttrcFunction contained "\<forward-char\>" |
| 718 | syntax match muttrcFunction contained "\<forward-message\>" |
| 719 | syntax match muttrcFunction contained "\<forward-to-group\>" |
| 720 | syntax match muttrcFunction contained "\<forward-word\>" |
| 721 | syntax match muttrcFunction contained "\<get-attachment\>" |
| 722 | syntax match muttrcFunction contained "\<get-children\>" |
| 723 | syntax match muttrcFunction contained "\<get-message\>" |
| 724 | syntax match muttrcFunction contained "\<get-parent\>" |
| 725 | syntax match muttrcFunction contained "\<goto-folder\>" |
| 726 | syntax match muttrcFunction contained "\<group-reply\>" |
| 727 | syntax match muttrcFunction contained "\<half-down\>" |
| 728 | syntax match muttrcFunction contained "\<half-up\>" |
| 729 | syntax match muttrcFunction contained "\<help\>" |
| 730 | syntax match muttrcFunction contained "\<history-down\>" |
| 731 | syntax match muttrcFunction contained "\<history-up\>" |
| 732 | syntax match muttrcFunction contained "\<imap-fetch-mail\>" |
| 733 | syntax match muttrcFunction contained "\<imap-logout-all\>" |
| 734 | syntax match muttrcFunction contained "\<insert\>" |
| 735 | syntax match muttrcFunction contained "\<ispell\>" |
| 736 | syntax match muttrcFunction contained "\<jump\>" |
| 737 | syntax match muttrcFunction contained "\<kill-eol\>" |
| 738 | syntax match muttrcFunction contained "\<kill-eow\>" |
| 739 | syntax match muttrcFunction contained "\<kill-line\>" |
| 740 | syntax match muttrcFunction contained "\<kill-word\>" |
| 741 | syntax match muttrcFunction contained "\<last-entry\>" |
| 742 | syntax match muttrcFunction contained "\<limit\>" |
| 743 | syntax match muttrcFunction contained "\<limit-current-thread\>" |
| 744 | syntax match muttrcFunction contained "\<link-threads\>" |
| 745 | syntax match muttrcFunction contained "\<list-reply\>" |
| 746 | syntax match muttrcFunction contained "\<mail\>" |
| 747 | syntax match muttrcFunction contained "\<mail-key\>" |
| 748 | syntax match muttrcFunction contained "\<mark-as-new\>" |
| 749 | syntax match muttrcFunction contained "\<mark-message\>" |
| 750 | syntax match muttrcFunction contained "\<middle-page\>" |
| 751 | syntax match muttrcFunction contained "\<mix\>" |
| 752 | syntax match muttrcFunction contained "\<modify-labels\>" |
| 753 | syntax match muttrcFunction contained "\<modify-labels-then-hide\>" |
| 754 | syntax match muttrcFunction contained "\<new-mime\>" |
| 755 | syntax match muttrcFunction contained "\<next-entry\>" |
| 756 | syntax match muttrcFunction contained "\<next-line\>" |
| 757 | syntax match muttrcFunction contained "\<next-new\>" |
| 758 | syntax match muttrcFunction contained "\<next-new-then-unread\>" |
| 759 | syntax match muttrcFunction contained "\<next-page\>" |
| 760 | syntax match muttrcFunction contained "\<next-subthread\>" |
| 761 | syntax match muttrcFunction contained "\<next-thread\>" |
| 762 | syntax match muttrcFunction contained "\<next-undeleted\>" |
| 763 | syntax match muttrcFunction contained "\<next-unread\>" |
| 764 | syntax match muttrcFunction contained "\<next-unread-mailbox\>" |
| 765 | syntax match muttrcFunction contained "\<parent-message\>" |
| 766 | syntax match muttrcFunction contained "\<pgp-menu\>" |
| 767 | syntax match muttrcFunction contained "\<pipe-entry\>" |
| 768 | syntax match muttrcFunction contained "\<pipe-message\>" |
| 769 | syntax match muttrcFunction contained "\<post-message\>" |
| 770 | syntax match muttrcFunction contained "\<postpone-message\>" |
| 771 | syntax match muttrcFunction contained "\<previous-entry\>" |
| 772 | syntax match muttrcFunction contained "\<previous-line\>" |
| 773 | syntax match muttrcFunction contained "\<previous-new\>" |
| 774 | syntax match muttrcFunction contained "\<previous-new-then-unread\>" |
| 775 | syntax match muttrcFunction contained "\<previous-page\>" |
| 776 | syntax match muttrcFunction contained "\<previous-subthread\>" |
| 777 | syntax match muttrcFunction contained "\<previous-thread\>" |
| 778 | syntax match muttrcFunction contained "\<previous-undeleted\>" |
| 779 | syntax match muttrcFunction contained "\<previous-unread\>" |
| 780 | syntax match muttrcFunction contained "\<print-entry\>" |
| 781 | syntax match muttrcFunction contained "\<print-message\>" |
| 782 | syntax match muttrcFunction contained "\<purge-message\>" |
| 783 | syntax match muttrcFunction contained "\<purge-thread\>" |
| 784 | syntax match muttrcFunction contained "\<quasi-delete\>" |
| 785 | syntax match muttrcFunction contained "\<query\>" |
| 786 | syntax match muttrcFunction contained "\<query-append\>" |
| 787 | syntax match muttrcFunction contained "\<quit\>" |
| 788 | syntax match muttrcFunction contained "\<quote-char\>" |
| 789 | syntax match muttrcFunction contained "\<read-subthread\>" |
| 790 | syntax match muttrcFunction contained "\<read-thread\>" |
| 791 | syntax match muttrcFunction contained "\<recall-message\>" |
| 792 | syntax match muttrcFunction contained "\<reconstruct-thread\>" |
| 793 | syntax match muttrcFunction contained "\<redraw-screen\>" |
| 794 | syntax match muttrcFunction contained "\<refresh\>" |
| 795 | syntax match muttrcFunction contained "\<reload-active\>" |
| 796 | syntax match muttrcFunction contained "\<rename-attachment\>" |
| 797 | syntax match muttrcFunction contained "\<rename-file\>" |
| 798 | syntax match muttrcFunction contained "\<rename-mailbox\>" |
| 799 | syntax match muttrcFunction contained "\<reply\>" |
| 800 | syntax match muttrcFunction contained "\<resend-message\>" |
| 801 | syntax match muttrcFunction contained "\<root-message\>" |
| 802 | syntax match muttrcFunction contained "\<save-entry\>" |
| 803 | syntax match muttrcFunction contained "\<save-message\>" |
| 804 | syntax match muttrcFunction contained "\<search\>" |
| 805 | syntax match muttrcFunction contained "\<search-next\>" |
| 806 | syntax match muttrcFunction contained "\<search-opposite\>" |
| 807 | syntax match muttrcFunction contained "\<search-reverse\>" |
| 808 | syntax match muttrcFunction contained "\<search-toggle\>" |
| 809 | syntax match muttrcFunction contained "\<select-entry\>" |
| 810 | syntax match muttrcFunction contained "\<select-new\>" |
| 811 | syntax match muttrcFunction contained "\<send-message\>" |
| 812 | syntax match muttrcFunction contained "\<set-flag\>" |
| 813 | syntax match muttrcFunction contained "\<shell-escape\>" |
| 814 | syntax match muttrcFunction contained "\<show-limit\>" |
| 815 | syntax match muttrcFunction contained "\<show-version\>" |
| 816 | syntax match muttrcFunction contained "\<sidebar-next\>" |
| 817 | syntax match muttrcFunction contained "\<sidebar-next-new\>" |
| 818 | syntax match muttrcFunction contained "\<sidebar-open\>" |
| 819 | syntax match muttrcFunction contained "\<sidebar-page-down\>" |
| 820 | syntax match muttrcFunction contained "\<sidebar-page-up\>" |
| 821 | syntax match muttrcFunction contained "\<sidebar-prev\>" |
| 822 | syntax match muttrcFunction contained "\<sidebar-prev-new\>" |
| 823 | syntax match muttrcFunction contained "\<sidebar-toggle-virtual\>" |
| 824 | syntax match muttrcFunction contained "\<sidebar-toggle-visible\>" |
| 825 | syntax match muttrcFunction contained "\<skip-quoted\>" |
| 826 | syntax match muttrcFunction contained "\<smime-menu\>" |
| 827 | syntax match muttrcFunction contained "\<sort\>" |
| 828 | syntax match muttrcFunction contained "\<sort-mailbox\>" |
| 829 | syntax match muttrcFunction contained "\<sort-reverse\>" |
| 830 | syntax match muttrcFunction contained "\<subscribe\>" |
| 831 | syntax match muttrcFunction contained "\<subscribe-pattern\>" |
| 832 | syntax match muttrcFunction contained "\<sync-mailbox\>" |
| 833 | syntax match muttrcFunction contained "\<tag-entry\>" |
| 834 | syntax match muttrcFunction contained "\<tag-message\>" |
| 835 | syntax match muttrcFunction contained "\<tag-pattern\>" |
| 836 | syntax match muttrcFunction contained "\<tag-prefix\>" |
| 837 | syntax match muttrcFunction contained "\<tag-prefix-cond\>" |
| 838 | syntax match muttrcFunction contained "\<tag-subthread\>" |
| 839 | syntax match muttrcFunction contained "\<tag-thread\>" |
| 840 | syntax match muttrcFunction contained "\<toggle-disposition\>" |
| 841 | syntax match muttrcFunction contained "\<toggle-mailboxes\>" |
| 842 | syntax match muttrcFunction contained "\<toggle-new\>" |
| 843 | syntax match muttrcFunction contained "\<toggle-quoted\>" |
| 844 | syntax match muttrcFunction contained "\<toggle-read\>" |
| 845 | syntax match muttrcFunction contained "\<toggle-recode\>" |
| 846 | syntax match muttrcFunction contained "\<toggle-subscribed\>" |
| 847 | syntax match muttrcFunction contained "\<toggle-unlink\>" |
| 848 | syntax match muttrcFunction contained "\<toggle-write\>" |
| 849 | syntax match muttrcFunction contained "\<top\>" |
| 850 | syntax match muttrcFunction contained "\<top-page\>" |
| 851 | syntax match muttrcFunction contained "\<transpose-chars\>" |
| 852 | syntax match muttrcFunction contained "\<uncatchup\>" |
| 853 | syntax match muttrcFunction contained "\<undelete-entry\>" |
| 854 | syntax match muttrcFunction contained "\<undelete-message\>" |
| 855 | syntax match muttrcFunction contained "\<undelete-pattern\>" |
| 856 | syntax match muttrcFunction contained "\<undelete-subthread\>" |
| 857 | syntax match muttrcFunction contained "\<undelete-thread\>" |
| 858 | syntax match muttrcFunction contained "\<unsubscribe\>" |
| 859 | syntax match muttrcFunction contained "\<unsubscribe-pattern\>" |
| 860 | syntax match muttrcFunction contained "\<untag-pattern\>" |
| 861 | syntax match muttrcFunction contained "\<upcase-word\>" |
| 862 | syntax match muttrcFunction contained "\<update-encoding\>" |
| 863 | syntax match muttrcFunction contained "\<verify-key\>" |
| 864 | syntax match muttrcFunction contained "\<vfolder-from-query\>" |
| 865 | syntax match muttrcFunction contained "\<vfolder-window-backward\>" |
| 866 | syntax match muttrcFunction contained "\<vfolder-window-forward\>" |
| 867 | syntax match muttrcFunction contained "\<view-attach\>" |
| 868 | syntax match muttrcFunction contained "\<view-attachments\>" |
| 869 | syntax match muttrcFunction contained "\<view-file\>" |
| 870 | syntax match muttrcFunction contained "\<view-mailcap\>" |
| 871 | syntax match muttrcFunction contained "\<view-name\>" |
| 872 | syntax match muttrcFunction contained "\<view-text\>" |
| 873 | syntax match muttrcFunction contained "\<what-key\>" |
| 874 | syntax match muttrcFunction contained "\<write-fcc\>" |
| 875 | |
| 876 | |
| 877 | |
| 878 | " Define the default highlighting. |
| 879 | " Only when an item doesn't have highlighting yet |
| 880 | |
| 881 | highlight def link muttrcComment Comment |
| 882 | highlight def link muttrcEscape SpecialChar |
| 883 | highlight def link muttrcRXChars SpecialChar |
| 884 | highlight def link muttrcString String |
| 885 | highlight def link muttrcRXString String |
| 886 | highlight def link muttrcRXString2 String |
| 887 | highlight def link muttrcSpecial Special |
| 888 | highlight def link muttrcHooks Type |
| 889 | highlight def link muttrcGroupFlag Type |
| 890 | highlight def link muttrcGroupDef Macro |
| 891 | highlight def link muttrcAddrDef muttrcGroupFlag |
| 892 | highlight def link muttrcRXDef muttrcGroupFlag |
| 893 | highlight def link muttrcRXPat String |
| 894 | highlight def link muttrcAliasGroupName Macro |
| 895 | highlight def link muttrcAliasKey Identifier |
| 896 | highlight def link muttrcUnAliasKey Identifier |
| 897 | highlight def link muttrcAliasEncEmail Identifier |
| 898 | highlight def link muttrcAliasParens Type |
| 899 | highlight def link muttrcSetNumAssignment Number |
| 900 | highlight def link muttrcSetBoolAssignment Boolean |
| 901 | highlight def link muttrcSetQuadAssignment Boolean |
| 902 | highlight def link muttrcSetStrAssignment String |
| 903 | highlight def link muttrcEmail Special |
| 904 | highlight def link muttrcVariableInner Special |
| 905 | highlight def link muttrcEscapedVariable String |
| 906 | highlight def link muttrcHeader Type |
| 907 | highlight def link muttrcKeySpecial SpecialChar |
| 908 | highlight def link muttrcKey Type |
| 909 | highlight def link muttrcKeyName SpecialChar |
| 910 | highlight def link muttrcVarBool Identifier |
| 911 | highlight def link muttrcVarQuad Identifier |
| 912 | highlight def link muttrcVarNum Identifier |
| 913 | highlight def link muttrcVarStr Identifier |
| 914 | highlight def link muttrcMenu Identifier |
| 915 | highlight def link muttrcCommand Keyword |
| 916 | highlight def link muttrcMacroDescr String |
| 917 | highlight def link muttrcAction Macro |
| 918 | highlight def link muttrcBadAction Error |
| 919 | highlight def link muttrcBindFunction Error |
| 920 | highlight def link muttrcBindMenuList Error |
| 921 | highlight def link muttrcFunction Macro |
| 922 | highlight def link muttrcGroupKeyword muttrcCommand |
| 923 | highlight def link muttrcGroupLine Error |
| 924 | highlight def link muttrcSubscribeKeyword muttrcCommand |
| 925 | highlight def link muttrcSubscribeLine Error |
| 926 | highlight def link muttrcListsKeyword muttrcCommand |
| 927 | highlight def link muttrcListsLine Error |
| 928 | highlight def link muttrcAlternateKeyword muttrcCommand |
| 929 | highlight def link muttrcAlternatesLine Error |
| 930 | highlight def link muttrcAttachmentsLine muttrcCommand |
| 931 | highlight def link muttrcAttachmentsFlag Type |
| 932 | highlight def link muttrcAttachmentsMimeType String |
| 933 | highlight def link muttrcColorLine Error |
| 934 | highlight def link muttrcColorContext Error |
| 935 | highlight def link muttrcColorContextI Identifier |
| 936 | highlight def link muttrcColorContextH Identifier |
| 937 | highlight def link muttrcColorKeyword muttrcCommand |
| 938 | highlight def link muttrcColorField Identifier |
| 939 | highlight def link muttrcColorCompose Identifier |
| 940 | highlight def link muttrcColorComposeField Identifier |
| 941 | highlight def link muttrcColor Type |
| 942 | highlight def link muttrcColorFG Error |
| 943 | highlight def link muttrcColorFGI Error |
| 944 | highlight def link muttrcColorFGH Error |
| 945 | highlight def link muttrcColorBG Error |
| 946 | highlight def link muttrcColorBGI Error |
| 947 | highlight def link muttrcColorBGH Error |
| 948 | highlight def link muttrcMonoAttrib muttrcColor |
| 949 | highlight def link muttrcMono muttrcCommand |
| 950 | highlight def link muttrcSimplePat Identifier |
| 951 | highlight def link muttrcSimplePatString Macro |
| 952 | highlight def link muttrcSimplePatMetas Special |
| 953 | highlight def link muttrcPattern Error |
| 954 | highlight def link muttrcUnColorLine Error |
| 955 | highlight def link muttrcUnColorKeyword muttrcCommand |
| 956 | highlight def link muttrcUnColorIndex Identifier |
| 957 | highlight def link muttrcShellString muttrcEscape |
| 958 | highlight def link muttrcRXHooks muttrcCommand |
| 959 | highlight def link muttrcRXHookNot Type |
| 960 | highlight def link muttrcPatHooks muttrcCommand |
| 961 | highlight def link muttrcPatHookNot Type |
| 962 | highlight def link muttrcFormatConditionals2 Type |
| 963 | highlight def link muttrcIndexFormatStr muttrcString |
| 964 | highlight def link muttrcIndexFormatEscapes muttrcEscape |
| 965 | highlight def link muttrcIndexFormatConditionals muttrcFormatConditionals2 |
| 966 | highlight def link muttrcAliasFormatStr muttrcString |
| 967 | highlight def link muttrcAliasFormatEscapes muttrcEscape |
| 968 | highlight def link muttrcAttachFormatStr muttrcString |
| 969 | highlight def link muttrcAttachFormatEscapes muttrcEscape |
| 970 | highlight def link muttrcAttachFormatConditionals muttrcFormatConditionals2 |
| 971 | highlight def link muttrcComposeFormatStr muttrcString |
| 972 | highlight def link muttrcComposeFormatEscapes muttrcEscape |
| 973 | highlight def link muttrcFolderFormatStr muttrcString |
| 974 | highlight def link muttrcFolderFormatEscapes muttrcEscape |
| 975 | highlight def link muttrcFolderFormatConditionals muttrcFormatConditionals2 |
| 976 | highlight def link muttrcMixFormatStr muttrcString |
| 977 | highlight def link muttrcMixFormatEscapes muttrcEscape |
| 978 | highlight def link muttrcMixFormatConditionals muttrcFormatConditionals2 |
| 979 | highlight def link muttrcPGPFormatStr muttrcString |
| 980 | highlight def link muttrcPGPFormatEscapes muttrcEscape |
| 981 | highlight def link muttrcPGPFormatConditionals muttrcFormatConditionals2 |
| 982 | highlight def link muttrcPGPCmdFormatStr muttrcString |
| 983 | highlight def link muttrcPGPCmdFormatEscapes muttrcEscape |
| 984 | highlight def link muttrcPGPCmdFormatConditionals muttrcFormatConditionals2 |
| 985 | highlight def link muttrcStatusFormatStr muttrcString |
| 986 | highlight def link muttrcStatusFormatEscapes muttrcEscape |
| 987 | highlight def link muttrcStatusFormatConditionals muttrcFormatConditionals2 |
| 988 | highlight def link muttrcPGPGetKeysFormatStr muttrcString |
| 989 | highlight def link muttrcPGPGetKeysFormatEscapes muttrcEscape |
| 990 | highlight def link muttrcSmimeFormatStr muttrcString |
| 991 | highlight def link muttrcSmimeFormatEscapes muttrcEscape |
| 992 | highlight def link muttrcSmimeFormatConditionals muttrcFormatConditionals2 |
| 993 | highlight def link muttrcTimeEscapes muttrcEscape |
| 994 | highlight def link muttrcPGPTimeEscapes muttrcEscape |
| 995 | highlight def link muttrcStrftimeEscapes Type |
| 996 | highlight def link muttrcStrftimeFormatStr muttrcString |
| 997 | highlight def link muttrcFormatErrors Error |
| 998 | |
| 999 | highlight def link muttrcBindFunctionNL SpecialChar |
| 1000 | highlight def link muttrcBindKeyNL SpecialChar |
| 1001 | highlight def link muttrcBindMenuListNL SpecialChar |
| 1002 | highlight def link muttrcMacroDescrNL SpecialChar |
| 1003 | highlight def link muttrcMacroBodyNL SpecialChar |
| 1004 | highlight def link muttrcMacroKeyNL SpecialChar |
| 1005 | highlight def link muttrcMacroMenuListNL SpecialChar |
| 1006 | highlight def link muttrcColorMatchCountNL SpecialChar |
| 1007 | highlight def link muttrcColorNL SpecialChar |
| 1008 | highlight def link muttrcColorRXNL SpecialChar |
| 1009 | highlight def link muttrcColorBGNL SpecialChar |
| 1010 | highlight def link muttrcColorFGNL SpecialChar |
| 1011 | highlight def link muttrcAliasNameNL SpecialChar |
| 1012 | highlight def link muttrcAliasENNL SpecialChar |
| 1013 | highlight def link muttrcAliasNL SpecialChar |
| 1014 | highlight def link muttrcUnAliasNL SpecialChar |
| 1015 | highlight def link muttrcAliasGroupDefNL SpecialChar |
| 1016 | highlight def link muttrcAliasEncEmailNL SpecialChar |
| 1017 | highlight def link muttrcPatternNL SpecialChar |
| 1018 | highlight def link muttrcUnColorPatNL SpecialChar |
| 1019 | highlight def link muttrcUnColorAPNL SpecialChar |
| 1020 | highlight def link muttrcUnColorIndexNL SpecialChar |
| 1021 | highlight def link muttrcStringNL SpecialChar |
| 1022 | |
| 1023 | highlight def link muttrcVarDeprecatedBool Error |
| 1024 | highlight def link muttrcVarDeprecatedQuad Error |
| 1025 | highlight def link muttrcVarDeprecatedStr Error |
| 1026 | |
| 1027 | |
| 1028 | let b:current_syntax = "neomuttrc" |
| 1029 | |
| 1030 | let &cpo = s:cpo_save |
| 1031 | unlet s:cpo_save |
| 1032 | "EOF vim: ts=8 noet tw=100 sw=8 sts=0 ft=vim |