neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

modsim3.vim (3623B)


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