home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 February / OpenLinux 2.3 CD.iso / live / usr / share / vim / syntax / sm.vim < prev    next >
Encoding:
Text File  |  1999-08-10  |  2.3 KB  |  72 lines

  1. " Vim syntax file
  2. " Language   : sendmail
  3. " Maintainer : Dr. Charles E. Campbell, Jr. <Charles.Campbell@gsfc.nasa.gov>
  4. " Last change: September 29, 1997
  5.  
  6. " Remove any old syntax stuff hanging around
  7. syn clear
  8.  
  9. " Comments
  10. syn match smComment    "^#.*$"
  11.  
  12. " Operators
  13. syn match smOper    "$"
  14.  
  15. " Definitions, Classes, Files, Options, Precedence, Trusted Users, Mailers
  16. syn match smDefine    "^[CDFPT]."
  17. syn match smDefine    "^O[AaBcdDeFfgHiLmNoQqrSsTtuvxXyYzZ]"
  18. syn match smDefine    "^M[a-zA-Z]\+,"he=e-1
  19.  
  20. " Header Format  H?list-of-mailer-flags?name: format
  21. syn match smHeaderSep contained "[?:]"
  22. syn match smHeader    "^H\(?[a-zA-Z]\+?\)\=[-a-zA-Z_]\+:" contains=smHeaderSep
  23.  
  24. " Variables
  25. syn match smVar        "\$[a-z]"
  26.  
  27. " Rulesets
  28. syn match smRuleset    "^S\d*"
  29.  
  30. " Rewriting Rules
  31. syn match smRewrite    "^R"            nextgroup=smRewriteLhsToken,smRewriteLhsUser
  32.  
  33. syn match smRewriteLhsUser    contained "[^\t$]\+"        nextgroup=smRewriteLhsToken,smRewriteLhsSep
  34. syn match smRewriteLhsToken    contained "\(\$[-*+]\|\$[-=][A-Za-z]\)\+"    nextgroup=smRewriteLhsUser,smRewriteLhsSep
  35.  
  36. syn match smRewriteLhsSep    contained "\t\+"            nextgroup=smRewriteRhsToken,smRewriteRhsUser
  37.  
  38. syn match smRewriteRhsUser    contained "[^\t$]\+"        nextgroup=smRewriteRhsToken,smRewriteRhsSep
  39. syn match smRewriteRhsToken    contained "\(\$\d\|\$>\d\|\$#\|\$@\|\$:[-_a-zA-Z]\+\|\$[[\]]\|\$@\|\$:\|\$[A-Za-z]\)\+" nextgroup=smRewriteRhsUser,smRewriteRhsSep
  40.  
  41. syn match smRewriteRhsSep    contained "\t\+"            nextgroup=smRewriteComment,smRewriteRhsSep
  42. syn match smRewriteRhsSep    contained "$"
  43.  
  44. syn match smRewriteComment    contained "[^\t$]*$"
  45.  
  46. " Clauses
  47. syn match smClauseError    "\$|\|\$\."
  48. syn match smElse    transparent contained    "\$|"
  49. syn region smClause    oneline    start="\$?." end="\$\." contains=smElse,smClause,smVar
  50.  
  51. if !exists("did_sm_syntax_inits")
  52.   let did_sm_syntax_inits = 1
  53.   " The default methods for highlighting.  Can be overridden later
  54.   hi link smClause    Special
  55.   hi link smClauseError    Error
  56.   hi link smComment    Comment
  57.   hi link smDefine    Statement
  58.   hi link smHeader    Statement
  59.   hi link smHeaderSep    String
  60.   hi link smRewrite    Statement
  61.   hi link smRewriteComment    Comment
  62.   hi link smRewriteLhsToken    String
  63.   hi link smRewriteLhsUser    Statement
  64.   hi link smRewriteRhsToken    String
  65.   hi link smRuleset    Statement
  66.   hi link smVar        String
  67.   endif
  68.  
  69. let b:current_syntax = "sm"
  70.  
  71. " vim: ts=18
  72.