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 / unix / vim-6.2.tar.bz2 / vim-6.2.tar / vim62 / runtime / syntax / mma.vim < prev    next >
Encoding:
Text File  |  2003-05-11  |  1.8 KB  |  64 lines

  1. " Vim syntax file
  2. " Language:     Mathematica
  3. " Maintainer:   Wolfgang Waltenberger <wwalten@ben.tuwien.ac.at>
  4. " Last Change:  Thu 26 Apr 2001 13:20:03 CEST
  5.  
  6. if version < 600
  7.     syntax clear
  8. elseif exists("b:current_syntax")
  9.     finish
  10. endif
  11.  
  12. syn match mmaError "\*)"
  13. syn match mmaFixme "FIXME"
  14. syn region mmaComment start=+(\*+ end=+\*)+ skipempty contains=mmaFixme
  15. syn match mmaMessage "\a*::\a*"
  16. syn region mmaString start=+'+    end=+'+
  17. syn region mmaString start=+"+    end=+"+
  18. syn region mmaString start=+\\\"+ end=+\"+
  19. syn region mmaString start=+\"+   end=+\"+
  20.  
  21. syn match mmaVariable "$\a*"
  22.  
  23. syn match mmaPattern "[A-Za-z01-9`]*_\{1,3}"
  24. syn match mmaPattern "[A-Za-z01-9`]*_\{1,3}\(Integer\|Real\|Pattern\|Symbol\)"
  25. syn match mmaPattern "[A-Za-z01-9`]*_\{1,3}\(Rational\|Complex\|Head\)"
  26. syn match mmaPattern "[A-Za-z01-9`]*_\{1,3}?[A-Za-z01-9`]*"
  27.  
  28. " prefix/infix/postfix notations
  29. syn match mmaGenericFunction "[A-Za-z01-9`]*\s*\(\[\|@\)"he=e-1
  30. syn match mmaGenericFunction "[A-Za-z01-9`]*\s*\(/@\|@@\)"he=e-2
  31. syn match mmaGenericFunction "\~\s*[A-Za-z01-9`]*\s*\~"hs=s+1,he=e-1
  32. syn match mmaGenericFunction "//\s*[A-Za-z01-9`]*"hs=s+2
  33. syn match mmaOperator "/;"
  34.  
  35. syn match mmaPureFunction "#\d*"
  36. syn match mmaPureFunction "&"
  37.  
  38. syn match mmaUnicode "\\\[[a-zA-Z01-9]*\]"
  39.  
  40. if version >= 508 || !exists("did_mma_syn_inits")
  41.     if version < 508
  42.         let did_mma_syn_inits = 1
  43.         command -nargs=+ HiLink hi link <args>
  44.     else
  45.         command -nargs=+ HiLink hi def link <args>
  46.     endif
  47.  
  48.     HiLink mmaOperator       Operator
  49.     HiLink mmaVariable       Identifier
  50.     HiLink mmaString       String
  51.     HiLink mmaUnicode       String
  52.     HiLink mmaMessage       Identifier
  53.     HiLink mmaPattern       Identifier
  54.     HiLink mmaGenericFunction  Function
  55.     HiLink mmaError           Error
  56.     HiLink mmaFixme           Error
  57.     HiLink mmaComment       Comment
  58.     HiLink mmaPureFunction       Operator
  59.  
  60.     delcommand HiLink
  61. endif
  62.  
  63. let b:current_syntax = "mma"
  64.