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 / rexx.vim < prev    next >
Encoding:
Text File  |  1999-09-25  |  2.0 KB  |  64 lines  |  [TEXT/VIM!]

  1. " Vim syntax file
  2. " Language:    Rexx
  3. " Maintainer:    Thomas Geulig <geulig@nentec.de>
  4. " Last change:    1999 Jul 27
  5.  
  6. " Remove any old syntax stuff hanging around
  7. syn clear
  8.  
  9. syn case ignore
  10.  
  11. " A bunch of useful Rexx keywords
  12. syn keyword rexxKeyword address arg begin break by call do drop echo else end
  13. syn keyword rexxKeyword exit forever function if interpret iterate leave nop
  14. syn keyword rexxKeyword module numeric off on options otherwise parse procedure
  15. syn keyword rexxKeyword pull push queue return say select shell signal then to
  16. syn keyword rexxKeyword trace until upper value var when while with
  17.  
  18. syn keyword rexxTodo contained    TODO FIXME XXX
  19.  
  20. " String constants
  21. syn region rexxString        start=+"+ skip=+\\\\\|\\"+ end=+"+
  22. syn region rexxString        start=+'+ skip=+\\\\\|\\"+ end=+'+
  23. syn match rexxCharacter        "'[^\\]'"
  24.  
  25. "catch errors caused by wrong parenthesis
  26. syn region rexxParen        transparent start='(' end=')' contains=ALLBUT,rexxParenError,rexxTodo,rexxUserLabel
  27. syn match rexxParenError    ")"
  28. syn match rexxInParen contained    "[{}]"
  29.  
  30. " Comments
  31. syn region rexxComment        start="/\*" end="\*/" contains=rexxTodo
  32. syn match rexxCommentError    "\*/"
  33.  
  34. " Highlight User Labels
  35. syn region rexxMulti    transparent start='?' end=':' contains=ALLBUT,rexxTodo,rexxUserLabel
  36. syn match rexxUserLabel    "\s*\I\i*\s*:$"
  37. syn match rexxUserLabel    ";\s*\I\i*\s*:$"ms=s+1
  38. syn match rexxUserLabel    "\s*\I\i*\s*:"me=e-1
  39. syn match rexxUserLabel    ";\s*\I\i*\s*:"ms=s+1,me=e-1
  40.  
  41. if !exists("rexx_minlines")
  42.   let rexx_minlines = 10
  43. endif
  44. exec "syn sync ccomment rexxComment minlines=" . rexx_minlines
  45.  
  46. if !exists("did_rexx_syntax_inits")
  47.   let did_rexx_syntax_inits = 1
  48.   " The default methods for highlighting.  Can be overridden later
  49.   hi link rexxUserLabel        Label
  50.   hi link rexxCharacter        Character
  51.   hi link rexxParenError    rexxError
  52.   hi link rexxInParen        rexxError
  53.   hi link rexxCommentError    rexxError
  54.   hi link rexxError        Error
  55.   hi link rexxKeyword        Statement
  56.   hi link rexxString        String
  57.   hi link rexxComment        Comment
  58.   hi link rexxTodo        Todo
  59. endif
  60.  
  61. let b:current_syntax = "rexx"
  62.  
  63. " vim: ts=8
  64.