1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: sendmail 3*1d9215b9SBram Moolenaar" Maintainer: Charles E. Campbell <[email protected]> 46d5ad4c4SBram Moolenaar" Last Change: Oct 25, 2016 5*1d9215b9SBram Moolenaar" Version: 9 6e2719096SBram Moolenaar" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SM 79da7ff70SBram Moolenaarif exists("b:current_syntax") 8071d4279SBram Moolenaar finish 9071d4279SBram Moolenaarendif 10071d4279SBram Moolenaar 11071d4279SBram Moolenaar" Comments 12071d4279SBram Moolenaarsyn match smComment "^#.*$" contains=@Spell 13071d4279SBram Moolenaar 14071d4279SBram Moolenaar" Definitions, Classes, Files, Options, Precedence, Trusted Users, Mailers 15071d4279SBram Moolenaarsyn match smDefine "^[CDF]." 16071d4279SBram Moolenaarsyn match smDefine "^O[AaBcdDeFfgHiLmNoQqrSsTtuvxXyYzZ]" 17071d4279SBram Moolenaarsyn match smDefine "^O\s"he=e-1 18071d4279SBram Moolenaarsyn match smDefine "^M[a-zA-Z0-9]\+,"he=e-1 19071d4279SBram Moolenaarsyn match smDefine "^T" nextgroup=smTrusted 20071d4279SBram Moolenaarsyn match smDefine "^P" nextgroup=smMesg 21071d4279SBram Moolenaarsyn match smTrusted "\S\+$" contained 22071d4279SBram Moolenaarsyn match smMesg "\S*="he=e-1 contained nextgroup=smPrecedence 23071d4279SBram Moolenaarsyn match smPrecedence "-\=[0-9]\+" contained 24071d4279SBram Moolenaar 25071d4279SBram Moolenaar" Header Format H?list-of-mailer-flags?name: format 26071d4279SBram Moolenaarsyn match smHeaderSep contained "[?:]" 27071d4279SBram Moolenaarsyn match smHeader "^H\(?[a-zA-Z]\+?\)\=[-a-zA-Z_]\+:" contains=smHeaderSep 28071d4279SBram Moolenaar 29071d4279SBram Moolenaar" Variables 30071d4279SBram Moolenaarsyn match smVar "\$[a-z\.\|]" 31071d4279SBram Moolenaar 32071d4279SBram Moolenaar" Rulesets 33071d4279SBram Moolenaarsyn match smRuleset "^S\d*" 34071d4279SBram Moolenaar 35071d4279SBram Moolenaar" Rewriting Rules 36071d4279SBram Moolenaarsyn match smRewrite "^R" skipwhite nextgroup=smRewriteLhsToken,smRewriteLhsUser 37071d4279SBram Moolenaar 38071d4279SBram Moolenaarsyn match smRewriteLhsUser contained "[^\t$]\+" skipwhite nextgroup=smRewriteLhsToken,smRewriteLhsSep 39071d4279SBram Moolenaarsyn match smRewriteLhsToken contained "\(\$[-*+]\|\$[-=][A-Za-z]\|\$Y\)\+" skipwhite nextgroup=smRewriteLhsUser,smRewriteLhsSep 40071d4279SBram Moolenaar 41071d4279SBram Moolenaarsyn match smRewriteLhsSep contained "\t\+" skipwhite nextgroup=smRewriteRhsToken,smRewriteRhsUser 42071d4279SBram Moolenaar 43071d4279SBram Moolenaarsyn match smRewriteRhsUser contained "[^\t$]\+" skipwhite nextgroup=smRewriteRhsToken,smRewriteRhsSep 44071d4279SBram Moolenaarsyn match smRewriteRhsToken contained "\(\$\d\|\$>\d\|\$#\|\$@\|\$:[-_a-zA-Z]\+\|\$[[\]]\|\$@\|\$:\|\$[A-Za-z]\)\+" skipwhite nextgroup=smRewriteRhsUser,smRewriteRhsSep 45071d4279SBram Moolenaar 46071d4279SBram Moolenaarsyn match smRewriteRhsSep contained "\t\+" skipwhite nextgroup=smRewriteComment,smRewriteRhsSep 47071d4279SBram Moolenaarsyn match smRewriteRhsSep contained "$" 48071d4279SBram Moolenaar 49071d4279SBram Moolenaarsyn match smRewriteComment contained "[^\t$]*$" 50071d4279SBram Moolenaar 51071d4279SBram Moolenaar" Clauses 52071d4279SBram Moolenaarsyn match smClauseError "\$\." 53071d4279SBram Moolenaarsyn match smElse contained "\$|" 54071d4279SBram Moolenaarsyn match smClauseCont contained "^\t" 55071d4279SBram Moolenaarsyn region smClause matchgroup=Delimiter start="\$?." matchgroup=Delimiter end="\$\." contains=smElse,smClause,smVar,smClauseCont 56071d4279SBram Moolenaar 57071d4279SBram Moolenaar" Define the default highlighting. 5889bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 59071d4279SBram Moolenaar 60f37506f6SBram Moolenaarhi def link smClause Special 61f37506f6SBram Moolenaarhi def link smClauseError Error 62f37506f6SBram Moolenaarhi def link smComment Comment 63f37506f6SBram Moolenaarhi def link smDefine Statement 64f37506f6SBram Moolenaarhi def link smElse Delimiter 65f37506f6SBram Moolenaarhi def link smHeader Statement 66f37506f6SBram Moolenaarhi def link smHeaderSep String 67f37506f6SBram Moolenaarhi def link smMesg Special 68f37506f6SBram Moolenaarhi def link smPrecedence Number 69f37506f6SBram Moolenaarhi def link smRewrite Statement 70f37506f6SBram Moolenaarhi def link smRewriteComment Comment 71f37506f6SBram Moolenaarhi def link smRewriteLhsToken String 72f37506f6SBram Moolenaarhi def link smRewriteLhsUser Statement 73f37506f6SBram Moolenaarhi def link smRewriteRhsToken String 74f37506f6SBram Moolenaarhi def link smRuleset Preproc 75f37506f6SBram Moolenaarhi def link smTrusted Special 76f37506f6SBram Moolenaarhi def link smVar String 77071d4279SBram Moolenaar 78071d4279SBram Moolenaarlet b:current_syntax = "sm" 79071d4279SBram Moolenaar 80071d4279SBram Moolenaar" vim: ts=18 81