1" Vim syntax file 2" Language: sendmail 3" Maintainer: Dr. Charles E. Campbell, Jr. <[email protected]> 4" Last Change: Sep 06, 2005 5" Version: 4 6" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax 7 8" For version 5.x: Clear all syntax items 9" For version 6.x: Quit when a syntax file was already loaded 10if version < 600 11 syntax clear 12elseif exists("b:current_syntax") 13 finish 14endif 15 16" Comments 17syn match smComment "^#.*$" contains=@Spell 18 19" Definitions, Classes, Files, Options, Precedence, Trusted Users, Mailers 20syn match smDefine "^[CDF]." 21syn match smDefine "^O[AaBcdDeFfgHiLmNoQqrSsTtuvxXyYzZ]" 22syn match smDefine "^O\s"he=e-1 23syn match smDefine "^M[a-zA-Z0-9]\+,"he=e-1 24syn match smDefine "^T" nextgroup=smTrusted 25syn match smDefine "^P" nextgroup=smMesg 26syn match smTrusted "\S\+$" contained 27syn match smMesg "\S*="he=e-1 contained nextgroup=smPrecedence 28syn match smPrecedence "-\=[0-9]\+" contained 29 30" Header Format H?list-of-mailer-flags?name: format 31syn match smHeaderSep contained "[?:]" 32syn match smHeader "^H\(?[a-zA-Z]\+?\)\=[-a-zA-Z_]\+:" contains=smHeaderSep 33 34" Variables 35syn match smVar "\$[a-z\.\|]" 36 37" Rulesets 38syn match smRuleset "^S\d*" 39 40" Rewriting Rules 41syn match smRewrite "^R" skipwhite nextgroup=smRewriteLhsToken,smRewriteLhsUser 42 43syn match smRewriteLhsUser contained "[^\t$]\+" skipwhite nextgroup=smRewriteLhsToken,smRewriteLhsSep 44syn match smRewriteLhsToken contained "\(\$[-*+]\|\$[-=][A-Za-z]\|\$Y\)\+" skipwhite nextgroup=smRewriteLhsUser,smRewriteLhsSep 45 46syn match smRewriteLhsSep contained "\t\+" skipwhite nextgroup=smRewriteRhsToken,smRewriteRhsUser 47 48syn match smRewriteRhsUser contained "[^\t$]\+" skipwhite nextgroup=smRewriteRhsToken,smRewriteRhsSep 49syn match smRewriteRhsToken contained "\(\$\d\|\$>\d\|\$#\|\$@\|\$:[-_a-zA-Z]\+\|\$[[\]]\|\$@\|\$:\|\$[A-Za-z]\)\+" skipwhite nextgroup=smRewriteRhsUser,smRewriteRhsSep 50 51syn match smRewriteRhsSep contained "\t\+" skipwhite nextgroup=smRewriteComment,smRewriteRhsSep 52syn match smRewriteRhsSep contained "$" 53 54syn match smRewriteComment contained "[^\t$]*$" 55 56" Clauses 57syn match smClauseError "\$\." 58syn match smElse contained "\$|" 59syn match smClauseCont contained "^\t" 60syn region smClause matchgroup=Delimiter start="\$?." matchgroup=Delimiter end="\$\." contains=smElse,smClause,smVar,smClauseCont 61 62" Define the default highlighting. 63" For version 5.7 and earlier: only when not done already 64" For version 5.8 and later: only when an item doesn't have highlighting yet 65if version >= 508 || !exists("did_smil_syntax_inits") 66 if version < 508 67 let did_smil_syntax_inits = 1 68 command -nargs=+ HiLink hi link <args> 69 else 70 command -nargs=+ HiLink hi def link <args> 71 endif 72 73 HiLink smClause Special 74 HiLink smClauseError Error 75 HiLink smComment Comment 76 HiLink smDefine Statement 77 HiLink smElse Delimiter 78 HiLink smHeader Statement 79 HiLink smHeaderSep String 80 HiLink smMesg Special 81 HiLink smPrecedence Number 82 HiLink smRewrite Statement 83 HiLink smRewriteComment Comment 84 HiLink smRewriteLhsToken String 85 HiLink smRewriteLhsUser Statement 86 HiLink smRewriteRhsToken String 87 HiLink smRuleset Preproc 88 HiLink smTrusted Special 89 HiLink smVar String 90 91 delcommand HiLink 92endif 93 94let b:current_syntax = "sm" 95 96" vim: ts=18 97