1" Vim syntax file 2" Language: Modula-3 3" Maintainer: Timo Pedersen <[email protected]> 4" Last Change: 2001 May 10 5 6" Basic things only... 7" Based on the modula 2 syntax file 8 9" quit when a syntax file was already loaded 10if exists("b:current_syntax") 11 finish 12endif 13 14" Modula-3 is case-sensitive 15" syn case ignore 16 17" Modula-3 keywords 18syn keyword modula3Keyword ABS ADDRES ADR ADRSIZE AND ANY 19syn keyword modula3Keyword ARRAY AS BITS BITSIZE BOOLEAN BRANDED BY BYTESIZE 20syn keyword modula3Keyword CARDINAL CASE CEILING CHAR CONST DEC DEFINITION 21syn keyword modula3Keyword DISPOSE DIV 22syn keyword modula3Keyword EVAL EXIT EXCEPT EXCEPTION 23syn keyword modula3Keyword EXIT EXPORTS EXTENDED FALSE FINALLY FIRST FLOAT 24syn keyword modula3Keyword FLOOR FROM GENERIC IMPORT 25syn keyword modula3Keyword IN INC INTEGER ISTYPE LAST LOCK 26syn keyword modula3Keyword LONGREAL LOOPHOLE MAX METHOD MIN MOD MUTEX 27syn keyword modula3Keyword NARROW NEW NIL NOT NULL NUMBER OF OR ORD RAISE 28syn keyword modula3Keyword RAISES READONLY REAL RECORD REF REFANY 29syn keyword modula3Keyword RETURN ROOT 30syn keyword modula3Keyword ROUND SET SUBARRAY TEXT TRUE TRUNC TRY TYPE 31syn keyword modula3Keyword TYPECASE TYPECODE UNSAFE UNTRACED VAL VALUE VAR WITH 32 33" Special keywords, block delimiters etc 34syn keyword modula3Block PROCEDURE FUNCTION MODULE INTERFACE REPEAT THEN 35syn keyword modula3Block BEGIN END OBJECT METHODS OVERRIDES RECORD REVEAL 36syn keyword modula3Block WHILE UNTIL DO TO IF FOR ELSIF ELSE LOOP 37 38" Comments 39syn region modula3Comment start="(\*" end="\*)" 40 41" Strings 42syn region modula3String start=+"+ end=+"+ 43syn region modula3String start=+'+ end=+'+ 44 45" Define the default highlighting. 46" Only when an item doesn't have highlighting yet 47command -nargs=+ HiLink hi def link <args> 48 49" The default methods for highlighting. Can be overridden later 50HiLink modula3Keyword Statement 51HiLink modula3Block PreProc 52HiLink modula3Comment Comment 53HiLink modula3String String 54 55delcommand HiLink 56 57let b:current_syntax = "modula3" 58 59"I prefer to use this... 60"set ai 61"vim: ts=8 62