sm.vim (2946B)
1 " Vim syntax file 2 " Language: sendmail 3 " Maintainer: This runtime file is looking for a new maintainer. 4 " Former Maintainer: Charles E. Campbell 5 " Last Change: Oct 25, 2016 6 " 2024 Feb 19 by Vim Project (announce adoption) 7 " Version: 9 8 " Former URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SM 9 if exists("b:current_syntax") 10 finish 11 endif 12 13 " Comments 14 syn match smComment "^#.*$" contains=@Spell 15 16 " Definitions, Classes, Files, Options, Precedence, Trusted Users, Mailers 17 syn match smDefine "^[CDF]." 18 syn match smDefine "^O[AaBcdDeFfgHiLmNoQqrSsTtuvxXyYzZ]" 19 syn match smDefine "^O\s"he=e-1 20 syn match smDefine "^M[a-zA-Z0-9]\+,"he=e-1 21 syn match smDefine "^T" nextgroup=smTrusted 22 syn match smDefine "^P" nextgroup=smMesg 23 syn match smTrusted "\S\+$" contained 24 syn match smMesg "\S*="he=e-1 contained nextgroup=smPrecedence 25 syn match smPrecedence "-\=[0-9]\+" contained 26 27 " Header Format H?list-of-mailer-flags?name: format 28 syn match smHeaderSep contained "[?:]" 29 syn match smHeader "^H\(?[a-zA-Z]\+?\)\=[-a-zA-Z_]\+:" contains=smHeaderSep 30 31 " Variables 32 syn match smVar "\$[a-z\.\|]" 33 34 " Rulesets 35 syn match smRuleset "^S\d*" 36 37 " Rewriting Rules 38 syn match smRewrite "^R" skipwhite nextgroup=smRewriteLhsToken,smRewriteLhsUser 39 40 syn match smRewriteLhsUser contained "[^\t$]\+" skipwhite nextgroup=smRewriteLhsToken,smRewriteLhsSep 41 syn match smRewriteLhsToken contained "\(\$[-*+]\|\$[-=][A-Za-z]\|\$Y\)\+" skipwhite nextgroup=smRewriteLhsUser,smRewriteLhsSep 42 43 syn match smRewriteLhsSep contained "\t\+" skipwhite nextgroup=smRewriteRhsToken,smRewriteRhsUser 44 45 syn match smRewriteRhsUser contained "[^\t$]\+" skipwhite nextgroup=smRewriteRhsToken,smRewriteRhsSep 46 syn match smRewriteRhsToken contained "\(\$\d\|\$>\d\|\$#\|\$@\|\$:[-_a-zA-Z]\+\|\$[[\]]\|\$@\|\$:\|\$[A-Za-z]\)\+" skipwhite nextgroup=smRewriteRhsUser,smRewriteRhsSep 47 48 syn match smRewriteRhsSep contained "\t\+" skipwhite nextgroup=smRewriteComment,smRewriteRhsSep 49 syn match smRewriteRhsSep contained "$" 50 51 syn match smRewriteComment contained "[^\t$]*$" 52 53 " Clauses 54 syn match smClauseError "\$\." 55 syn match smElse contained "\$|" 56 syn match smClauseCont contained "^\t" 57 syn region smClause matchgroup=Delimiter start="\$?." matchgroup=Delimiter end="\$\." contains=smElse,smClause,smVar,smClauseCont 58 59 " Define the default highlighting. 60 " Only when an item doesn't have highlighting yet 61 62 hi def link smClause Special 63 hi def link smClauseError Error 64 hi def link smComment Comment 65 hi def link smDefine Statement 66 hi def link smElse Delimiter 67 hi def link smHeader Statement 68 hi def link smHeaderSep String 69 hi def link smMesg Special 70 hi def link smPrecedence Number 71 hi def link smRewrite Statement 72 hi def link smRewriteComment Comment 73 hi def link smRewriteLhsToken String 74 hi def link smRewriteLhsUser Statement 75 hi def link smRewriteRhsToken String 76 hi def link smRuleset Preproc 77 hi def link smTrusted Special 78 hi def link smVar String 79 80 let b:current_syntax = "sm" 81 82 " vim: ts=18