modsim3.vim 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. " Vim syntax file
  2. " Language: Modsim III, by compuware corporation (www.compuware.com)
  3. " Maintainer: Philipp Jocham <flip@sbox.tu-graz.ac.at>
  4. " Extension: *.mod
  5. " Last Change: 2001 May 10
  6. "
  7. " 2001 March 24:
  8. " - Modsim III is a registered trademark from compuware corporation
  9. " - made compatible with Vim 6.0
  10. "
  11. " 1999 Apr 22 : Changed modsim3Literal from region to match
  12. "
  13. " very basic things only (based on the modula2 and c files).
  14. " quit when a syntax file was already loaded
  15. if exists("b:current_syntax")
  16. finish
  17. endif
  18. " syn case match " case sensitiv match is default
  19. " A bunch of keywords
  20. syn keyword modsim3Keyword ACTID ALL AND AS ASK
  21. syn keyword modsim3Keyword BY CALL CASE CLASS CONST DIV
  22. syn keyword modsim3Keyword DOWNTO DURATION ELSE ELSIF EXIT FALSE FIXED FOR
  23. syn keyword modsim3Keyword FOREACH FORWARD IF IN INHERITED INOUT
  24. syn keyword modsim3Keyword INTERRUPT LOOP
  25. syn keyword modsim3Keyword MOD MONITOR NEWVALUE
  26. syn keyword modsim3Keyword NONMODSIM NOT OBJECT OF ON OR ORIGINAL OTHERWISE OUT
  27. syn keyword modsim3Keyword OVERRIDE PRIVATE PROTO REPEAT
  28. syn keyword modsim3Keyword RETURN REVERSED SELF STRERR TELL
  29. syn keyword modsim3Keyword TERMINATE THISMETHOD TO TRUE TYPE UNTIL VALUE VAR
  30. syn keyword modsim3Keyword WAIT WAITFOR WHEN WHILE WITH
  31. " Builtin functions and procedures
  32. syn keyword modsim3Builtin ABS ACTIVATE ADDMONITOR CAP CHARTOSTR CHR CLONE
  33. syn keyword modsim3Builtin DEACTIVATE DEC DISPOSE FLOAT GETMONITOR HIGH INC
  34. syn keyword modsim3Builtin INPUT INSERT INTTOSTR ISANCESTOR LOW LOWER MAX MAXOF
  35. syn keyword modsim3Builtin MIN MINOF NEW OBJTYPEID OBJTYPENAME OBJVARID ODD
  36. syn keyword modsim3Builtin ONERROR ONEXIT ORD OUTPUT POSITION PRINT REALTOSTR
  37. syn keyword modsim3Builtin REPLACE REMOVEMONITOR ROUND SCHAR SIZEOF SPRINT
  38. syn keyword modsim3Builtin STRLEN STRTOCHAR STRTOINT STRTOREAL SUBSTR TRUNC
  39. syn keyword modsim3Builtin UPDATEVALUE UPPER VAL
  40. syn keyword modsim3BuiltinNoParen HALT TRACE
  41. " Special keywords
  42. syn keyword modsim3Block PROCEDURE METHOD MODULE MAIN DEFINITION IMPLEMENTATION
  43. syn keyword modsim3Block BEGIN END
  44. syn keyword modsim3Include IMPORT FROM
  45. syn keyword modsim3Type ANYARRAY ANYOBJ ANYREC ARRAY BOOLEAN CHAR INTEGER
  46. syn keyword modsim3Type LMONITORED LRMONITORED NILARRAY NILOBJ NILREC REAL
  47. syn keyword modsim3Type RECORD RMONITOR RMONITORED STRING
  48. " catch errros cause by wrong parenthesis
  49. " slight problem with "( *)" or "(* )". Hints?
  50. syn region modsim3Paren transparent start='(' end=')' contains=ALLBUT,modsim3ParenError
  51. syn match modsim3ParenError ")"
  52. " Comments
  53. syn region modsim3Comment1 start="{" end="}" contains=modsim3Comment1,modsim3Comment2
  54. syn region modsim3Comment2 start="(\*" end="\*)" contains=modsim3Comment1,modsim3Comment2
  55. " highlighting is wrong for constructs like "{ (* } *)",
  56. " which are allowed in Modsim III, but
  57. " I think something like that shouldn't be used anyway.
  58. " Strings
  59. syn region modsim3String start=+"+ end=+"+
  60. " Literals
  61. "syn region modsim3Literal start=+'+ end=+'+
  62. syn match modsim3Literal "'[^']'\|''''"
  63. " Define the default highlighting.
  64. " Only when an item doesn't have highlighting yet
  65. " The default methods for highlighting. Can be overridden later
  66. hi def link modsim3Keyword Statement
  67. hi def link modsim3Block Statement
  68. hi def link modsim3Comment1 Comment
  69. hi def link modsim3Comment2 Comment
  70. hi def link modsim3String String
  71. hi def link modsim3Literal Character
  72. hi def link modsim3Include Statement
  73. hi def link modsim3Type Type
  74. hi def link modsim3ParenError Error
  75. hi def link modsim3Builtin Function
  76. hi def link modsim3BuiltinNoParen Function
  77. let b:current_syntax = "modsim3"
  78. " vim: ts=8 sw=2