Update runtime files.
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
" Language: Mail file
|
||||
" Previous Maintainer: Felix von Leitner <leitner@math.fu-berlin.de>
|
||||
" Maintainer: Gautam Iyer <gi1242@users.sourceforge.net>
|
||||
" Last Change: Thu 17 Jan 2008 11:25:44 AM PST
|
||||
" Last Change: Thu 06 Nov 2008 10:10:55 PM PST
|
||||
|
||||
" Quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@ -24,28 +24,35 @@ syn case match
|
||||
" emails
|
||||
" According to RFC 2822 any printable ASCII character can appear in a field
|
||||
" name, except ':'.
|
||||
syn region mailHeader contains=@mailHeaderFields,@NoSpell start="^From .*\d\d\d\d$" skip="^\s" end="\v^[!-9;-~]*([^!-~]|$)"me=s-1
|
||||
syn region mailHeader contains=@mailHeaderFields,@NoSpell start="^From .*\d\d\d\d$" skip="^\s" end="\v^[!-9;-~]*([^!-~]|$)"me=s-1 fold
|
||||
syn match mailHeaderKey contained contains=mailEmail,@NoSpell "^From\s.*\d\d\d\d$"
|
||||
|
||||
" Nothing else depends on case.
|
||||
syn case ignore
|
||||
|
||||
" Headers in properly quoted (with "> " or ">") emails are matched
|
||||
syn region mailHeader keepend contains=@mailHeaderFields,@mailQuoteExps,@NoSpell start="^\z(\(> \?\)*\)\v(newsgroups|x-([a-z\-])*|path|xref|message-id|from|((in-)?reply-)?to|b?cc|subject|return-path|received|date|replied):" skip="^\z1\s" end="\v^\z1[!-9;-~]*([^!-~]|$)"me=s-1 end="\v^\z1@!"me=s-1 end="\v^\z1(\> ?)+"me=s-1 fold
|
||||
|
||||
" Usenet headers
|
||||
syn match mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@NoSpell "\v(^(\> ?)*)@<=(Newsgroups|Followup-To|Message-ID|Supersedes|Control):.*$"
|
||||
|
||||
syn case ignore
|
||||
" Nothing else depends on case. Headers in properly quoted (with "> " or ">")
|
||||
" emails are matched
|
||||
syn region mailHeader keepend contains=@mailHeaderFields,@mailQuoteExps,@NoSpell start="^\z(\(> \?\)*\)\v(newsgroups|x-([a-z\-])*|path|xref|message-id|from|((in-)?reply-)?to|b?cc|subject|return-path|received|date|replied):" skip="^\z1\s" end="\v^\z1[!-9;-~]*([^!-~]|$)"me=s-1 end="\v^\z1@!"me=s-1 end="\v^\z1(\> ?)+"me=s-1
|
||||
|
||||
syn region mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@mailQuoteExps,@NoSpell start="\v(^(\> ?)*)@<=(to|b?cc):" skip=",$" end="$"
|
||||
syn match mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@NoSpell "\v(^(\> ?)*)@<=(from|reply-to):.*$"
|
||||
syn match mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@NoSpell "\v(^(\> ?)*)@<=(from|reply-to):.*$" fold
|
||||
syn match mailHeaderKey contained contains=@NoSpell "\v(^(\> ?)*)@<=date:"
|
||||
syn match mailSubject contained "\v^subject:.*$"
|
||||
syn match mailSubject contained "\v^subject:.*$" fold
|
||||
syn match mailSubject contained contains=@NoSpell "\v(^(\> ?)+)@<=subject:.*$"
|
||||
|
||||
" Anything in the header between < and > is an email address
|
||||
syn match mailHeaderEmail contained contains=@NoSpell "<.\{-}>"
|
||||
|
||||
" Mail Signatures. (Begin with "-- ", end with change in quote level)
|
||||
syn region mailSignature keepend contains=@mailLinks,@mailQuoteExps start="^--\s$" end="^$" end="^\(> \?\)\+"me=s-1
|
||||
syn region mailSignature keepend contains=@mailLinks,@mailQuoteExps,@NoSpell start="^\z(\(> \?\)\+\)--\s$" end="^\z1$" end="^\z1\@!"me=s-1 end="^\z1\(> \?\)\+"me=s-1
|
||||
syn region mailSignature keepend contains=@mailLinks,@mailQuoteExps start="^--\s$" end="^$" end="^\(> \?\)\+"me=s-1 fold
|
||||
syn region mailSignature keepend contains=@mailLinks,@mailQuoteExps,@NoSpell start="^\z(\(> \?\)\+\)--\s$" end="^\z1$" end="^\z1\@!"me=s-1 end="^\z1\(> \?\)\+"me=s-1 fold
|
||||
|
||||
" Treat verbatim Text special.
|
||||
syn region mailVerbatim contains=@NoSpell keepend start="^#v+$" end="^#v-$" fold
|
||||
syn region mailVerbatim contains=@mailQuoteExps,@NoSpell start="^\z(\(> \?\)\+\)#v+$" end="\z1#v-$" fold
|
||||
|
||||
" URLs start with a known protocol or www,web,w3.
|
||||
syn match mailURL contains=@NoSpell `\v<(((https?|ftp|gopher)://|(mailto|file|news):)[^' <>"]+|(www|web|w3)[a-z0-9_-]*\.[a-z0-9._-]+\.[^' <>"]+)[a-z0-9/]`
|
||||
@ -59,13 +66,13 @@ syn match mailQuoteExp4 contained "\v^(\> ?){4}"
|
||||
syn match mailQuoteExp5 contained "\v^(\> ?){5}"
|
||||
syn match mailQuoteExp6 contained "\v^(\> ?){6}"
|
||||
|
||||
" Even and odd quoted lines. order is imporant here!
|
||||
syn match mailQuoted1 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\([a-z]\+>\|[]|}>]\).*$"
|
||||
syn match mailQuoted2 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{2}.*$"
|
||||
syn match mailQuoted3 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{3}.*$"
|
||||
syn match mailQuoted4 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{4}.*$"
|
||||
syn match mailQuoted5 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{5}.*$"
|
||||
syn match mailQuoted6 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{6}.*$"
|
||||
" Even and odd quoted lines. Order is important here!
|
||||
syn region mailQuoted6 keepend contains=mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z(\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{5}\([a-z]\+>\|[]|}>]\)\)" end="^\z1\@!" fold
|
||||
syn region mailQuoted5 keepend contains=mailQuoted6,mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z(\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{4}\([a-z]\+>\|[]|}>]\)\)" end="^\z1\@!" fold
|
||||
syn region mailQuoted4 keepend contains=mailQuoted5,mailQuoted6,mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z(\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{3}\([a-z]\+>\|[]|}>]\)\)" end="^\z1\@!" fold
|
||||
syn region mailQuoted3 keepend contains=mailQuoted4,mailQuoted5,mailQuoted6,mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z(\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{2}\([a-z]\+>\|[]|}>]\)\)" end="^\z1\@!" fold
|
||||
syn region mailQuoted2 keepend contains=mailQuoted3,mailQuoted4,mailQuoted5,mailQuoted6,mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z(\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{1}\([a-z]\+>\|[]|}>]\)\)" end="^\z1\@!" fold
|
||||
syn region mailQuoted1 keepend contains=mailQuoted2,mailQuoted3,mailQuoted4,mailQuoted5,mailQuoted6,mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z([a-z]\+>\|[]|}>]\)" end="^\z1\@!" fold
|
||||
|
||||
" Need to sync on the header. Assume we can do that within 100 lines
|
||||
if exists("mail_minlines")
|
||||
@ -75,6 +82,7 @@ else
|
||||
endif
|
||||
|
||||
" Define the default highlighting.
|
||||
hi def link mailVerbatim Special
|
||||
hi def link mailHeader Statement
|
||||
hi def link mailHeaderKey Type
|
||||
hi def link mailSignature PreProc
|
||||
|
||||
Reference in New Issue
Block a user