home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / mac / vim55rt.sit / runtime / syntax / sm.vim < prev    next >
Encoding:
Text File  |  1999-09-25  |  2.5 KB  |  75 lines  |  [TEXT/VIM!]

  1. " Vim syntax file
  2. " Language   : sendmail
  3. " Maintainer : Dr. Charles E. Campbell, Jr. <Charles.Campbell@gsfc.nasa.gov>
  4. " Last Change: June 29, 1999
  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    "^O\s"he=e-1
  19. syn match smDefine    "^M[a-zA-Z0-9]\+,"he=e-1
  20.  
  21. " Header Format  H?list-of-mailer-flags?name: format
  22. syn match smHeaderSep contained "[?:]"
  23. syn match smHeader    "^H\(?[a-zA-Z]\+?\)\=[-a-zA-Z_]\+:" contains=smHeaderSep
  24.  
  25. " Variables
  26. syn match smVar        "\$[a-z\.\|]"
  27.  
  28. " Rulesets
  29. syn match smRuleset    "^S\d*"
  30.  
  31. " Rewriting Rules
  32. syn match smRewrite    "^R"            skipwhite skipnl nextgroup=smRewriteLhsToken,smRewriteLhsUser
  33.  
  34. syn match smRewriteLhsUser    contained "[^\t$]\+"        skipwhite skipnl nextgroup=smRewriteLhsToken,smRewriteLhsSep
  35. syn match smRewriteLhsToken    contained "\(\$[-*+]\|\$[-=][A-Za-z]\)\+"    skipwhite skipnl nextgroup=smRewriteLhsUser,smRewriteLhsSep
  36.  
  37. syn match smRewriteLhsSep    contained "\t\+"            skipwhite skipnl nextgroup=smRewriteRhsToken,smRewriteRhsUser
  38.  
  39. syn match smRewriteRhsUser    contained "[^\t$]\+"        skipwhite skipnl nextgroup=smRewriteRhsToken,smRewriteRhsSep
  40. syn match smRewriteRhsToken    contained "\(\$\d\|\$>\d\|\$#\|\$@\|\$:[-_a-zA-Z]\+\|\$[[\]]\|\$@\|\$:\|\$[A-Za-z]\)\+" skipwhite skipnl nextgroup=smRewriteRhsUser,smRewriteRhsSep
  41.  
  42. syn match smRewriteRhsSep    contained "\t\+"            skipwhite skipnl nextgroup=smRewriteComment,smRewriteRhsSep
  43. syn match smRewriteRhsSep    contained "$"
  44.  
  45. syn match smRewriteComment    contained "[^\t$]*$"
  46.  
  47. " Clauses
  48. syn match smClauseError        "\$\."
  49. syn match smElse        contained    "\$|"
  50. syn match smClauseCont    contained    "^\t"
  51. syn region smClause    matchgroup=Delimiter start="\$?." matchgroup=Delimiter end="\$\." contains=smElse,smClause,smVar,smClauseCont
  52.  
  53. if !exists("did_sm_syntax_inits")
  54.   let did_sm_syntax_inits = 1
  55.   " The default methods for highlighting.  Can be overridden later
  56.   hi link smClause    Special
  57.   hi link smClauseError    Error
  58.   hi link smComment    Comment
  59.   hi link smDefine    Statement
  60.   hi link smElse        Delimiter
  61.   hi link smHeader    Statement
  62.   hi link smHeaderSep    String
  63.   hi link smRewrite    Statement
  64.   hi link smRewriteComment    Comment
  65.   hi link smRewriteLhsToken    String
  66.   hi link smRewriteLhsUser    Statement
  67.   hi link smRewriteRhsToken    String
  68.   hi link smRuleset    Statement
  69.   hi link smVar        String
  70.   endif
  71.  
  72. let b:current_syntax = "sm"
  73.  
  74. " vim: ts=18
  75.