Mercurial > vim
diff runtime/syntax/modula3.vim @ 7:3fc0f57ecb91 v7.0001
updated for version 7.0001
author | vimboss |
---|---|
date | Sun, 13 Jun 2004 20:20:40 +0000 |
parents | |
children | 43efa4f5a8ea |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/runtime/syntax/modula3.vim @@ -0,0 +1,72 @@ +" Vim syntax file +" Language: Modula-3 +" Maintainer: Timo Pedersen <dat97tpe@ludat.lth.se> +" Last Change: 2001 May 10 + +" Basic things only... +" Based on the modula 2 syntax file + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" Modula-3 is case-sensitive +" syn case ignore + +" Modula-3 keywords +syn keyword modula3Keyword ABS ADDRES ADR ADRSIZE AND ANY +syn keyword modula3Keyword ARRAY AS BITS BITSIZE BOOLEAN BRANDED BY BYTESIZE +syn keyword modula3Keyword CARDINAL CASE CEILING CHAR CONST DEC DEFINITION +syn keyword modula3Keyword DISPOSE DIV +syn keyword modula3Keyword EVAL EXIT EXCEPT EXCEPTION +syn keyword modula3Keyword EXIT EXPORTS EXTENDED FALSE FINALLY FIRST FLOAT +syn keyword modula3Keyword FLOOR FROM GENERIC IMPORT +syn keyword modula3Keyword IN INC INTEGER ISTYPE LAST LOCK +syn keyword modula3Keyword LONGREAL LOOPHOLE MAX METHOD MIN MOD MUTEX +syn keyword modula3Keyword NARROW NEW NIL NOT NULL NUMBER OF OR ORD RAISE +syn keyword modula3Keyword RAISES READONLY REAL RECORD REF REFANY +syn keyword modula3Keyword RETURN ROOT +syn keyword modula3Keyword ROUND SET SUBARRAY TEXT TRUE TRUNC TRY TYPE +syn keyword modula3Keyword TYPECASE TYPECODE UNSAFE UNTRACED VAL VALUE VAR WITH + +" Special keywords, block delimiters etc +syn keyword modula3Block PROCEDURE FUNCTION MODULE INTERFACE REPEAT THEN +syn keyword modula3Block BEGIN END OBJECT METHODS OVERRIDES RECORD REVEAL +syn keyword modula3Block WHILE UNTIL DO TO IF FOR ELSIF ELSE LOOP + +" Comments +syn region modula3Comment start="(\*" end="\*)" + +" Strings +syn region modula3String start=+"+ end=+"+ +syn region modula3String start=+'+ end=+'+ + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_modula3_syntax_inits") + if version < 508 + let did_modula3_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + " The default methods for highlighting. Can be overridden later + HiLink modula3Keyword Statement + HiLink modula3Block PreProc + HiLink modula3Comment Comment + HiLink modula3String String + + delcommand HiLink +endif + +let b:current_syntax = "modula3" + +"I prefer to use this... +"set ai +"vim: ts=8